Silverlight-4 + WCF-4 + Stream
От: andrw  
Дата: 16.09.10 12:48
Оценка:
Всем привет!
Необходимо реализовать выгрузку файлов на сервер. Первое что пришло на ум
это использовать Stream в DataContract для передачи двоичных данных, но с ходу как-то не пошло.
Серевер пишет в эксепшине NotFount, что он этим хочет сказать ? я не догоняю.

Вот так описан контракт службы:


[ServiceContract]
   // [ServiceKnownType(typeof(ReturnResult))]
    public interface IMailService
    {
        [OperationContract]
        string CreateSession();

        [OperationContract]
        ReturnResult CloseSession(string guid);

        [OperationContract]
        void UploadFile(RemoteFileInfo request);

        [OperationContract]
        ReturnResult SendMessage(String From, String To, String Subject, String Body);

        [OperationContract]
        ReturnResult SendMessageWithAttachments(String From, String To, String Subject, String Body, String guid);

        [OperationContract]
        string GetErrors(string guid);

        [OperationContract]
        ReturnResult TestEnum(int key);

        [OperationContract]
        ReturnResult UploadFileForSilverlight(UploadFileInfo upFile);
    }

    [DataContract]
    public class UploadFileInfo
    {
        [DataMember]
        public string FileName;

        [DataMember]
        public string FileGuid;

        [DataMember]
        public byte[] File;
    }

    [MessageContract]
    public class RemoteFileInfo : IDisposable
    {
        [MessageHeader]
        public string FileName;

        [MessageHeader]
        public long Length;

        [MessageHeader]
        public string FileGuid;

        [MessageBodyMember()]
        public Stream FileByteStream; //<------- Этот поток я хотел передать на сервер

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

    [DataContract]
    public enum ReturnResult
    {
        [EnumMember]
        Success,
        [EnumMember]
        Fail
    };


Подскажите в какую сторону смотреть...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.