Является ли функция Visual Studio Browser Link способной использовать веб-сокеты?

Я понимаю, что SignalR используется для связи с клиентскими браузерами с использованием вложенной артерии script. У меня есть то, что кажется общей проблемой, а это то, что в моем сетевом журнале браузера заполняются записи, которые выглядят следующим образом:

.../arterySignalR/опрос транспорта = longPolling &? ConnectionToken =...

Это говорит мне о том, что SignalR возвращается к длительному опросу вместо использования сетевых сокетов. Предполагая, что у нас есть браузер, который поддерживает веб-сокеты и этот браузер работает на локальном хосте, не следует ли использовать SignalR по умолчанию для использования веб-сокетов? Что может заставить его вернуться к длительному опросу?

Ответ 1

Короткий ответ

Браузерная ссылка будет использовать только WebSockets в Windows 8 или Windows Server 2012

Более длинный ответ

Ниже приведено описание проблемы, если вы используете Visual Studio для Windows 7, Windows Vista или Windows Server 2008:

IIS (Express) зависит от реализации платформы .NET в System.Net.WebSockets для обработки соединений WebSocket; как вы можете прочитать в ссылке на MSDN, вы просто не получаете фактическую реализацию необходимых классов при установке .NET 4.5 в Windows 7.

Таким образом, в этом случае сервер не может согласиться с запросом клиента на переход от стандартного HTTP к протоколу WebSocket, что вынуждает клиент SignalR использовать один из резервных вариантов (в вашем случае: длительный опрос).