この質問で起こっていることと同様に、MessageContract を WCF サービスに追加しようとしています: WCF: メッセージ コントラクトでのストリーミングの使用
ここに私が得る例外があります: System.ServiceModel.Channels.Message 型のパラメーターまたは戻り値の型、または MessageContractAttribute と異なる型の他のパラメーターを持つ型があるため、操作 'UploadFile' をロードできませんでした。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 で使用しているバインド構成は次のとおりです。
<netTcpBinding>
<binding name="TCPConfiguration" maxReceivedMessageSize="67108864" transferMode="Streamed">
<security mode="None" />
</binding>
</netTcpBinding>
現在、これは私が使用しているバインディングのタイプと関係があるのではないかと考えていますが、完全にはわかりません.