Я запускал свое обычное приложение на основе http через visual studio и отлаживал его без проблем бесчисленное количество раз. Сегодня мне поручено добавить поддержку websocket, что я и сделал. Мой обработчик теперь выглядит следующим образом:
public class ChatHandler : IHttpHandler
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
if (context.IsWebSocketRequest)
{
context.AcceptWebSocketRequest(ProcessRequestInternal);
}
else
{
context.Response.StatusCode = 400;
}
}
Мой webconfig имеет один обработчик перехвата всех, который указывает здесь и отлично работает для обычных запросов http. Однако, если я пытаюсь использовать websocket.org или мой клиент для выполнения запроса ws (я избегаю wss, потому что https не настроен на моем локальном компьютере), запросы просто истекают, а вышеуказанный код никогда не достигается (он достигается, если я использую обычный запрос http).
Я гуглил настройки в applicationhost.config и обнаружил, что кто-то перечисляет кучу вещей из далекого прошлого, когда их нужно добавить для веб-сокетов, но в эти дни появляется стандартное applicationhost.config чтобы иметь все эти вещи.
Кто-нибудь знает, что мне нужно сделать, чтобы IIS Express принимал запросы веб-сокетов?
Вся веб-документация предназначена для случаев, когда у вас действительно работает машина IIS и использование управления сервером для добавления поддержки веб-сокетов, однако у меня ничего этого нет, поскольку я просто запускаю его из Visual Studio.
Спасибо!