加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

.net 2.0 webservice 异步调用在winform中的使用例子。

发布时间:2020-12-17 02:53:53 所属栏目:安全 来源:网络整理
导读:webservice在vs2003和asp.net中的异步调用都会用到begin[函数] ,但到了2.0时代的winform中如果web引用后,在其web生成的reference.cs中这个begin[函数] 和 end[函数] 就不再出现。取代的是一个 *completed事件。 下面是一个简单的例子。winform事例。 服务

webservice在vs2003和asp.net中的异步调用都会用到begin[函数] ,但到了2.0时代的winform中如果web引用后,在其web生成的reference.cs中这个begin[函数] 和 end[函数] 就不再出现。取代的是一个 *completed事件。

下面是一个简单的例子。winform事例。

服务器端

?? [WebMethod]
??? public string HelloWorld2(string strName) {
??????? System.Threading.Thread.Sleep(5000);
??????? return "Hello World 2 " +? strName;
??? }
??? 没什么特别,只是用了个sleep增加返回值的时间。

客户端

两个textbox 一个输入字符串,经服务器加工后返回在第二个textbox中显示。

?public Form1()
??????? {
??????????? InitializeComponent();
??????????? ser=new WinDemoWeb.web26.WebService();
??????? }

private web26.WebService ser;
???????? private void btnSet_Click(object sender,EventArgs e)
??????? {
????????????
????????????????????? ser.HelloWorld2Completed += new web26.HelloWorld2CompletedEventHandler(Hello_Completed);
??????????? ser.HelloWorld2Async(this.txtName.Text);
??????? }

?? private void Hello_Completed(object sender,web26.HelloWorld2CompletedEventArgs e)
??????? {
??????????? if (e.Error != null)
??????????? {
??????????????? this.txtResult.Text = "has error";
??????????? }

??????????? if (e.Cancelled)
??????????? {
??????????????? this.txtResult.Text = "has been Cancelled";
??????????? }
??????????? else
??????????? {
??????????????? this.txtResult.Text = e.Result;
??????????? }
??????? }

用这个ser.HelloWorld2Completed 事件就能很简单实现在异步了!

比以前的begin之后又end就好多少。大家用下啦!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读