Azure Function 到 SignalR(无服务器)到 Web 应用程序
Azure Function to SignalR (Serverless) to Web app
所以我相当坚持这一点。多年来,我们一直在 Web 应用程序中使用“默认”SignalR,一切都很好。
我们现在想要添加一个 Azure Function,它要求 SignalR 是无服务器的。我可以轻松获得 SignalR 和 Azure 函数来玩球。
但是,我无法让 Web App 像它所说的那样与 SignalR 对话
“严重:服务返回握手错误:Azure SignalR 服务处于无服务器模式,不允许服务器连接。ID:fe6a4f57-6293-4b6f-bdec-9040ff60aef5”
好的,看看其他教程,例如:
https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-quickstart-dotnet-core
https://softchris.github.io/pages/dotnet-signalr.html#configure-signalr
你可以在 Javascript
const connection = new signalR.HubConnectionBuilder()
.withUrl('https://*****-sb-staging-signalr.service.signalr.net/statushub')
.build();
bindConnectionMessage(connection);
然而,这给了我 CORS 问题,即使 SignalR 接受所有并且我在 mty Startup.cs
services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder.WithOrigins("https://******-sb-staging-admin.azurewebsites.net/")
.AllowCredentials();
});
});
和
services.AddSignalR(srConfig => srConfig.EnableDetailedErrors = true).AddAzureSignalR();
services.AddCors();
我究竟如何才能让 Web 应用程序与 SignalR Serverless 对话
你的 Azure Functions 的作用是什么?您的 Web 应用程序中是否仍然定义了 Hub 逻辑?
在默认模式下,您的 Web 应用程序 处理客户端的生命周期,SignalR 服务就像一个代理,它通过 路由所有客户端流量服务器连接 到 Web 应用程序,而在无服务器模式下,SignalR 服务 处理客户端的生命周期。 This article 详细描述了差异。
如果您仍然让 Web 应用程序处理 Hub
class 中的客户端,并且 Azure Function 仅用于向这些客户端发送消息,请使用默认模式。
所以我相当坚持这一点。多年来,我们一直在 Web 应用程序中使用“默认”SignalR,一切都很好。
我们现在想要添加一个 Azure Function,它要求 SignalR 是无服务器的。我可以轻松获得 SignalR 和 Azure 函数来玩球。
但是,我无法让 Web App 像它所说的那样与 SignalR 对话
“严重:服务返回握手错误:Azure SignalR 服务处于无服务器模式,不允许服务器连接。ID:fe6a4f57-6293-4b6f-bdec-9040ff60aef5”
好的,看看其他教程,例如:
https://docs.microsoft.com/en-us/azure/azure-signalr/signalr-quickstart-dotnet-core https://softchris.github.io/pages/dotnet-signalr.html#configure-signalr
你可以在 Javascript
const connection = new signalR.HubConnectionBuilder()
.withUrl('https://*****-sb-staging-signalr.service.signalr.net/statushub')
.build();
bindConnectionMessage(connection);
然而,这给了我 CORS 问题,即使 SignalR 接受所有并且我在 mty Startup.cs
services.AddCors(options =>
{
options.AddDefaultPolicy(builder =>
{
builder.WithOrigins("https://******-sb-staging-admin.azurewebsites.net/")
.AllowCredentials();
});
});
和
services.AddSignalR(srConfig => srConfig.EnableDetailedErrors = true).AddAzureSignalR();
services.AddCors();
我究竟如何才能让 Web 应用程序与 SignalR Serverless 对话
你的 Azure Functions 的作用是什么?您的 Web 应用程序中是否仍然定义了 Hub 逻辑?
在默认模式下,您的 Web 应用程序 处理客户端的生命周期,SignalR 服务就像一个代理,它通过 路由所有客户端流量服务器连接 到 Web 应用程序,而在无服务器模式下,SignalR 服务 处理客户端的生命周期。 This article 详细描述了差异。
如果您仍然让 Web 应用程序处理 Hub
class 中的客户端,并且 Azure Function 仅用于向这些客户端发送消息,请使用默认模式。