Asp.net-Mvc-3
SignalR 跨域
我正在嘗試跨域工作的基本範例,但我無法讓它工作。根據這裡的某人https://github.com/SignalR/SignalR/issues/6,他通過添加
Access-Control-Allow-Origin標題使其工作。基本上,我已經向 mvc 3 應用程序添加了一個集線器,在 web.config 中添加了上述標頭,並創建了一個頁面來發送消息。此設置工作正常。接下來,我在頁面上使用相同的客戶端 javascript 創建了一個不同的 Web 應用程序,但使用以下方法將 url 設置為不同的伺服器:
$.connection.hub.url = 'http://www.myserver.com/signalr';一旦我使用遠端 URL,它就會停止工作。
如何讓 SignalR 跨域工作?
更新:一些補充資訊,上述方法適用於 chrome 和 firefox,但 IE9 不喜歡它……
我使用一個簡單的測試項目和 Internet Explorer 9 讓它工作,但這並不容易,首先我遇到了你描述的相同問題。我認為您幾乎就在那裡,您的 JavaScript 中只缺少以下行:
jQuery.support.cors = true;它告訴 jQuery 進行跨域呼叫。看起來很簡單,但真的很難找到;-)
我在一篇博文中解釋了我所做的所有步驟,因為到目前為止我還沒有找到關於這個主題的任何現有資訊。
告訴我是否還有其他問題。我有一個在 Internet Explorer 9 中執行的工作測試項目,可以發送給您。