2013-05-08 2 views
0

Итак, у меня странная ситуация, возникающая в моей веб-системе.Ajax Call + ASP.NET + .NET Remoting

У меня есть реализация службы Windows, которая запускает .Net Remoting Server и ждет ожидания вызовов разных клиентов.

С другой стороны, у меня есть приложение ASP.NET Web-Form, которое может вызывать некоторые методы в этой службе с использованием .Net Remoting Structure.

На странице у меня есть кнопка, эта кнопка вызывает вызов Ajax и этот вызов Ajax, выполните метод async в приложении веб-форм Asp.Net.

Все работает нормально.

Но, при завершении Ajax Call, у меня есть второй Async Call. После завершения первого Ajax Call второй выполняется нормально, но не сразу, только через 3 или 4 секунды после.

Это происходит, только когда сайт опубликован в IIS, в Visual Studio (localhost) этого не произошло.

Я могу настроить службу (сервер) как TCP или ICP, отправлять данные в двоичном режиме ... При любой конфигурации проблема всегда возникала.

ответ

0

В течение нескольких месяцев я нашел этот же вопрос на многих форумах и сайтах, и, наконец, у меня есть ответ.

На самом деле проблема не в вызове AJAX или нескольких вызовах AJAX. Проблема возникла из-за проблемы между пулом потоков .NET Remoting и пулом потоков IIS.

Этот сайт делает некоторые вычисления на стороне сервера при выполнении вызовов AJAX. Эти вычисления (выполняемые с помощью .NET Remoting) генерируют несколько журналов в txt-файлах.

Для создания этих журналов Windows необходимо использовать обычный пул потоков e для ограничения IIS. IIS ждал около 5 секунд для возврата пула потоков Windows. Таким образом, в этом случае существовали два пула потоков: один для Windows и другой для IIS.

Извлечение генерации журналов, я мог бы выполнить процесс в нужное время. Некоторые люди находят эту же проблему, выполняя SQL-запросы на стороне сервера с помощью ADO.