У меня есть веб-сайт ASP.Net, который получает всю бизнес-логику с сайта хостинга WCF (IIS). Время от времени это выглядит как замороженный WCF, который заставляет веб-интерфейс останавливаться. Мне нужно переработать оба пула приложений, чтобы они снова работали.WCF перестает отвечать на запросы
- Это происходит чаще всего в последнее время, может быть, потому что у нас есть больше & клиентов с использованием сайта. Раньше это случается раз в месяц, теперь это происходит раз в неделю. Может больше.
- Мы закрываем соединение после каждого вызова SVC.
- Сообщение об ошибке получил в журнале событий после того, как я перерабатывают у бассейна
Сообщение: System.ServiceModel.CommunicationException: Произошла ошибка при получении ответа HTTP для ........... /.....BusinessServices.svc. Это может быть связано с привязкой конечной точки службы, не использующей протокол HTTP. Это также может быть связано с тем, что сервер HTTP-запроса прерывается, и, возможно, из-за отключения службы. Подробнее см. Журналы сервера. ---> System.Net.WebException: базовое соединение было закрыто: произошла непредвиденная ошибка при получении. ---> System.IO.IOException: невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом. ---> System.Net.Sockets.SocketException: существующее соединение было принудительно закрыто удаленным хостом
- Web.config веб-приложения:
<bindings> <wsHttpBinding> <binding name="WSHttpBinding_IBusinessServices" closeTimeout="00:31:00" openTimeout="00:31:00" receiveTimeout="00:10:00" sendTimeout="00:31:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false"> <readerQuotas maxDepth="999" maxStringContentLength="2147483647" maxArrayLength="1638400" maxBytesPerRead="4096" maxNameTableCharCount="16384" /> <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" /> <security mode="Message"> <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" /> <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" /> </security> </binding> </wsHttpBinding> </bindings> <client> <endpoint address="http://localhost:8890/MyBusinessServices.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IBusinessServices" contract="MyBusinessServices.IBusinessServices" name="WSHttpBinding_IBusinessServices" /> </client>
Web.config службы WCF с дросселированием, установленным на 1500
.....
<behavior name="AppServiceBehaviors"> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> <dataContractSerializer maxItemsInObjectGraph="2147483647" /> <serviceTimeouts transactionTimeout="00:15:00" /> <serviceThrottling maxConcurrentCalls="1500" maxConcurrentSessions="1500" maxConcurrentInstances="2147483647" /> </behavior> <behavior name=""> <serviceMetadata httpGetEnabled="true" /> <serviceDebug includeExceptionDetailInFaults="true" /> <dataContractSerializer maxItemsInObjectGraph="2147483647" /> </behavior> </serviceBehaviors> </behaviors>
Эта проблема прерывистая, но это сводит меня с ума. Любые идеи/предложения приветствуются.
Эрик