首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.NET Remoting内存泄漏?

.NET Remoting内存泄漏?
EN

Stack Overflow用户
提问于 2010-04-18 21:02:57
回答 1查看 1.5K关注 0票数 1

我有一个远程处理类作为单例

代码语言:javascript
复制
<configuration>
   <system.runtime.remoting>
      <application>
         <service>
            <wellknown 
               mode="Singleton" 
               type="PTSSLinkClasses.PTSSLinkClientDesktopRemotable, PTSSLinkClasses" 
               objectUri="PTSSLinkDesktop" />
         </service>
         <channels>
            <channel ref="http" port="8901"/>
         </channels>
      </application>
   </system.runtime.remoting>
</configuration>

它是在“服务器”服务中创建的。另一个客户端服务使用此远程对象。客户端使用计时器(轮询)每.5秒调用远程对象(用于测试)

如果服务器服务停止,因此远程对象不可用,则客户端服务的内存使用量将持续增加......

我重写了InitialLifetimeService以返回null

代码语言:javascript
复制
public override Object InitializeLifetimeService()
        {
            return null;
        }

如果远程对象不可用,.net是否会对此对象的所有调用请求进行排队?直到所有的内存都用完?如果远程对象不可用,如何检测并停止尝试调用远程方法?

EN

回答 1

Stack Overflow用户

发布于 2010-04-18 21:34:12

.NET Remoting不会对远程对象的调用进行排队。当一个远程对象不再可用时,当你在它上面调用一个方法时,你应该会收到一个异常(WebException,RemotingException),没有找到所请求的服务。

我觉得你的问题出在别的地方。也许你忽略了代码中可能的异常,并且没有正确地处理它。

您是再次使用相同的计时器调用远程对象,还是每隔.5秒创建一个新的计时器来调用远程对象?

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2662314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档