2016-03-02 4 views
1

Мы создали приложение MVC с сервисом WCF в .NET Framework 4.0. Мы разместили приложение как в Windows Server 2008, так и в IIS 7.0. Приложение MVC отправляет запросы на службу wcf. Каждые 3-4 часа мое приложение не отвечает. После перезапуска WCF в IIS это рабочий файл.Служба WCF не отвечает через несколько раз

Я проверил журнал событий и нашел «Рабочий процесс с идентификатором процесса« пула приложений »xxxx« ASP.NET v4.0 »запросил переработку, потому что рабочий процесс достиг своего разрешенного времени обработки».

Может ли кто-нибудь помочь мне в определении проблемы для ее решения.

Мои настройки пула приложений приведены ниже

enter image description here

+0

см. Этот [ответ] (http://stackoverflow.com/questions/3127449/wcf-service-does-not-respond-how-to-debug/43867060#43867060) Надеюсь, что это будет полезно –

ответ

0

Ваш AppPool должны были переработаны IIS из-за конфигурации по умолчанию. Выберите AppPool и панель «Действия», нажмите «Recycling ..»

Вы можете снять флажок «Регулярные интервалы времени», чтобы избежать этого. Но значение по умолчанию - 1740 минут, что означает 29 часов, проверьте значение, установленное для вашего AppPool, потому что это не соответствует вашей проблеме от 3 до 4 часов.

В любом случае, утилизация не помещает приложение в действие недоступно, оно запускается снова по новым запросам.

Если ваш AppPool не запускается, может произойти некоторая ошибка, проверьте журнал событий, чтобы узнать о какой-либо ошибке во время перезапуска AppPool.

+1

У меня есть проверил журнал событий, но ни один журнал событий не видел в средстве просмотра событий. Когда я перезапускаю или перерабатываю свое приложение в IIS, он работает нормально. – Bharat

0

Если вы можете обновить до IIS 7.5, вы можете использовать Инициализацию приложений IIS. Это позволит вашему приложению периодически перерабатываться, что является хорошей вещью для ее стабильности, не становясь периодически недоступным. Это связано с тем, что Инициализация приложений перекрывает рабочие процессы IIS, запуска и инициализации нового рабочего процесса, прежде чем убить старый рабочий процесс. Он волшебным образом занимается запросами повторной маршрутизации между двумя рабочими процессами.

+0

Спасибо PateAC, я обновляю свой IIS с помощью 8.0, и у меня есть проверка пула приложений. Это хорошая особенность. но моя проблема все еще не решена. – Bharat

+0

Чтобы включить Инициализацию приложений, вам также необходимо установить PreloadEnabled = true в приложении и StartMode = alwaysRunning в пуле приложений. Также обратите внимание, что Инициализация приложений является необязательным модулем в IIS 8 - вы можете обнаружить, что вам нужно включить его в Windows. Вот URL-адрес одной из многих практических статей, которые будут найдены в Googling: https://blogs.msdn.microsoft.com/benjaminperkins/2014/01/07/configure-the-iis-application-initialization-module/ – PeteAC