tnblog
首页
视频
资源
登录

Wcf的异步操作

4350人阅读 2021/4/25 10:19 总访问:115949 评论:0 收藏:0 手机
分类: WCf



//先创建一个MVC项目然后创建一个Wcfservies 
 public class Service2 : IService2
    {      
        public int Sum(int a, int b)
        {          //将输出延迟六秒  
            System.Threading.Thread.Sleep(6000);
            return a + b;
        }
    }
//接口
        [OperationContract]
        int Sum(int a, int b);
然后再建立一个webform项目建立两个按钮用来测试异步再webform窗体的后台的操作1
//引入空间
using System.Threading;
//方法一自己开辟线程
            Thread therd = new Thread(() =>
            {
                Service2.Service2Client clint = new Service2.Service2Client();
                int result = clint.Sum(5, 6);
                MessageBox.Show(result + "");
            });
            therd.Start();
//方法二使用task开辟线程
            Task.Run(() =>
            {
                Service2.Service2Client client = new Service2.Service2Client();
                int result = client.Sum(6, 6);
                MessageBox.Show(result + "");
            });
            
            
            
            
//方法三使用自带的
//如果在配置Service2的配置服务引用选择 生成基于任务的操作就可以使用该方法  如果点击基于异步操作就不行(最上面图片)
            GetasynecSum();
     public async void GetasynecSum()
        {
            Service2.Service2Client client = new Service2.Service2Client();
            int result = await client.SumAsync(7, 7);
            MessageBox.Show("" + result);
        }
 
//方法四
//如果在配置Service2的配置服务引用选择 生成基于任务的操作就不可以使用该方法  如果点击基于异步操作就可以(最上面图片)
            Service2.Service2Client client = new Service2.Service2Client();
            client.SumAsync(8, 8);
            client.SumCompleted += client_SumCompleted;
            
    void client_SumCompleted(object sender, Service2.SumCompletedEventArgs 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
欢迎加群交流技术