我有一個 ASP.NET Core 2.2 MVC 項目,我需要專門為 SignalR 集線器設置 CORS 策略,但不是全局設置(不適用于所有控制器和操作)。如果我按照建議添加app.UseCors()它,但在全球范圍內,我只需要為 SignalR 應用該策略。有沒有辦法做到這一點?編輯 2019-07-22 18:33 中歐夏令時這是我使用的 CORS 策略:services.AddCors(o =>? ? ? ? ? ? {? ? ? ? ? ? ? ? o.AddPolicy("MyCorsPolicy", b =>? ? ? ? ? ? ? ? {? ? ? ? ? ? ? ? ? ? b.AllowAnyHeader()? ? ? ? ? ? ? ? ? ? .AllowAnyMethod()? ? ? ? ? ? ? ? ? ? .SetIsOriginAllowed(s => true)? ? ? ? ? ? ? ? ? ? .AllowCredentials();? ? ? ? ? ? ? ? });? ? ? ? ? ? });
1 回答

偶然的你
TA貢獻1841條經驗 獲得超3個贊
經過幾個小時的嘗試,我不得不求助于 GitHub,這就是 Brennan Conroy 的建議:https ://github.com/aspnet/AspNetCore/issues/12564
它有效!
編輯 2019-07-29 13:40 中歐夏令時
這就是有幫助的:
app.Map("/path", c =>
{
c.UseCors("somePolicy");
c.UseSignalR(route =>
{
route.MapHub<MyHub>("/hub");
});
});
客戶端將通過“/path/hub”連接到集線器。
- 1 回答
- 0 關注
- 114 瀏覽
添加回答
舉報
0/150
提交
取消