我想知道,如果有可能返回任何内容,当我使用流媒体通过WCF发送数据时?我使用netTcpBinding,客户端和服务器都在同一个本地网络中。
这是我的代码:
[ServiceContract()]
public interface IFileTransferService
{
[OperationContract(IsOneWay = true)]
//[FaultContract(typeof(MyFaultException))] // I can't do that
void Upload(FileTransferRequest request);
}
[MessageContract()]
public class FileTransferRequest
{
[MessageHeader(MustUnderstand = true)]
public string FileName;
[MessageBodyMember(Order = 1)]
public System.IO.Stream Data;
}
[DataContract]
public class MyFaultException
{
private string _reason;
[DataMember]
public string Reason
{
get { return _reason; }
set { _reason = value; }
}
}
所以,当使用Message Contract时,事务必须是单向的,我不能返回任何值,我不能抛出异常。我如何通知客户,该操作是否成功?并向他发送错误消息,例如?
答案 0 :(得分:4)
因此,在使用消息合约时,交易必须是单向的,我 不能返回任何值,我不能抛出异常。
您在哪里找到此类信息?您当然可以返回一个值 - 您可以返回void
或其他消息合同。你的意思是“交易”吗?