Обратный Ajax (Comet) с ASP.NET - PullRequest
4 голосов
/ 17 января 2011

Я ищу базовый пример реализации Reverse Ajax (Comet) с ASP.NET.Я уже посмотрел нижеприведенные, и я не хочу использовать их сейчас (потому что они оплачиваются)

http://www.frozenmountain.com/websync/ http://www.lightstreamer.com/demos.htm

Я уже пошелразличные ссылки, упомянутые на SO.Но большинство из них указывают на внешний API.Я ищу наглядный пример того, как это реализовать.

Ответы [ 5 ]

9 голосов
/ 17 января 2011

К сожалению, вы не найдете его.Обратный Ajax - это сложная задача, которая требует как "магии" на стороне сервера, так и на стороне клиента, чтобы быть совместимой с различными браузерами, иметь надлежащее управление состоянием и потоками и быть масштабируемой.По сути, комет-сервер - это потоковое соединение для каждого клиента (или длительный опрос) + умное управление потоками.Кроме того, для правильного комет-сервера вам придется полностью реализовать протокол Байе .

. На CodeProject есть статья о том, как реализовать что-то подобное вIIS, но даже это очень сложно.

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

Кроме того, если вам действительно интересно, как реализовать что-то подобное, лучше всего начать с изучения исходного кода WebSync, поскольку он не запутан.Будьте осторожны с плагиатом, поскольку у них есть немало уникальных ноу-хау.

Другой вариант - рассмотреть другие платформы (комет-серверы с открытым исходным кодом на других языках).Вы можете найти их более подходящими для этой задачи, чем C #.Например, вы обнаружите, что написание кометного сервера на эрланге очень просто.

РЕДАКТИРОВАТЬ: На самом деле уже есть два очень похожих вопроса по SO, которые могут помочьВы: Реализация кометы для ASP.NET? и Простой пример кода "Long Polling"?

4 голосов
/ 18 января 2011

взгляните на http://pokein.codeplex.com/

2 голосов
/ 01 февраля 2012

Посмотрите на SignalR, он бесплатный, очень простой в использовании и хорошо работает.

https://github.com/SignalR/SignalR

Скотт Хансельман говорит об этом в его блоге тоже

1 голос
/ 19 января 2011

Я искал то же самое и нашел https://github.com/nmosafi/aspComet, который является открытым исходным кодом (вы можете внести свой вклад в это, если хотите).У них есть рабочий образец на сайте, который вы можете посмотреть.У них есть парень, который ведет блог о некоторых дизайнерских решениях и т. Д., Которые вы можете найти полезными ( Ссылка на блог )

0 голосов
/ 27 марта 2011

Пожалуйста, посмотрите этот вопрос , если вы хотите рассмотреть Silverlight PollingDuplexHttpBinding как способ связать Javascript с вашим сервером.

...