Всем привет!
Необходимо реализовать выгрузку файлов на сервер. Первое что пришло на ум
это использовать 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
};
Подскажите в какую сторону смотреть...