Silverlight не нравится мой WCF MessageContract. Зачем?

Я пытаюсь загрузить файл через клиент Silverlight, используя следующее:MessageContract

[MessageContract]
public class CategoryClientFileTransferMC : IDisposable
{
    /// 
    /// CategoryID - Category identity.
    /// 
    [MessageHeader(MustUnderstand = true)]
    public int CategoryID;

    /// 
    /// ID - File identifier.
    /// 
    [MessageHeader(MustUnderstand = true)]
    public string ID;

    /// 
    /// Length - File length in bytes.
    /// 
    [MessageHeader(MustUnderstand = true)]
    public long Length;

    /// 
    /// FileByteStream - File stream.
    /// 
    [MessageBodyMember(Order = 1)]
    public Stream FileByteStream;

    /// 
    /// Dispose the contract.
    /// 
    public void Dispose()
    {
        if (FileByteStream != null)
        {
            FileByteStream.Close();
            FileByteStream = null;
        }
    }
}

Моя проблема в том, что сгенерированный метод операции на клиенте принимает только один аргумент; байтовый массив называетсяFileByteStream, У других (не Silverlight) клиентов ясозданный он проситMemberHeader поля также. Без указания этих заголовков сервер не знает, что делать с файлом. Как я могу установить эти заголовки при вызове операции?

Кроме того, есть ли лучший способ загрузить файл из клиента Silverlight? Это была огромная головная боль.

Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос