被调用的远程对象要被客户端知道结构有一种办法就是编译后的DLL分别添加到服务器端和客户端程序的引用中。也就是说,这个服务器对象Dll要拷贝两份,一份放在服务器端,一份放在客户端。
如此一来,会有个问题存在。那就是代码的安全性。如果客户端必须要保持这个对象的Dll,则该对象的实现方式对于客户而言就近乎透明了。另外,这样对于部署也不好。两份同样的dll,如果传递的对象大,也会影响性能的。网上很多这样的讨论,说解决的办法就是写个接口类,但是如果只把这个接口类给客户端,客户端又怎样知道具体是哪个类实现的这个接口,不是还是要在客户端把继承的类的方法写出吗??
如此一来,会有个问题存在。那就是代码的安全性。如果客户端必须要保持这个对象的Dll,则该对象的实现方式对于客户而言就近乎透明了。另外,这样对于部署也不好。两份同样的dll,如果传递的对象大,也会影响性能的。网上很多这样的讨论,说解决的办法就是写个接口类,但是如果只把这个接口类给客户端,客户端又怎样知道具体是哪个类实现的这个接口,不是还是要在客户端把继承的类的方法写出吗??
解决方案 »
- 如何自动生成静态页面
- 这段代码如何修改
- 求助,求助,BLL层处理多数据,数据库分库
- 求助!用C#操作WORD生成多个表格时,如何使得上下相邻表格之间没有空行?
- 在PlaceHolder中动态加用户控件怎么取用户控件属性值?
- TreeNodeCollection.Contains该如何使用?
- DataGrid能不能横着放?
- 求:C#应用程序入门经典(英文名称为:Beginning C# WEB Application with Visual Studio.NET)这本书的源代码!
- 请教高手!
- ____________________网站图标的问题,能用Global建立么_______________
- 还是动态加载控件的问题,真正的高手请进!
- 如何将“\”转换成“\\”
绝对不会有任何性能上的损失,部署整个dll到客户端不代表客户端激活
你可能对remoting工作机制的理解上有错误嗯// 如果只把这个接口类给客户端,客户端又怎样知道具体是哪个类实现的这个接口
客户端怎么会不知道
Activator.GetObject得到的对象,你肯定会先转换为接口再使用,你自己总是清楚哪个类实现哪个接口的吧http://www.google.com/search?hl=zh-CN&newwindow=1&q=remoting+interface
http://msdn.microsoft.com/library/CHS/cpguide/html/cpconAccessingObjectsInOtherApplicationDomainsUsingNETRemoting.asp?frame=true