我遇到了在本地运行WCF服务的问题。当我在本地运行服务时,从客户端打开频道开始大约需要60秒,直到我看到正在调用WCF服务的方法。如果我连接到我们的暂存环境中运行的服务,它可以正常工作,并且没有减速。
我工作的其他开发人员都没有这个问题。我也没有在运行windows7(不在VM中)的单独框中出现此问题。我们的临时服务器也都是VM(Server 2008),尽管它们运行在不同的VM平台上。
答案 0 :(得分:0)
如果您发送非常小的请求并等待每个响应,这看起来就像Nagle's algorithm命中了您。暂时按disabling it进行测试。
如果您开始看到这不是第一次调用该服务,但仅在前10个左右之后,可能是会话泄漏。这意味着,一个是为每个调用创建一个新的服务客户端,然后忘记关闭它。在服务器上耗尽ServiceThrottlingBehavior.MaxConcurrentSessions
后,每个后续会话必须等到前一个会话超时,然后才能快速成功。通过将CloseTimeout
从其默认值60秒减少来进行测试,并查看是否是控制所见内容的超时。然后,当然,找到会话泄漏并关闭它以获得真正的修复。
如果两者都不是,您可以配置service tracing并使用其输出来更详细地提出问题。