Объяснение жизненного цикла приложения WCF в среде хостинга IIS 6

Объяснение жизненного цикла приложения WCF в среде хостинга IIS 6

Привет всем и спасибо за чтение.

У меня проблема с задержкой, когда мое приложение долго запускается при первом вызове после определенного периода с последнего вызова. Веб-приложение — это служба WCF, и мы говорим о задержке примерно в 18 секунд до начала фактической обработки. Теперь, я думаю, я знаю, как уменьшить эту задержку, так что это не мой вопрос (в любом случае, это больше вопрос StackOverflow)

Мой вопрос:Может ли кто-нибудь объяснить мне, почему, несмотря на то, что я отключаю завершение работы рабочего процесса и перезапуск рабочего процесса, приложение все равно «завершается» после неопределенного периода бездействия?

Чтобы понять это, мне нужно больше узнать о внутренней работе служб WCF, размещенных в IIS. Я полностью ожидаю, что на это будет прямой ответ.

Большое спасибо за любую помощь, которую вы можете предложить, DC

решение1

Если на вкладке Recycling and Performance рабочего процесса все не отмечено, IIS не должен завершать процессы. Есть ли записи в журнале событий, которые соответствуют времени «завершения» процесса? Мне кажется, что приложение WCF потенциально аварийно завершает работу. WCF не регистрирует исключения в журнале событий, как стандартное приложение .NET, поэтому, если вы не пишете собственные журналы, вам может потребоваться включитьWCF-трассировкачтобы посмотреть, возможно, проблема именно в этом.

Быстрое и некрасивое решение вашей проблемы на данный момент может заключаться в создании какой-либо дешевой тестовой или транзакции только для чтения в вашей службе WCF и просто настройке приложения или скрипта мониторинга для опроса ее каждые X секунд, чтобы поддерживать рабочий процесс в активном состоянии с кодом, предварительно обработанным JIT.

решение2

Я считаю, что проблема не была связана с WCF, а проблема была в том, что nHibernate сортировал свои отображения. Я решил это, скомпилировав файлы отображения nHibernate, так что nHibernate не пришлось этого делать.

Связанный контент