реализация кометы для asp.net?

<p>я искал способы реализации gmail-подобных сообщений внутри браузера и пришел к концепции <a href="http://en.wikipedia.org/wiki/comet\_(programming)">comet</a> . однако мне не удалось найти хорошую реализацию .net, которая позволила бы мне сделать это в iis (наше приложение написано на asp.net 2.0).</p><p>решения, которые я нашел (или мог придумать, в этом отношении), требуют оставить работающий поток на пользователя - чтобы он мог вернуть ему ответ, как только он получит сообщение. это не масштабируется, конечно.</p><p>итак, мой вопрос - знаете ли вы о реализации asp.net для comet, которая работает по-другому? это возможно даже с iis?</p>

<p>комету сложно масштабировать с помощью iis из-за постоянной связи кометы, но сейчас есть команда, которая рассматривает сценарии кометы. также посмотрите на <a href="http://www.aaronlerch.com/blog/2007/07/08/creating-comet-applications-with-aspnet/">блог аарона лерча</a> , так как я считаю, что он сделал некоторую раннюю работу над comet в asp.net.</p>

<p>недавно я написал <a href="https://bitbucket.org/jacob4u2/mvcchatsite/src">простой пример сервера длинных опросов</a> с использованием асинхронных контроллеров mvc 3 на основе <a href="http://clay.lenharts.net/blog/2010/10/19/websockets-is-cool-but-what-can-you-do-today/">отличная статья клэя ленхарта</a> </p><p>вы можете использовать <a href="http://mvcchatsite.apphb.com">пример для развертывания appharbor</a> я настроил на основе источника из проекта bitbucket.</p><p>кроме того, дополнительную информацию можно получить из моего <a href="http://jacob4u2.posterous.com/mvc-3-long-polling-comet-chat-example">сообщение в блоге, объясняющее проект</a> .</p>

<p>на самом деле существует множество вариантов создания веб-сайтов, поддерживаемых ajax, с asp.net, но, честно говоря, <strong> <a href="http://pokein.com">pokein</a> </strong> - самый простой способ создать комета ajax поддерживает веб-приложение. это спасло один из проектов моей компании.</p>

<p>вы также можете посмотреть на <a href="https://kaazing.com/products/websocket-gateway/editions/">kaazing enterprise gateway</a> , который выпустил производственную версию своего шлюза websocket [html5], который полностью заменяет кометный путь и обеспечивает полнодуплексные соединения между браузерами и серверами приложений.</p><p>вы также можете посмотреть на <a href="http://www.lightstreamer.com/demos.htm">light streamer demos</a> </p>

<p>я когда-то давно пользовался сайтом чата, который использовал специальный http-сервер потоковой передачи. я на самом деле воспроизвел это программное обеспечение в один момент из чистого любопытства, и я думаю, что это достаточно легко сделать. я бы никогда не попытался реализовать подобный тип "бесконечного запроса" в iis, особенно в asp.net, потому что запросы связывают поток пула потоков (или поток io, если используются асинхронные обработчики) бесконечно это означает, что вы можете обрабатывать столько данных на сервер, сколько позволяет конфигурация пула потоков.</p><p>если бы у меня была серьезная законная потребность в такой функциональности, я бы честно написал для нее собственный http-сервер.</p><p>я знаю, что это на самом деле не отвечает на ваш вопрос, но я подумал, что вклад может быть актуальным.</p>

<p>я думаю, что подход comet не является действительно масштабируемым, если вы не готовы горизонтально развернуть веб-ферму (добавив больше веб-серверов в набор). он работает так, что он оставляет соединение tcp открытым для каждого пользовательского сеанса, просто чтобы сервер мог время от времени вставлять данные в это соединение, чтобы немедленно информировать пользователя об изменениях или действиях.</p>