异步调用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/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具