当前位置:  开发笔记 > 编程语言 > 正文

远程性能随着时间的推移而降低

如何解决《远程性能随着时间的推移而降低》经验,为你挑选了0个好方法。

我正在研究一种客户端 - 服务器解决方案,它使用.NET 2.0 Remoting(服务器激活,TCP通道上的二进制格式化,Vista Ultimate)进行通信.目前我正在分析应用程序并在同一台机器上运行所有内容.我注意到,如果我启动应用程序,一切都运行良好几分钟,然后突然每个远程调用需要几秒钟才能执行.我已经记录了两端并为每个呼叫计时.服务器端的实现只需要几分之一秒的时间来执行,而整个远程调用很慢.进一步的分析表明远程服务在服务器端降级:当远程服务的内部工作在几分之一秒内执行时,响应非常慢.如果我重新启动服务器,一切都会恢复正常几分钟.

有没有人经历过这样的事情?

谢谢!

更新:我检查过,如果我将远程对象的生命周期配置为1天,我仍然遇到同样的问题.

更新:我正在使用Ingo Ramer建议的模式(HOWTO:使用基于接口的远程对象和配置文件)来处理所有远程处理的东西,如果这有任何区别的话.

客户代码:

public static object CreateInstance(Type type)
{
    if (!Initialized)
        InitWellKnownTypesCache();

    WellKnownClientTypeEntry typeEntry = (WellKnownClientTypeEntry)wellKnownTypesCache[type];
    if (null == typeEntry)
        throw new RemotingException("Type not found.");

    if (string.IsNullOrEmpty(serverObjectActivationUri))
        throw new RemotingException("ServerObjectActivationUri wasn't configured. Cannot create server object instance.");

    return Activator.GetObject(typeEntry.ObjectType, string.Format(serverObjectActivationUri, typeEntry.ObjectUrl));
}

服务器端只有正确的配置文件,如下所示:

        
            

除了RemotingConfiguration.Configure("MyDomainService.exe.config",false)之外我什么都不做; 我的服务器和客户端代码都没有.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有