注意:別人最初問這個問題,但刪除它之前,我可以發佈我的答案。由於這個問題涵蓋了許多開發人員在嘗試使SignalR跨域工作時遇到的問題,因此我決定複製它。另外,我已經寫完了答案!跨域不能使用SignalR PersistentConnection
我在ASP.NET MVC .NET Framework 4項目中運行SignalR 1.0.1服務器。我在另一個域(不同的本地主機端口)嘗試通過JavaScript客戶端連接另一個ASP.NET應用程序。我得到這個,當我的應用程序試圖連接:
XMLHttpRequest cannot load http://localhost:31865/api/negotiate?_=1363105027533.
Origin http://localhost:64296 is not allowed by Access-Control-Allow-Origin.
我已經執行了所有步驟,從而實現跨域支持,SignalR - 我缺少什麼?
jQuery.support.cors = true;
$.connection('http://localhost:31865/api', '', false, { jsonp: true, xdomain: true });
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });
RouteTable.Routes.MapConnection<ApiConnection>("/api", "api");
我還添加在API項目中的以下到Web.config中:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
我ü爲我的SignalR服務器唱一個PersistentConnection,而不是集線器。
任何想法?
你好@ halter73,你能否給我提供一個使用signalR的多個聊天室的演示。我想實現像chat.stackoverflow.com聊天服務器或任何鏈接。請幫幫我。我有一個演示,但沒有工作。可以通過電子郵件給我的演示? – 2015-12-09 05:55:57
我的電子郵件地址是:[email protected]。如果你有任何演示請發給我。 – 2015-12-09 06:31:21