.NetCore SignalR CORS不允许客户端调用

时间:2019-03-12 07:53:54

标签: c# .net-core signalr

在我的.Netcore应用程序中,我正在使用SingalR将消息传递给不同的客户端

我的代码就是这样

      services.AddCors( options =>
                          {
                              options.AddPolicy( "mypolicy", builder =>
                                                 {
                                                     builder.AllowAnyHeader();
                                                     builder.AllowAnyMethod();
                                                     builder.AllowAnyOrigin();
                                                     builder.AllowCredentials();
                                                 } );
                          } );

        services.AddMvc();
        services.Configure<MvcOptions>( options => { options.Filters.Add( new CorsAuthorizationFilterFactory( "mypolicy" ) ); } );
        services.Configure<SignalROptions>( options => options.Hubs.EnableDetailedErrors = true );

我的.Netcore应用程序在http://localhost:88上运行,我正在通过http://localhost访问它

如果我尝试使用

        builder.WithOrigins("http://localhost");

我能够访问SignalR服务。我的问题是,我将从不同的客户端访问.NetCore应用程序,这意味着从不同的客户端域访问,因此实际上不可能在WithOrgins中添加所有这些客户端。

所以builder.AllowAnyOrigin();对我来说是最好的解决方案。

谁能告诉我如何实现这一目标。

0 个答案:

没有答案