I'm getting a ServerTooBusyException
when I call a WCF service using basichttpbinding
.
The IIS server where t开发者_运维技巧his service is hosted is also hosting ASMX services (in different virtual directories and application pools). Since this is a testing environment, the WCF service is only used by one user and still experiences this exception.
This is hosted on IIS 6.0 (Win 2003) server. It has been deployed the exact same way on other servers without problems.
What could be the problem? Here is the WCF Tracing information (sorry, french server):
System.ServiceModel.ServerTooBusyException, System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Le service HTTP situé sur
http://server_url/COM/LocatorWCF.svc
est trop occupé. à System.ServiceModel.Channels.HttpChannelUtilities.ProcessGetResponseWebException(WebException webException, HttpWebRequest request, HttpAbortReason abortReason) à System.ServiceModel.Channels.HttpChannelFactory.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
The exception certainly is misleading. I've seen this exception occur if the request is rejected by server or an intermediary devices (such as proxy server) before the request reaches to the downstream application.
Are requests going through a device like a proxy? If yes, try bypassing these devices. You can bypass proxy server by adding following code in your .NET application
WebRequest.DefaultWebProxy = null;
You can check whether requests are really reaching to the server. You can confirm this by capturing network traces using the Microsoft Network Monitor 3.4 to capture network traces.
精彩评论