承上,给出基于事件异步模式 + 请求、应答模式 结合的异步服务调用版本
 
 
关键代码段
 
InBlock.gif基于事件异步服务调用
InBlock.gif
InBlock.gif                 void work()
InBlock.gif                {
InBlock.gif                        var res = new indata();
InBlock.gif                        res.s = richTextBox1.Text;
InBlock.gif
InBlock.gif                        ser.workAsync(res);
InBlock.gif                        ser.workCompleted += new EventHandler<workCompletedEventArgs>(ser_workCompleted);
InBlock.gif                }
InBlock.gif
InBlock.gif                 void ser_workCompleted( object sender, workCompletedEventArgs e)
InBlock.gif                {
InBlock.gif                        Form1.global.write(e.Result.s);
InBlock.gif                }
 
说明
 
调用结果触发事件会在 UI 线程执行,无需调用 UI 异步执行函数
 
InBlock.gifiwriter 成员 #region iwriter 成员
InBlock.gif
InBlock.gif                 public void write( string s)
InBlock.gif                {
InBlock.gif                         this.richTextBox1.Text = s;
InBlock.gif                }
InBlock.gif
InBlock.gif                #endregion