使用 Azure SignalR 收到的协商响应无效



我目前正在尝试在我的 Blazor 应用中使用 Azure SignalR,但目前遇到了看起来像身份验证错误的困难。

我已经在我的Program.cs文件中设置了它以包含Azure SignalR:

builder.Services.AddSignalR().AddAzureSignalR();

然后,我将连接字符串添加到appsettings.json中,该字符串经过验证,因为在运行应用程序时收到以下消息:

集线器现在已连接到"(主)xxx.service.signalr.net")

我已经在我的Program.cs中映射了我的中心。

app.MapHub<MessageHub>('/messagehub');

但是,当我尝试连接到集线器时,我遇到以下问题:

收到的协商响应无效。

我相信这是我在我的应用程序中进行身份验证,并且由于未经身份验证的错误而产生此错误。

但是,如何向 Azure 进行身份验证并使用该中心?

我已经按照MSDOC在Blazor App中使用AzureSignalR服务。

我希望你也遵循同样的方式。如果没有,请按照以下解决方法操作 在应用程序中使用最新的Microsoft.Azure.SignalR包 我已在appsettings.json文件中添加了 azureSignalR的连接字符串

"Azure": {
"SignalR": {
"Enabled": true,
"ConnectionString": "<SignalR Connection String>"
}
},
# use ServerStickyMode to avoid Inconsistent UI state management. If you are using many servers
"Azure:SignalR:ServerStickyMode": "Required"

我正在使用端点来映射中心。

app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/Fallback page");
endpoints.MapHub<YourHub>('/YourHub');
});

配置服务中添加Azure SignalR服务

public void ConfigureServices(IServiceCollection services) {
services.AddSignalR().AddAzureSignalR();
...
}

配置这些后,您可以对中心进行身份验证。

如果仍然遇到问题,请在配置服务中添加以下代码行以了解详细错误。

services.AddSignalR(
s => 
{
s.EnableDetailedErrors = true;                    
});

有关类似问题,请参阅 SO 线程

相关内容

  • 没有找到相关文章

最新更新