看下面的帖子:
http://community.csdn.net/Expert/topic/3221/3221261.xml?temp=.7634088
http://community.csdn.net/Expert/topic/3221/3221261.xml?temp=.7634088
解决方案 »
- 使用NHibernate过程中 出现的奇怪问题
- 请问VS2010 premium 版和professional版有什么区别?哪个更高级?
- java C#
- ListView在单击右键时怎样知道单击的是ListView的某个SubItem子项
- Crystal报表怎么添加浮水印?
- 双击控件 出现问题
- 春节后就要做爸爸了.散分了哦!!.不过还没有给他(她)取名,各位同行帮帮忙取个名,谢谢!!
- 复杂格式的XML序列化
- 请问如何实现程序运行时首先显示登陆窗体,根据登陆信息进行打开主窗体
- 关于数据库更新的一个问题,高分求助。
- 寻找visal studio .net 2003 繁体版
- 我在一个winform程序里用DataView的RowFilter筛选时用两个下划线代表两个字符,但是怎么筛选不出来的??
另有问题:时间租借机制是否一样用于你文章中由工厂创建的对象?
服务端用REMOTINGSERVICES。MARSHAL(REMOTEOBJECT)公布的远程对象是否类似于SINGALTON
对象。是否也要用时间机制。
你文章中工厂创建的远程对象如果用时间租借机制,那么是否是因为通过信道被反回了客户
端的缘故,否则只创建不返回,那该对象将到期被回收?
由于要在服务端管理创建的远程对象,必然我要有对他们的引用,租借时间到后,能否被回收?或者使远程对象实现IDISPOSE接口,手动调用对象的DISPOSE,是否能被内存管理回收并
销毁。
没错。所有的Remoting对象都受租借机制约束。>> singlecall模式的远程对象不用时间租借机制,SINGLETON和客户激活要用时间租借机制?
模拟Singlecall其实根本不用MarshalByRef对象,每次用FactoryClass建立一个local对象,调用,然后销毁就行了。>> 你文章中工厂创建的远程对象如果用时间租借机制,那么是否是因为通过信道被反回了客户端的缘故,否则只创建不返回,那该对象将到期被回收?
返回一个MarshalByRef对象到Client会导致.NET Remoting保留对象饮用,所以GC不起作用。只收到租借周期的限制。简单的说,租期以内对象受Remoting控制,之后会被GC回收。
些封装后的不同表现。就象你文中提到的。其机制就象你文中的工厂类。现看见你的回答应证
了,心中大快,再次特别感谢。
再有我用了TRACESERVICE 跟踪服务。服务端MARSHAL个对象后,时间到后会自动调用DISCONNECT事件,并被GC回收。
可如果我用SERVICES。DISCONNET(REMOTEOBJ),并把REMOTEOBJ = NULL,也等到时间到期,
可却没被GC,还有哪在引用???
在线等。
http://dev.csdn.net/develop/article/14/article/14/article/14/14110.shtm
可如果我用SERVICES。DISCONNET(REMOTEOBJ),并把REMOTEOBJ = NULL,也等到时间到期,
可却没被GC,还有哪在引用???这个问题有误,实际上我在代码里有一处引用,我忘了取消。如何能访问到租约管理器,不是租约。
LeaseManager是一个internal class, 你拿不到:
namespace System.Runtime.Remoting.Lifetime {
internal class LeaseManager
...
}