我可以 运行 SignalR hub 通过 Azure API 管理吗?
Can I run SignalR hub through Azure API Management?
我有与 this guy 相同的问题:我可以通过 Azure API 管理服务 运行 我的 SignalR 中心吗?
我似乎无法在服务中配置它:它只允许我转发 HTTP/HTTPS 流量。这与论坛 post 中的人的回答相符。
我跟随 link 进入了 Microsoft 论坛,但问题似乎并没有在那里跟进。由于响应来自 2014 年,我想 - 也许现在是可能的。
Azure API 管理目前不支持 websocket。请随时提出功能请求:http://feedback.azure.com/forums/248703-api-management/filters/new
视情况而定,不支持 websockets,但如果您使用 azure signalr 资源,则仅支持协商请求;这是您的集线器的基本 post,必须通过您的 APIM,其余的 coms(websocket 请求)将直接使用 azure signalr 资源。
据我们所知,Azure API 管理 still doesn't support WebSockets
Dec 6, 2016:
Rest assured we still have this request in mind and are continually
reviewing it. Please keep your feedback coming!
如果您使用的是 Azure SignalR Service,那么您可以按照@lazizanie 描述的方式进行操作,因为您的 SignalR 服务应该只提供协商端点:
假设您在 ASP.NET Core 3.1
中有一个名为 myHub 的集线器
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
我有与 this guy 相同的问题:我可以通过 Azure API 管理服务 运行 我的 SignalR 中心吗?
我似乎无法在服务中配置它:它只允许我转发 HTTP/HTTPS 流量。这与论坛 post 中的人的回答相符。 我跟随 link 进入了 Microsoft 论坛,但问题似乎并没有在那里跟进。由于响应来自 2014 年,我想 - 也许现在是可能的。
Azure API 管理目前不支持 websocket。请随时提出功能请求:http://feedback.azure.com/forums/248703-api-management/filters/new
视情况而定,不支持 websockets,但如果您使用 azure signalr 资源,则仅支持协商请求;这是您的集线器的基本 post,必须通过您的 APIM,其余的 coms(websocket 请求)将直接使用 azure signalr 资源。
据我们所知,Azure API 管理 still doesn't support WebSockets
Dec 6, 2016:
Rest assured we still have this request in mind and are continually reviewing it. Please keep your feedback coming!
如果您使用的是 Azure SignalR Service,那么您可以按照@lazizanie 描述的方式进行操作,因为您的 SignalR 服务应该只提供协商端点:
假设您在 ASP.NET Core 3.1
中有一个名为 myHub 的集线器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