Я пытаюсь добавить MessageContract в свою службу WCF, аналогично тому, что происходит в этом вопросе: WCF: использование потоковой передачи с контрактами сообщений
Вот исключение I получить: Не удалось загрузить операцию «UploadFile», поскольку у нее есть параметр или возвращаемый тип типа System.ServiceModel.Channels.Message или тип, который имеет MessageContractAttribute и другие параметры разных типов. При использовании System.ServiceModel.Channels.Message или типов с MessageContractAttribute метод не должен использовать какие-либо другие типы параметров.
Вот мои контракты:
[ServiceContract]
public interface IFile
{
[OperationContract]
bool UploadFile(FileUpload upload);
}
[MessageContract]
public class FileUpload
{
[MessageHeader(MustUnderstand = true)]
public int Username { get; set; }
[MessageHeader(MustUnderstand = true)]
public string Filename { get; set; }
[MessageBodyMember(Order = 1)]
public Stream ByteStream { get; set; }
}
А вот конфигурация привязки, которую я использую в моем app.config :
Сейчас я думаю, что это может иметь какое-то отношение к типу привязки, которую я использую, но я не совсем уверен.