上周在pedramr blog上看到有人问是否能够异步调用Restful的WCF服务,下面便是具体实现异步调用Restful的WCF实现细节。通过本文的学习,有助于如下知识的掌握:

  1. 如何设定WCF的Restful支持
  2. 如何异步调用Restful的WCF服务

第一步:创建一个解决方案:AsyCallRestfulWcf,该解决方案包含下面四个项目:

项目名称

备注

AsyCallRestfulWcf.Contracts

WCF服务的契约项目,包含服务契约和数据契约的定义

AsyCallRestfulWcf.Service

WCF服务的具体实现    

AsyCallRestfulWcf.Host

WCF服务的承载

AsyCallRestfulWcf.HttpClient

用Http 的方式异步调用WCF服务客户端

 异步调用Restful的WCF服务

第二步:在项目AsyCallRestfulWcf.Contracts中创建服务契约IService.cs和数据契约Person.cs

异步调用Restful的WCF服务

Person.cs

IService.cs 


第三步:在项目AsyCallRestfulWcf.Service中创建服务实现类Service.cs

异步调用Restful的WCF服务

Service.cs  

在服务方法中,用System.Threading.Thread.Sleep(5000);模拟一个比较耗时的操作  

第四步 实现WCF服务的承载项目:AsyCallRestfulWcf.Host

添加一个应用程序配置文件app.config和代码文件Programe.cs

异步调用Restful的WCF服务

App.config 

Programe.cs  

在App.config中,要使WCF支持Restful,要使用的binding是webHttpBinding

第五步:实现异步调用的客户端:AsyCallRestfulWcf.HttpClient

添加windows窗体Form1.

异步调用Restful的WCF服务

后台代码为:  

现在就可以调试浏览了,将解决方案设置成多启动的、  

异步调用Restful的WCF服务  

然后F5,出现下面的界面  

异步调用Restful的WCF服务

 和  

异步调用Restful的WCF服务

 表明运行正常  

点击开始调用,等待几秒后,下面的文本框便出现文字

异步调用Restful的WCF服务

在开始调用之后,点击取消调用可以取消请求  

国际惯例,项目代码:

相关文章:

  • 2021-09-21
  • 2022-01-09
  • 2021-07-04
  • 2021-06-21
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-11
  • 2022-03-06
  • 2021-06-09
相关资源
相似解决方案