WCF与异步服务和异步客户端签订合同

时间:2011-09-16 14:01:13

标签: wcf asynchronous

问: WCF异步服务调用和异步客户端调用之间的客户端有什么区别吗?

现在我的合约看起来像这样

[ServiceContract]
public interface IFoo
{        
    [OperationContract(AsyncPattern = true)]
    IAsyncResult BeginGetFoo();

    [OperationContract]
    FooResult EndGetFoo(IAsyncResult asyncResult);  

    ...
}

我正在考虑将它重构为类似的东西(稍后从WPF客户端稍后异步调用它)。

[ServiceContract]
public interface IFoo
{        
    [OperationContract]
    FooResult GetFoo(); 

    ...
}

原因是我想简化客户的服务合同。

1 个答案:

答案 0 :(得分:1)

基本上没有区别(如果写得正确 - 请注意下面更正的签名:Begin操作需要采用AsyncCallbackobject参数,并且End操作不能用{修饰} {1}})。如果您想自己处理线程,请随意将其声明为同步操作;如果你想让WCF处理它,那么请使用异步模式。但是客户端发送到服务器的请求在两种情况下都是相同的。

[OperationContract]