Можно ли запустить концентратор SignalR через Управление API Azure?

У меня тот же вопрос, что и этот парень: могу ли я запустить концентратор SignalR через службу управления Azure API?

введите здесь описание изображения

Кажется, я не могу настроить его в службе: он позволяет мне только перенаправлять трафик HTTP/HTTPS. Это соответствует ответу человека в сообщении на форуме. Я перешел по ссылке на форум Microsoft, но, похоже, вопрос там не обсуждался. Так как ответ был от 2014 года, я подумал - может и сейчас можно.


person Jochen van Wylick    schedule 12.06.2015    source источник


Ответы (3)


websocket в настоящее время не поддерживается в службе управления API Azure. Вы можете запросить функцию: http://feedback.azure.com/forums/248703-api-management/filters/new

person Miao Jiang    schedule 15.06.2015
comment
Выполнено: отзыв. azure.com/forums/248703-api-management/suggestions/. Спасибо. - person Jochen van Wylick; 16.06.2015

Это зависит от того, веб-сокеты не поддерживаются, но если вы используете ресурс azure signalr, только запрос на согласование; который является базовым сообщением для вашего концентратора, должен пройти через ваш APIM, а остальные сообщения (запросы веб-сокетов) будут напрямую связаны с azure signalr ressource.

person lazizanie    schedule 26.05.2020

Как известно, управление API Azure по-прежнему не поддерживает WebSockets

6 декабря 2016 г.
Будьте уверены, мы по-прежнему помним об этом запросе и постоянно его пересматриваем. Пожалуйста, продолжайте оставлять свои отзывы!

Если вы используете службу Azure SignalR, вы можете следовать этому пути описан @lazizanie, потому что ваша служба SignalR должна предоставлять только конечную точку согласования:

введите здесь описание изображения

Допустим, у вас есть концентратор с именем myHub в ASP.NET Core 3.1.

app.UseEndpoints(endpoints => endpoints.MapHub<Hub>("/myHub"));

Затем добавьте операцию в управлении API URL=POST /myHub/negotiate с параметром запроса negotiateVersion

или используйте редактор JSON и добавьте его в paths

"/myHub/negotiate": {
    "post": {
        "summary": "SignalR negotiate ",
        "operationId": "signalr-negotiate",
        "parameters": [{
            "name": "negotiateVersion",
            "in": "query",
            "schema": {
                "type": ""
            }
        }],
        "responses": {
            "200": {
                "description": null
            }
        }
    }
}

Для поддерживаемого узла службы SignalR, например https://myHubSignalR.westeurope.cloudapp.azure.com

person Roman Marusyk    schedule 21.10.2020