tnblog
首页
视频
资源
登录

WCF文件配置

5383人阅读 2021/11/25 17:28 总访问:54248 评论:0 收藏:0 手机
分类: .NET
  • WCF添加

 步骤

  1. 新建项目——>C#——>WCF服务应用程序

  • -writ 在.svc后缀文件下

  1.  public string GetData(int value)
  2.         {
  3.  return string.Format("You entered: {0}"value);
  4.         }
  5. //——————————————————————————————————————
  6. public int sum(int a,int b)
  7.         {
  8. //延迟执行
  9. System.Threading.Thread.Sleep(5000);
  10.             return a + b;
  11.         }
  •  配置 在.cs后缀文件下

  1.   [OperationContract]
  2.         string GetData(int value);
  3.         [OperationContract]
  4.         int sum(int a, int b);
  5.         [OperationContract]
  • - 应用

  • 1)新建另外一个项目

  • 2)右键引用——>添加服务引用——>输入地址且确定WCF文件名

  1.  //声明wcf对象
  2. WCF.Service1Client service1 = new WCF.Service1Client();
  3.  //执行wcf事件
  4. int sun = service1.sum(a, b);
  5. MessageBox.Show(sun + "");
  • 异步调用:防止调用时项目出现卡顿

  • 异步方法1:线程

  1. // 创建一个线程
  2. Thread thread = new Thread(() =>
  3. {
  4.  //声明wcf对象
  5.  WCF.Service1Client service1 = new WCF.Service1Client();
  6.  //执行wcf事件
  7. int sun = service1.sum(a, b);
  8.  MessageBox.Show(sun + "");
  9. });
  10. //开启线程
  11. thread.Start();
  • 异步方法2:异步操作关键字:async,await

  1. private async void wcfShowAsync(int a, int b)
  2. {
  3.  WCF.Service1Client service1 = new WCF.Service1Client();
  4. int r = await service1.sumAsync(a,b);
  5. MessageBox.Show(r + "");
  6. }
  7. //事件内调用方法
  8. wcfShowAsync(a,b);
  • 异步方法3:生成异步操作

  • 1)右键所引用的WCF文件

  • 2)单击配置服务引用

  • 3)勾选生成异步操作

  1. WCF.Service1Client service1 = new WCF.Service1Client();
  2. //service1.sum(a, b);
  3. service1.sumAsync(a, b);
  4. //绑定一个回调函数
  5. service1.sumCompleted += Service1_sumCompleted;
  6. //+=后按两次TOP键——>生成如下方法
  7. //接口执行完毕执行
  8. private void Service1_sumCompleted(object sender, WCF.sumCompletedEventArgs e)
  9. {
  10. //数据存储于参数:e 中
  11.      MessageBox.Show(e.Result+"");
  12. }
评价
与其用时间去get一个未知的以后,不如做好现在,set自己一个好的以后
排名
28
文章
25
粉丝
8
评论
0
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术