3

我们在 IIS 应用程序中实现了一些 WCF 服务,通过默认端口 (808) 上的 net.tcp 进行通信,使用 Microsoft Net.Tcp 端口共享服务,在生产服务器上引发错误。当我实例化与第一个服务的连接时,我得到一个异常:

服务器<URL>拒绝了会话建立请求。所有其他服务都响应良好。

但它在我们的测试服务器上运行良好。

我最初认为失败的特定服务有问题,但我尝试将服务列表重新排列成不同的顺序,它似乎总是我遇到的第一个失败的服务。(我说 SEEMS 是因为它认为在测试的早期迭代中,我看到它发生在它命中的第二个服务上。但我无法重现它。)

我查看了应用程序启动延迟,这似乎不是问题,因为我可以在测试完成后立即返回并再次运行测试 - 仅延迟一两分钟 - 并得到相同的错误. 此外,在较低级别的环境中,启动延迟可能为 30 秒到一分钟,但结果仍如预期的那样返回。

我尝试从 INetManager 通过 http 访问服务,但所有服务都出现间歇性故障 - 特定服务将在调用时返回黄屏死机,然后在下一个服务上提供到 WSDL 的预期链接几秒钟后。

我完全无法解释这种行为,或者如何解决它。我已经用谷歌搜索了错误消息,但没有发现任何有用的信息。这可能是一个配置问题——生产服务器是新配置的虚拟机,我们可能没有完全正确的配置(而所有较低级别的环境已经运行这个和其他类似的应用程序有一段时间了),但我不知道是什么寻找。我查看了运行应用程序的应用程序池的属性,并将其与较低级别的环境进行了比较,没有发现任何差异。

如果有人能指出我正确的方向,我将永远感激你。

4

1 回答 1

0

我能找到的东西:


http://go4answers.webhost4life.com/Example/connect-busy-wcf-service-host-while-725.aspx

MaxConcurrentSessions(默认值 = 10) [Per-channel] 服务一次可以接受的最大会话数。仅与基于会话的绑定(wsHttp 或 netTcp)一起使用"


http://blogs.infosupport.com/unable-to-generate-a-wcf-proxy-using-svcutil-but-retreiving-the-wsdl-works/

所以最后的诀窍是在 c:\windows\temp 文件夹中为您的 App Pool Identity 添加额外的权限 [使服务能够生成元数据] 以解决问题。


此外,是否配置了超时或其他限制并被击中?使用WcfTestClient进行跟踪并访问该服务,看看您是否可以找到潜在的错误。

于 2012-10-30T12:24:50.807 回答