WCF异步操作详解:下篇深入探讨其在WCF中的具体应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1538个文字,预计阅读时间需要7分钟。
完成客户端的异步服务调用(参考WCF技术剖析之十一:异步操作在WCF中的应用(上)),接下来我们来谈谈服务端如何通过异步方式为服务提供实现。在定义服务契约时,相信大家都会‘相 信大家’。
说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现。在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern。该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操作的定义和实现原理。
一、异步操作的定义和实现原理
实现WCF异步服务操作模式在编程上具有一些限制:异步服务操作是通过两个配对的方法实现的,并且采用典型的异步操作命名方式:BeginXxx/EndXxx。两个方法需要采用如下的签名,指定了AsyncPattern属性的OperationContractAttribute只需要应用到BeginXxx方法上面。
1: [OperationContract(AsyncPattern = true)]
2: IAsyncResult BeginDoWork(parameters, AsyncCallback userCallback, object stateObject);
3: ReturnType EndDoWork(IAsyncResult asynResult);
比如下面两段代码可以看作相同的操作在同步和异步下的不同表现。
本文共计1538个文字,预计阅读时间需要7分钟。
完成客户端的异步服务调用(参考WCF技术剖析之十一:异步操作在WCF中的应用(上)),接下来我们来谈谈服务端如何通过异步方式为服务提供实现。在定义服务契约时,相信大家都会‘相 信大家’。
说完了客户端的异步服务调用(参阅WCF技术剖析之十一:异步操作在WCF中的应用(上篇)),我们在来谈谈服务端如何通过异步的方式为服务提供实现。在定义服务契约的时候,相信大家已经注意到了OperationContractAttribute特性具有一个bool类型的AsynPattern。该属性可以将一个服务操作定义成异步实现模式,接下来的内容主要是着眼于介绍异步操作的定义和实现原理。
一、异步操作的定义和实现原理
实现WCF异步服务操作模式在编程上具有一些限制:异步服务操作是通过两个配对的方法实现的,并且采用典型的异步操作命名方式:BeginXxx/EndXxx。两个方法需要采用如下的签名,指定了AsyncPattern属性的OperationContractAttribute只需要应用到BeginXxx方法上面。
1: [OperationContract(AsyncPattern = true)]
2: IAsyncResult BeginDoWork(parameters, AsyncCallback userCallback, object stateObject);
3: ReturnType EndDoWork(IAsyncResult asynResult);
比如下面两段代码可以看作相同的操作在同步和异步下的不同表现。

