1.至于两者差异,非分布式程序部署我就不说了。对于分布式,我觉得你最好了解一下需要用到非分布式部署的程序,比如asp.net web service,.net remoting的架构。然后你就会自然而然知道两者部署的不同点了。当然你也可以在msdn中查,不过我觉得自己了解架构,理解得可能会更深一些。2.非分布式一般情况下无需用到MarshalByRefObject(并且也不建议用),这个和DCOM不同。DCOM中如果服务器端和客户端同时装在一台机器上时,系统会自然把其当成本地类库调用,减少性能损失。当remoting不会!
解决方案 »
- 请问List的ForEach方法
- 谁能帮我在pudn上下载个东东啊,非常感谢,没有账户,呵呵
- 关于treeview的问题
- managementobject.get 的应用问题
- 求成熟的高校教务系统下载或代码,最好是ASP.Net开发的
- 关于存储到数据库中字符被截断的问题
- 编译器的产生
- 向大家请教 有关判断串口接收数据 以及使用AT COMMAND 控制手机收发短信的问题。
- TextBox数据绑定的空值校验问题
- OracleDbType.Date 输入日期时间格式,提标错误!请问日期格式应该是怎么样的?
- 怎么解决在web中的datagrid的菜鸟问题 在线等待。。。。解决后立马回贴
- 高分(100)求教
关于第二点:非分布式如果用到MarshalByRefObject,是不是会带来累赘?具体描述一下?
感觉中间层部署到同一台机器上,和部署到不同的机器上的数据传输应该会不一样。虽然Facade都是继承自MarshalByRefObject,不知道内部是怎么处理的。
如果使用了MarshalByRefObject,那么其实这个程序应该是分布式应用程序。
简单的说:
客户端->代理->远程对象
如果要完全了解:
得通道、消息、等相关内容。你想想,直接调用本地类库是不是应该比通过这些处理后调用远程对象更有效果。
问题是当我部署成非分布式时,MarshalByRefObject下的对象是不是可以向本地对象一样,这是我最关心的。
因为现在为了程序的弹性,支持分布式部署和非分布式部署,facade我从MarshalByRefObject继承下来的。
看您的回复,我基本了解,是不是如果facade从MarshalByRefObject继承下来,即使我部署成非分布式,模块调用也是走的"客户端->代理->远程对象"?