分类:
.NET
WCF添加
步骤
新建项目——>C#——>WCF服务应用程序
-writ 在.svc后缀文件下
public string GetData(int value) { return string.Format("You entered: {0}", value); } //—————————————————————————————————————— public int sum(int a,int b) { //延迟执行 System.Threading.Thread.Sleep(5000); return a + b; }
配置 在.cs后缀文件下
[OperationContract] string GetData(int value); [OperationContract] int sum(int a, int b); [OperationContract]
- 应用
1)新建另外一个项目
2)右键引用——>添加服务引用——>输入地址且确定WCF文件名
//声明wcf对象 WCF.Service1Client service1 = new WCF.Service1Client(); //执行wcf事件 int sun = service1.sum(a, b); MessageBox.Show(sun + "");
异步调用:防止调用时项目出现卡顿
异步方法1:线程
// 创建一个线程 Thread thread = new Thread(() => { //声明wcf对象 WCF.Service1Client service1 = new WCF.Service1Client(); //执行wcf事件 int sun = service1.sum(a, b); MessageBox.Show(sun + ""); }); //开启线程 thread.Start();
异步方法2:异步操作关键字:async,await
private async void wcfShowAsync(int a, int b) { WCF.Service1Client service1 = new WCF.Service1Client(); int r = await service1.sumAsync(a,b); MessageBox.Show(r + ""); } //事件内调用方法 wcfShowAsync(a,b);
异步方法3:生成异步操作
1)右键所引用的WCF文件
2)单击配置服务引用
3)勾选生成异步操作
WCF.Service1Client service1 = new WCF.Service1Client(); //service1.sum(a, b); service1.sumAsync(a, b); //绑定一个回调函数 service1.sumCompleted += Service1_sumCompleted; //+=后按两次TOP键——>生成如下方法 //接口执行完毕执行 private void Service1_sumCompleted(object sender, WCF.sumCompletedEventArgs e) { //数据存储于参数:e 中 MessageBox.Show(e.Result+""); }
评价
排名
6
文章
6
粉丝
16
评论
8
{{item.articleTitle}}
{{item.blogName}} : {{item.content}}
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2024TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术