问: WCF异步服务调用和异步客户端调用之间的客户端有什么区别吗?
现在我的合约看起来像这样
[ServiceContract]
public interface IFoo
{
[OperationContract(AsyncPattern = true)]
IAsyncResult BeginGetFoo();
[OperationContract]
FooResult EndGetFoo(IAsyncResult asyncResult);
...
}
我正在考虑将它重构为类似的东西(稍后从WPF客户端稍后异步调用它)。
[ServiceContract]
public interface IFoo
{
[OperationContract]
FooResult GetFoo();
...
}
原因是我想简化客户的服务合同。
答案 0 :(得分:1)
基本上没有区别(如果写得正确 - 请注意下面更正的签名:Begin操作需要采用AsyncCallback
和object
参数,并且End操作不能用{修饰} {1}})。如果您想自己处理线程,请随意将其声明为同步操作;如果你想让WCF处理它,那么请使用异步模式。但是客户端发送到服务器的请求在两种情况下都是相同的。
[OperationContract]