Asp.net 信号器路由问题,获取200 ok,但响应为空

Asp.net 信号器路由问题,获取200 ok,但响应为空,asp.net,routing,signalr,Asp.net,Routing,Signalr,我有一个现有的MVC应用程序,我正在将一个集线器集成到其中,现在我已将集线器设置为: routeTable.MapHubs("myapp/chat/room", new HubConfiguration { EnableCrossDomain = true, EnableDetailedErrors = true, EnableJavaScriptProxies = true }); 然后在客户端,我是这样连接的: var connection = $.hubConnection(System

我有一个现有的MVC应用程序,我正在将一个集线器集成到其中,现在我已将集线器设置为:

routeTable.MapHubs("myapp/chat/room", new HubConfiguration { EnableCrossDomain = true, EnableDetailedErrors = true, EnableJavaScriptProxies = true });
然后在客户端,我是这样连接的:

var connection = $.hubConnection(SystemConfiguration.ServiceUrl + "/myapp/chat/room", { useDefaultPath: false });
var hub = this.Connection.createHubProxy("ChatHub"); // Same name as on the hub attribute
connection.start().done(function(){ /* do stuff */});
然后我看到HTTP请求如下所示:

http://localhost:23456/myapp/chat/room/negotiate?_=1374187915970

响应头

Access-Control-Allow-Cred...    true, true
Access-Control-Allow-Head...    content-type, x-requested-with, *
Access-Control-Allow-Meth...    GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Orig...    http://localhost:34567, http://localhost:34567
Access-Control-Max-Age  10000
Cache-Control   no-cache
Content-Length  420
Content-Type    application/json; charset=UTF-8
Date    Thu, 18 Jul 2013 22:52:18 GMT
Expires -1
Pragma  no-cache
Server  Microsoft-IIS/8.0
X-AspNet-Version    4.0.30319
X-Content-Type-Options  nosniff
请求头

Accept  application/json, text/javascript, */*; q=0.01
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Content-Type    application/x-www-form-urlencoded; charset=UTF-8
Host    localhost:23456
Origin  http://localhost:34567
Referer http://localhost:34567/myapp/chat?chatId=1764a2e3-ff6f-4a17-9c5f-d99642301dbf
User-Agent  Mozilla/5.0 (Windows NT 6.2; WOW64; rv:22.0) Gecko/20100101 Firefox/22.0
虽然响应不包含主体,但其状态为200。。。我正在服务器上调试,并且从未命中集线器方法。在这个场景中唯一不标准的事情是,我有一个定制的CORS HttpModule,它拦截流量并附加CORS所需的头,正如您在响应中看到的那样,因此不确定这是否会以某种方式混淆Signal的CORS支持。无论如何,我可以看到HttpModule被击中,所以它很好地通过了那里,但不知何故在那里和中心之间丢失了


尝试过谷歌搜索,但没有太多关于此主题的信息…

问题似乎取决于我在HttpModule级别上对CORS的处理,它一定与Signal有冲突。。。如果我在模块中检查URL是否包含“chat/room”,并在需要时忽略该请求,那么它可以正常工作,不过感觉像是黑客攻击,但至少现在可以工作。

浏览器控制台中是否记录了javascript错误?没有。上面的请求在firefox控制台中显示为红色,但我认为这是因为没有内容或其他内容,但没有实际的JS错误。