Прежде всего, я не профессионал в теме конфигурации IIS.
С учетом сказанного я получил веб-сайт, написанный на веб-формах VB.NET 3.5. У меня есть небольшой веб-сервис ASMX, работающий как часть этого сайта. Одна страница на сайте вызывает веб-сервис с AJAX (функция jQuery $ .ajax, post). Сервер работает под управлением Windows 2003 и IIS 6.0. Веб-сайт и веб-служба совместно используют один и тот же пул приложений.
В свойствах пула приложений IIS есть параметр «Тайм-аут простоя», который говорит «Завершить рабочие процессы после простоя в течение N (время в минутах)». Проблема в том, что когда рабочий процесс завершает работу через N минут, он больше не запускается ни при каких вызовах AJAX со страницы. Есть идеи, что делать в такой ситуации? Ранее я имел дело только с .NET MVC с точки зрения AJAX, и никогда не видел ничего подобного.
В логах ошибок нет. Вот что возвращает сервер через XmlHttpRequest:
Состояние готовности: 4
Статус: 500
Текст состояния: Внутренняя ошибка сервера
Xhr Сообщение: undefined
Текст ответа: {"Сообщение": "Был
ошибка обработки запроса. ",
"StackTrace": "", "ExceptionType": ""}
Мне сказали, что установка значения выключения на большое число, например, 24 часа, исправит это ... Я думаю, что это будет, но мне это не кажется правильным решением. Любой совет высоко ценится. Спасибо!
EDIT:
Это вызов JavaScript $ .ajax. Я не уверен, будет ли это иметь какое-либо значение.
$.ajax({
type: "POST",
url: "MyWebService.asmx/GetRecordsExceedingMessage",
data: '{}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(result) {
LMM.Operative_CheckError(result); //display Records Exceeding Message as validation error
},
error: function(xhr, status) {
LMM.Operative_DisplayClientErrors(xhr);
}
});
EDIT:
Я только что вспомнил этот маленький кусочек из Web.config сайта:
<webServices>
<protocols>
<remove name="HttpGet"/>
<remove name="HttpPost"/>
<remove name="HttpPostLocalhost"/>
<remove name="Documentation"/>
<remove name="AnyHttpSoap"/>
</protocols>
</webServices>