做.net Remoting分布式开发的总结

 

 

做.net Remoting分布式开发的总结

.net Remoting分布式开发比较适用于局网内的程序通信,特别是windows与windows、web与windwos等,充分体现.net Remoting的效率。

net Remoting宿住程序可以以Windows应用、Console应用及Windows服务应用,但个人推荐使用Windwos服务做为服务器端的宿住。优点如下:

  1. Windows服务比较稳定,不会因用户的注销而停止服务。
  2. Windows服务可以设置为自启动,对程序的运行和维护会带来很大的方便。
  3. 可以设置windows服务使用的帐户,通过Widnows帐户策略,可以保证服务程序的安全性。

.net Remoing服务器端与客户端的契约应以接口为标准,并把此接口独立为单个DLL,方便程序的部署与维护。

服务器端可以实现多个接口,并以URI进行标识;客户端可以通过不同的URI生成不同的接口代理,实现不要同的功能。 

.net Remoting可以使用Tcp/Http/Ipc及自定义不同的通信协议,个人建议使用Tcp为好。如果服务器与客户端部署在同一机器,可使用Ipc通信协议。

 需要在服务器端与客户端通信的对象需要进行序列化,以属性[Serializable]标识即可。

服务器端程序在实现接口的同时,必须继承MarshalByRefObject类。

服务器端的Remoting配置应在config配置文件中实现,节点为:<system.runtime.remoting>,同在在启动程序中写入如下代码:

 

 

客户端的URI标识也应在config中标识,写在节点<appSettings>中即可。代码实现如下:

 

.net Remoting解决方案目录个人建议如下:

解决方案

  • Inerface接口项目(类库):此项目中包括所有的接口定义、需要序列化对象的定义等,不包括任何实现逻辑。
  • Services实现(类库,引用Inerface):此项目主要实现Inerface接口,包括所能的实现逻辑。
  • 宿住程序(Windows、Console或Windows服务),此项目主要实现服务的配置及注册。配置一般放在app.config中,
  • 在程序的启动入口只需要写入“RemotingConfiguration.Configure(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile, false);”
  • 代码及其他需要实现的功能,如记录服务启动日志等。
  • 客户端(引用Inerface):客户端可包括任何类型的项目,如Asp.net Windows Console等。

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值