
请求头从前端传递到应用程序服务--配置的中间件向请求添加了一些额外的头,但是当它通过(Azure信号服务)到达集线器时,只有前端报头可用。在中间件中添加的标头丢失了吗?我的StartUp.cs如下所示
services.AddSignalR(
hubOptions =>
{
hubOptions.EnableDetailedErrors = true;
})
.AddAzureSignalR(config =>
{
config.Endpoints = new[]
{
new ServiceEndpoint(new Uri(Configuration.GetValue<string>("SignalRServiceUrl")),
new ManagedIdentityCredential(Configuration.GetValue<string>("AZURE_CLIENT_ID")))
};
});下面是中间件和集线器
app.UseMiddleware<AddHeaderMiddleware>();
app.UseAzureSignalR(endpoints =>
{
endpoints.MapHub<TestHub>("/api/TestHub");
});发布于 2022-04-13 12:11:04
是的,您在web应用程序中间件中设置的所有标头都将丢失。只有首先协商将进入服务器,然后所有的连接是作为网络套接字和客户端连接到Azure Signlar服务,而不是您的应用程序的中心。
如果您为您的SignalR应用程序启用了Azure SignalR服务器。从SignalR应用程序中心发送的所有响应将首先发送到Azure SignalR服务,Azure SignalR服务将通过使用web套接字将响应返回给客户端。
https://stackoverflow.com/questions/71711271
复制相似问题