Проблема с Websocket с IIS 8 Express в Windows 7
Я попытался создать обработчик для веб-сокета, но context.IsWebSocketRequest возвращается всегда false и не работает с IIS 8 Express в Windows 7.
Как включить модуль для websocket или какой-либо шаг, который я пропустил? У меня есть приложение VS 2012 с динамическим URL-адресом IIS Express.
Пожалуйста, помогите тем же.
Ответы
Ответ 1
Протокол WebSocket должен быть включен в IIS 8 (см. http://www.codeguru.com/csharp/csharp/programming-html5-web-sockets-in-asp.net-4.5.htm). Кроме того, я не уверен, что веб-сокеты поддерживаются в Windows 7. Я только видел, что требуется Windows 8 или Windows Server 2012.
Ответ 2
Короткий ответ: вы можете писать приложения против WebSockets в Windows 7 с помощью IIS 8 Express, но вы не можете на самом деле проверить их. Он требует Windows 8 или Windows Server 2012.
Из IIS 8.0 Express ReadMe:
Поддержка WebSocket
IIS 8.0 Express поддерживает запись приложений WebSocket. Для получения дополнительной информации см. Спецификацию протокола WebSocket или тему пространства имен System.Net.WebSockets на веб-сайте Microsoft MSDN.
Функции Windows Server 2012 и Windows 8, которые не работают в операционных системах верхнего уровня
Есть несколько функций, которые требуют специфической архитектуры для Windows Server 2012 и Windows 8 Client, которые не будут работать вниз при установке IIS 8.0 Express при более ранних операциях системы:
Обозначение имени сервера (SNI)
Центральный магазин сертификатов
Функциональность WebSocket
Затем из System.Net.WebSockets запись MSDN (выделено мной):
Некоторые классы в пространстве имен System.Net.WebSockets поддерживаются в Windows 7, Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008. Тем не менее, единственные публичные реализации клиентских и серверных WebSockets поддерживаются в Windows 8 и Windows Server 2012 Классы и элементы класса в пространстве имен System.Net.WebSockets, которые поддерживаются в Windows 7, Windows Vista с пакетом обновления 2 (SP2) и Windows Server 2008, являются абстрактными классами. Это позволяет разработчику приложения наследовать и расширять эти абстрактные классы с фактической реализацией клиентских WebSockets.