异步调用Restful的WCF服务
上周在pedramr blog上看到有人问是否能够异步调用Restful的WCF服务,下面便是具体实现异步调用Restful的WCF实现细节。通过本文的学习,有助于如下知识的掌握:
- 如何设定WCF的Restful支持
- 如何异步调用Restful的WCF服务
第一步:创建一个解决方案:AsyCallRestfulWcf,该解决方案包含下面四个项目:
项目名称 |
备注 |
AsyCallRestfulWcf.Contracts |
WCF服务的契约项目,包含服务契约和数据契约的定义 |
AsyCallRestfulWcf.Service |
WCF服务的具体实现 |
AsyCallRestfulWcf.Host |
WCF服务的承载 |
AsyCallRestfulWcf.HttpClient |
用Http 的方式异步调用WCF服务客户端 |
第二步:在项目AsyCallRestfulWcf.Contracts中创建服务契约IService.cs和数据契约Person.cs
Person.cs
IService.cs
第三步:在项目AsyCallRestfulWcf.Service中创建服务实现类Service.cs
Service.cs
在服务方法中,用System.Threading.Thread.Sleep(5000);模拟一个比较耗时的操作
第四步 实现WCF服务的承载项目:AsyCallRestfulWcf.Host
添加一个应用程序配置文件app.config和代码文件Programe.cs
App.config
Programe.cs
在App.config中,要使WCF支持Restful,要使用的binding是webHttpBinding
第五步:实现异步调用的客户端:AsyCallRestfulWcf.HttpClient
添加windows窗体Form1.
后台代码为:
现在就可以调试浏览了,将解决方案设置成多启动的、
然后F5,出现下面的界面
和
表明运行正常
点击开始调用,等待几秒后,下面的文本框便出现文字
在开始调用之后,点击取消调用可以取消请求
国际惯例,项目代码:
出处:http://jillzhang.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。