2016-03-15 101 views
0

我在遇到允许SignalR持续连接的所有起源时遇到了麻烦。似乎,确定“UseCors”没有效果。端点初始化程序(与涉及CORS设置)如下:
app.Map("/myendpoint", map => { map.UseCors(CorsOptions.AllowAll).RunSignalR<MyEndPoint>(); }); 用于SignalR持久连接的CORS

并尝试建立在远程机器上从一个js代码连接仍然导致“否‘访问控制允许来源’标头呈现在请求的资源上“。我做错了什么,并且有办法允许CROSS-ORIGIN请求吗?

回答

0

在启动

using System; 
using System.Threading.Tasks; 
using Microsoft.Owin; 
using Owin; 
using Microsoft.Owin.Cors; 

[assembly: OwinStartup(typeof(Werp.Wacc.Web.API.Startup))] 

namespace YourApplication.API 
{ 
public class Startup 
{ 
    /// <summary> 
    ///Configure Signal R 
    /// </summary> 
    public void Configuration(IAppBuilder app) 
    { 
     // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888 
     app.UseCors(CorsOptions.AllowAll); 
     // Any connection or hub wire up and configuration should go here 
     app.MapSignalR(); 
    } 


    } 

} 
+0

你应该* *编辑你的答案,而不是发布一个新的。 –

+0

是的。我打算这样做,现在我删除了我的第一个答案。 –

+0

我发现了这个令人讨厌的错误的原因,结果发现了一些完全不同的东西:该应用程序在具有非常有限权限的用户的linux(单声道)下运行。因此请求处理过程会崩溃,返回响应500并跳过添加CORS头部到响应。简而言之:请记住,当您遇到应用程序错误时,您也很可能会收到CORS错误,因为应用程序将简单地跳过添加任何必要的标头。 – user2082616