当尝试连接/与我的服务进行通信时,我必须等待几乎每20秒才会触发异常。由于这一切都将在本地网络上运行,我想将该超时时间缩短为5秒?我尝试减少我的客户端上的receiveTimeout,但它不起作用。我查看了我的代码20秒超时变量集,但找不到任何。我应该改变什么?WCF接收超时
WCF接收超时
回答
有不同的超时设置http://msdn.microsoft.com/en-us/library/ms731078.aspx。例如,它们可以在配置文件(web.config或app.config)中设置,例如参见http://msdn.microsoft.com/en-us/library/ms731343.aspx。在http://msdn.microsoft.com/en-us/library/ms731399.aspx下,您可以选择您使用的绑定并设置相应的设置。
已更新:您可能在TCP级别设置了超时。尝试减少(在NT 4.0的参数值3,具有名称InitialRTT
)的TcpMaxConnectRetransmissions
(默认值2)或TcpInitialRTT
参数在注册表中,重新启动计算机,并尝试实验一次。关于21秒的影响,您可以在http://support.microsoft.com/kb/223450,http://support.microsoft.com/kb/175523,http://support.microsoft.com/kb/170359或http://www.boyce.us/windows/tipcontent.asp?ID=189中阅读。您可以阅读http://support.microsoft.com/kb/314053(适用于Windows XP)和http://technet.microsoft.com/en-us/library/cc739819(WS.10).aspx(适用于Windows Server 2003 SP2)的TCP/IP默认配置值的说明。
你可能实际上看到的是从你的web应用的冷启动。未找到服务异常会很快恢复,而您已经很难打开它,并且您开始排队服务请求,而不是WCF配置的服务请求。
但是,如果你有自己的网站卸载(应用程序域和工作进程),这可能需要20秒命中一个构建频道为您服务的代码。所以它可能被掩盖了。
如果您的网站和服务都在不同的应用程序池,然后这是maginfied因为它有冷启动的网站,然后冷启动该服务,这是在继承,而不是同时进行。
为了稍微缓解这个你可以使用保活/平的服务。一些只是不断点击URL来保持AppDomain在内存中,而工作进程仍然活着(如果不共享)。默认情况下,IIS 6会在工作20分钟后关闭工作进程,因此当第一个请求进入时,http.sys会启动一个新的工作进程,该工作进程会加载加载应用程序的框架,从而启动管道,你的代码,它传递给你的用户。 :)
- 1. MSMQ - 时间接收超时
- 2. MSMQ接收()方法超时
- 3. 套接字接收设置超时
- 4. .NET CF套接字接收超时
- 5. BizTalk WCF SQL适配器接收超时尝试从池中获取连接
- 6. Silverlight WCF超时
- 7. WCF接收错误
- 8. MSMQ WCF,需要接收的时间
- 9. WCF服务超时
- 10. WCF超时处理
- 11. WCF超时问题
- 12. WCF服务超时
- 13. WCF超时问题?
- 14. 超时WCF服务
- 15. WCF超时问题
- 16. WCF闲置超时
- 17. wcf REST Ping超时
- 18. WCF:超时错误
- 19. WCF会话超时
- 20. WCF超时错误
- 21. Atmel SAME70 USART接收超时未触发
- 22. Compact Framework 2.0中的接收超时
- 23. 套接字选项收到超时
- 24. 不能超过WCF的最大接收邮件错误
- 25. WCF服务接收图像
- 26. WCF服务接收空值
- 27. 即使连接超时和读取超时设置为默认(无限),接收请求超时?
- 28. 异步WCF服务超时
- 29. wcf wsdualhttpbinding超时问题
- 30. WCF错误 - 操作超时
目前我的客户端app.config中的代码如下所示: closeTimeout =“00:01:00”openTimeout =“00:01:00”receiveTimeout =“00:01:00”sendTimeout =“00 :01:00“ 这些设置是,让我等待aprox。在服务关闭时收到EndpointNotFoundException之前20秒。我应该把这个设置降低到5秒? – Tamer 2010-06-29 07:41:43
可以使用Microsoft网络监视器(请参阅http://go.microsoft.com/fwlink/?linkid=103158&clcid=0x804)捕获,查看和分析网络流量。我想你在TCP级别上有问题(请参阅更新后的答案) – Oleg 2010-06-30 15:25:12