如何使用 SignalR 使用跨域连接(CORS - 访问控制允许来源)

How to use cross-domain connections (CORS - Access Control Allow Origin) with SignalR(如何使用 SignalR 使用跨域连接(CORS - 访问控制允许来源))

本文介绍了如何使用 SignalR 使用跨域连接(CORS - 访问控制允许来源)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用持久连接和 ASP.NET JavaScript 客户端,我尝试连接到与提供页面的子域不同的子域.

Using persistent connections and an ASP.NET JavaScript client, I am trying to connect to a sub-domain not the same as the one the page was served from.

ASP.Net 页面想要连接到位于 sub2.mydomain.com 的 SignalR.在同一子域中连接时,相同的代码可以正常工作.

ASP.Net Page from webserver sub1.mydomain.com wants to connect to SignalR at sub2.mydomain.com. The same code works fine when connecting within the same sub-domain.

我发现另一个帖子启用了跨域连接:

I found another post where cross-domain connections were enabled with:

jQuery.support.cors = true;

但这对我不起作用.

如何使用持久连接和 JavaScript 客户端连接到第二个子域中的 SignalR?

How can I connect to SignalR in a second sub-domain using persistent connection and a JavaScript client?

推荐答案

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

You need to do one of the following to make it work:

  • 设置 $.connection.hub.url = 'http://subdomain.domain.com/signalr';,指向您的子域.
  • 在服务器上启用跨域:

  • Set up $.connection.hub.url = 'http://subdomain.domain.com/signalr';, pointing to your subdomain.
  • Enable cross domain on the server:

RouteTable.Routes.MapHubs(new HubConfiguration()
{
  EnableCrossDomain = true
});

这篇关于如何使用 SignalR 使用跨域连接(CORS - 访问控制允许来源)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:如何使用 SignalR 使用跨域连接(CORS - 访问控制允许来源)

基础教程推荐