gpt4 book ai didi

asp.net-web-api - SignalR 响应覆盖 header

转载 作者:行者123 更新时间:2023-12-04 13:31:18 27 4
gpt4 key购买 nike

我已经构建了一个位于 WebAPI 服务中的简单 SignalR 集线器,我已经在 WebAPI 和 SignalR 中包含了所有必需的 CORS 属性。我的 WebAPI 端点都按预期工作,但 SignalR 不是。

我已经尝试了所有我能想到的以及我可以在网上找到的所有内容,但没有任何效果,我已经尝试过 this answer , 和 this other无解。

我的 SignalR 扩展方法如下所示

public static IAppBuilder UseSignalrNotificationService(this IAppBuilder app)
{
var config = new HubConfiguration();
config.Resolver = new HubDependencyResolver();
config.EnableDetailedErrors = true;
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(config);

return app;
}

我什至尝试使用 Web.config 在所有请求上添加响应头,但我总是得到相同的错误:

XMLHttpRequest cannot load https://MyApplicationServer/notifications/signalr/negotiate?clientProtocol=1.5&access_token=&connectionData=. A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'MyOriginService' is therefore not allowed access. The credentials mode of an XMLHttpRequest is controlled by the withCredentials attribute.

最佳答案

经过更多的研究和摆弄问题的服务器端,我遇到了this answer并发现错误与请求的客户端有关。根据 this GitHub issue ,请求的“withCredentials”参数始终设置为“true”。解决方案是在客户端调用 start 方法,如下所示:

$.connection.hub.start({ withCredentials: false }).done(function () {  //... }

关于asp.net-web-api - SignalR 响应覆盖 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36635343/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com