Я немного зелен, когда дело доходит до потоковой передачи и сериализации ... но я хочу сделать так, чтобы метод Upload на сервере возвращал сериализуемый объект клиенту (сейчас он недействителен).
У меня есть открытый класс ServiceResult, который я украшаю с помощью [Serializable], и открытый класс FileTransferService, который реализует IFileTransferService
[ServiceContract()]
public interface IFileTransferService
{
[OperationContract(IsOneWay = false)]
string Upload(FileTransferRequest request);
}
Реализация делает свое дело, а затем в конце я создаю и сериализую объект и пытаюсь вернуть строку
return ServiceResultSerializer.SerializeAnObject(result);
На стороне клиента я вызываю эту услугу, используя этот класс
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
[System.ServiceModel.ServiceContractAttribute(ConfigurationName = "IFileTransferService")]
public interface IFileTransferService
{
// CODEGEN: Generating message contract since the wrapper name (FileTransferRequest) of message FileTransferRequest does not match the default value (Upload)
[System.ServiceModel.OperationContractAttribute(IsOneWay = false, Action = "http://tempuri.org/IFileTransferService/Upload")]
string Upload(FileTransferRequest request);
}
Я в основном беру этот проект, найденный в этом блоге: http://weblogs.asp.net/cibrax/archive/2007/08/29/sending-attachments-with-wcf.aspx
И попытка заставить его вернуть значение, которое клиентский клиент может использовать
Прямо сейчас я получаю сообщение об ошибке:
Операция «Загрузка» не может быть загружена, так как она имеет параметр или тип возврата типа System.ServiceModel.Channels.Message или тип, имеющий MessageContractAttribute и другие параметры различных типов. При использовании System.ServiceModel.Channels.Message или типов с MessageContractAttribute метод не должен использовать какие-либо другие типы параметров.
Что я понятия не имею, что это значит: P Я думаю, потому что я пытаюсь изменить параметры службы.
Извините, если я слишком общий - любая помощь будет принята с благодарностью.