Remoting问题:怎样停止用RegisterWellKnownServiceType方法注册的类型?(具体情况入内) 你这样做不是很好的。建议你看看设计模式这方面的内容,这样吧,你就看一下关于工厂模式的这部分就行了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 工厂模式我比较熟,但看不出来与这个问题的关系。请高手指教 这个问题我部分解决了,方案很简单,只是由局限性:解决办法就是不用Register的方法,而是用Marshal()与Disconnect()配对使用:TcpChannel tcpChannel = new TcpChannel(8080);ChannelServices.RegisterChannel(tcpChannel);前面不变,然后在服务器端实例化对象:ServerObject.ServerObj obj = new ServerObject.ServerObj();ServerObject.ServerObj2 obj2 new ServerObject.ServerObj2();通过Marshal()将其转换为ObjRef类型:ObjRef objRef = RemotingServices.Marshal(obj,"EchoMessage");ObjRef objRef1 = RemotingServices.Marshal(obj2,"EchoMessage2");此时在客户端就可以通过GetObject()方法来获得这两个对象了。如果要关掉ServerObj2。就在服务器端实现Disconnect()方法,来注销前面实例的对象:RemotingServices.Disconnect(obj2);通过这个方法,客户端就不能使用该对象了。当然这个方法有个局限,就是所有客户端调用的服务对象是同一个。也就是说,类似于SingleTon激活模式。至于有没有办法实现SingleCall模式,我也正在摸索中,目前没有找到答案。 学C#的朋友来帮菜鸟看看 谁在c#中 用过扫描控件? 50分请帮忙 求助:C#的简单问题 vs2005水晶报表怎么打dataset数据问题, visual studio 2005 and stored procedure 错误???急救!! 请教各位高手关于动态类的问题,在线等! 查找表格最里层的正则表达式 如何创建一个无法被实例化的类? c# 调用 dll 在C#中如何调用SendMessage函数? 为何我的WEB TreeView的CheckBox出不来? 在datagrid中当移到下一个单元格时,如何获取上一次获得焦点的单元格的值??
ChannelServices.RegisterChannel(tcpChannel);前面不变,然后在服务器端实例化对象:ServerObject.ServerObj obj = new ServerObject.ServerObj();
ServerObject.ServerObj2 obj2 new ServerObject.ServerObj2();通过Marshal()将其转换为ObjRef类型:ObjRef objRef = RemotingServices.Marshal(obj,"EchoMessage");
ObjRef objRef1 = RemotingServices.Marshal(obj2,"EchoMessage2");此时在客户端就可以通过GetObject()方法来获得这两个对象了。
如果要关掉ServerObj2。就在服务器端实现Disconnect()方法,来注销前面实例的对象:
RemotingServices.Disconnect(obj2);通过这个方法,客户端就不能使用该对象了。当然这个方法有个局限,就是所有客户端调用的服务对象是同一个。也就是说,类似于SingleTon激活模式。至于有没有办法实现SingleCall模式,我也正在摸索中,目前没有找到答案。