Как стать автором
Обновить

Комментарии 26

Русская студия, «Универсальный обработчик». Ох
Я вот не нашел пока способа включить английский язык, а вы?
За пример, спасибо.

А теперь играем в ребус — разгадай, как это выглядит в EN студии

RU вариант до сих пор выбивает из колеи
Universal handler, возможно.

Насколько я понимаю, речь идет про ashx
Насколько я помню, в английской версии это будет Generic Handler.
ASP.NET Handler )
тогда что же случилось в VS 2012 RC?
image

Если это он, то у него другое расширение (cs), а у Generic Handler — ashx.
именно Generic Handler! Вы правы )
я понял фокус с отсутствием элемента в списке — он становится доступным только если проект ASP.NET. Из Library и др. не будет доступен.
Большое спасибо. Обязательно посмотрю.
Да, я согласен, более того, чат — это самый распространенный пример под SignalR, его даже на девконе показывали.
Ну моя цель была не написать свой чат, а показать, как можно работать с Web Socket средствами ASP.NET MVC 4. А SignalR выглядит очень интересно, обязательно посмотрю его поподробнее.
SignalR использует WebSockets в качестве транспорта, если это возможно, если нет, то он откатывается на другие технология, включая long pooling
А можно источник информации про то, что оно станет частью asp.net? Поисковики что-то молчат на эту тему.
Еще бы хорошо сравнить нагрузку на клиент и на сервер для:
1) Web Socket
2) простых запросов, раз в N секунд.
Тоже очень интересует этот вопрос. Особенно если у нас приложение развернуто на клиентской винде.
Простите что вмешиваюсь, но на ASP я никогда не писал, но могу смело сказать за Python.

При каждом запросе идет разбор хэдеров, а значит будут затраты на их аналаиз. Если python подключен как cgi, то в добавок каждый модуль будет всегда подключатся и исполнятся заново, скорее всего ASP так не делает, по этому такой вариант стоит отбросить. Если использовать много поточный сервер, то остается только разбор HTTP хэдеров, а это порядка 10-20 строк.

В случае с ws, то хэдеры разбираются ровно один раз, при подключении. Но при каждом запросе, к примеру с Хрома, будет идти дешифровка сообщения, что в свою очередь тоже дает нагрузку, а я скажу что она будет повыше, чем разбор 20 HTTP заголовков.

Но если воспользоваться XMLSocket встроенными во Flash, то можно и отлично выиграть, он ничего не шифрует, а значит заниматься дешифровкой не надо.
Такие рассуждения, конечно, интересны, но хотелось бы услышать более конкретные результаты типа «Я написал чат сначала на повторяющихся запросах раз в секунду от каждого клиента, и у меня он выдерживал N одновременных пользователей. Потом я написал тоже самое на WebSocket и получил M одновременных пользователей.»
Похоже, есть проблема потокобезопасности на циклах обхода клиентов.
for (int i = 0; i < Clients.Count; i++)
{
...
}

Нужно использовать тот же Locker, но с методом EnterReadLock или создавать копию для чтения.

И еще вы оставляете в коллекции отключенных клиентов.
Начиная с какой версии IIS доступны WebSockets?
С 8 версии
У меня не распознается веб сокет реквест от последнего хрома.
if (context.IsWebSocketRequest) выдает false.

Кто нибудь с таким сталкивался?
Вы точно запускаете под полной версией IIS, а не под Express?
Также необходим IIS 8, который ставится только под Windows 8 и Windows Server 2012
Ссылка на скачку файла проекта не работает.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории