投递文章投递文章 投稿指南投稿指南 RSS订阅RSS订阅

Remoting系统构思及分布式注册

来源:cnblogs 发布时间:2008-09-10 收藏 投稿 字体:【
上午刚好有空,写了简单的Remoting程序,并且把服务器端注册成windows service,文章后面附上相关代码。
      测试通过后,对系统的架构布局有了新的认识。

      在以前,做WEB系统都是参考微软给的示例进行设计部署,一个系统经常分了好几层,简而言之,纯粹为了分层而分层。那时自己也觉得修改维护挺麻烦,特别是做的WEB系统也不是很大,一般也就四五十个表左右的系统。

      虽然如此,我还是坚持采用多层结构,并且层与层之间的设计越来越规范,基本上可以做到当修改其中某个层的内容时,不会对其他的受影响。并且设计的结构也越来越复杂,现在随便设计一个WEB系统,十来层正常的,就好象Petshop一样,第四版比第三版多了N个层。
      当然,如果仅仅是WEB系统,倒没有必要这么复杂。这也是为了以后公司可能会出现相关的需求,比如说C/S结构的系统,或者要提供接口给其他兄弟单位。就好象现在SOA就非常流行,那么WEB Service ,Remoting应用就在所难免了,这样一旦系统改变,我仅仅需要新增一个项目,把接口继承过来即可。甚至可以编写程序自动生成WEB Service或者Remoting的类文件,去年就差点写这么个自动工具,后来接口比较统一,数量也不多,所以就取消了。当经历过这些后,多层结构的优势我才真正感觉出来。

      废话少说,下面就讲Remotintg的简单实现以及服务器端的windows service注册,本文是以VS2005做示范的,VS2008里已经有了WCF,所以不提供windows service项目模板了。

     首先,服务器端的代码,基本上就是建立一个tcp或者http之类的通道:

Code

 

 其次,建立接口,这样是为了在客户端时不需要把封装业务流程的dll,而只需要接口即可。

 

Code

 

 第三,建立业务类:

 

Code

 

第四,建立客户端:

Code

 

这个时候,基本上可以运行了,如果大家有.Net的QuickStart的话,可以查看到,我服务器端和客户端的代码都是从那里复制过来的。

但是如果把服务器端的程序注册到windows service,我之前以为很简单,弄个安装项目,结果没有成功,查资料才明白,还需要在服务端的项目文件里加一个Install class:

 

Code

最后用cmd命令安装服务器端即可,当然你也可以选择新建一个安装项目:

Code


如果想删除服务,则运行
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\InstallUtil.exe WindowsService1.exe /u

现在大功告成,只需要添枝加叶,就可以成为一个分布式的多层系统。
技术有点老,但也很成熟,实用于企业内部系统应用。

最新5条评论 查看所有评论
评论内容:请自觉遵守互联网相关政策法规。
用户名: 密码: 匿名 注册
热门文章
随机推荐
About iTtang - 联系方法  - 专题列表 - 友情链接  -  高级搜索   -  帮助中心  -