Сервер кометы в веб-саду

Я использую IHttpAsyncHandler обслуживать комету / длительный опрос. Обработчик держит соединение открытым и сохраняет MyAsyncResult объект в статике ConcurrentSet<MyAsyncResult>,

Когда сделан отдельный запрос (запрос, который вызывает комету к ответу), программа находит MyAsyncResult Объект в списке и завершает запрос.

Моя проблема заключается в том, что когда я изменяю свое приложение для запуска в Webgarden, эта статическая переменная не будет использоваться всеми рабочими процессами, поэтому эта реализация не будет работать..

Теперь у меня нет возможности хранить MyAsyncResult объект в базе данных SQL, или любой вид объекта, который может быть полезен (например, IHttpHandler сам или делегат, указывающий на метод EndProcessRequest и т. д.). Я мог бы хранить определенные идентификаторы и строки в базе данных SQL и постоянно проверять новые значения, но это кажется дорогостоящим и отчасти побеждает объект использования длинного опроса в первую очередь.

Есть ли способ поделиться своей статичностью ConcurrentSet через веб-сад? Или любым другим способом, которым я могу получить IHttpAsyncHandler то есть сидел там в ожидании сигнала для отправки своего ответа?

Редактировать:

Если я не могу поделиться переменными между процессами, есть ли способ, которым я могу транслировать все другие рабочие процессы? Все, что мне нужно здесь, это один сигнал с двумя целочисленными параметрами.

0 ответов

Другие вопросы по тегам