热门关键字:  PHP  Cisco  seo  网络广告 虚拟主机 中文域名

Microsoft .Net Remoting系列专题之三:Remoting事件处理全接触

来源:博客园 作者:wayfarer 时间:2006-02-08 点击:

接着关闭其中一个客户端窗口,再广播消息(注意为模拟客户端异常情况,应在ClientForm_Closing方法中把第一步改进的取消订阅代码注释。否则不会发生异常。难道你真的愿意用断电来导致异常发生吗^_^),结果如图:

此时服务端报告了“事件订阅者1发生错误,系统将取消事件订阅”。注意此时另外两个客户端,还是和前面一样,只有两条广播信息。

当我们点击提示框的“确定”按钮后,广播仍然发送:

通过这样的改进后,程序更加的完善,也更加的健壮和友好!

附:
示例代码说明:
1、 Remoting事件(客户端发传真)压缩包:为第一节内容;
2、 Remoting事件(服务端广播)压缩包:为第二节、第三节内容,其中:
第二节代码包含于:
#region 客户端订阅服务端事件
#endregion
第三节代码包含于:
#region 客户端订阅客户端事件
#endregion
如果要实现第二节的程序,请注释掉第三节代码;反之亦然。示例程序默认为第二节程序。
3、 运行示例程序时,请先运行服务端程序,然后运行客户端程序。否则会抛出“基础连接已关闭”的异常。
4、 解决方案均放在Common(或ICommon)文件夹中。

5、改进后的代码放到Remoting事件(服务端广播改进)压缩包中,大家可以比较一下改进后的程序有何不同!

Microsoft .Net Remoting系列专题之一:.Net Remoting基础篇

Microsoft .Net Remoting系列专题之二:Marshal、Disconnect与生命周期以及跟踪服务

参考资料:
1、 Ingo Rammer,《Advanced .NET Remoting》
2、 吕震宇,《利用Event松耦合远程对象与远程系统
3、 大坏蛋,《.NET Remoting中的事件处理(.NET Framework 2.0)(一)


最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
赞助商连接