Asp.net

如何使用 SignalR 使用跨域連接(CORS - 訪問控制允許來源)

  • April 2, 2012

使用持久連接和 ASP.NET JavaScript 客戶端,我試圖連接到與提供頁面的子域不同的子域。

來自網路伺服器的 ASP.Net 頁面sub1.mydomain.com想要連接到 SignalR 在sub2.mydomain.com. 在同一子域中連接時,相同的程式碼可以正常工作。

我發現另一個文章啟用了跨域連接:

jQuery.support.cors = true;

但這對我不起作用。

如何使用持久連接和 JavaScript 客戶端連接到第二個子域中的 SignalR?

您需要執行以下操作之一才能使其工作:

  • 設置$.connection.hub.url = 'http://subdomain.domain.com/signalr';,指向您的子域。
  • 在伺服器上啟用跨域:
RouteTable.Routes.MapHubs(new HubConfiguration()
{
 EnableCrossDomain = true
});

引用自:https://stackoverflow.com/questions/9984534