[英].NetCore SignalR CORS is not allowing client calls
在我的.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(); 對我來說是最好的解決方案。
誰能告訴我如何實現它。
您應該調用app.UseCors()方法,該方法通過CORS中間件將CORS策略應用於所有應用程序端點。
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseHsts();
}
app.UseCors();
app.UseHttpsRedirection();
app.UseMvc();
}
有關cors的更多信息,請點擊這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.