加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

.net – SignalR – connection.hubName未定义

发布时间:2020-12-15 19:42:37 所属栏目:asp.Net 来源:网络整理
导读:我有以下SignalR集线器类(仅显示顶部): [HubName("DataServiceHub")]public class DataServiceHub : Hub,IDataServiceHub,IDisconnect,IConnected{.. 然后,我使用Main函数中的以下代码在Console App中自托管集线器: string hubsUrl = appSettingsReader.Ge
我有以下SignalR集线器类(仅显示顶部):
[HubName("DataServiceHub")]
public class DataServiceHub : Hub,IDataServiceHub,IDisconnect,IConnected
{
.
.

然后,我使用Main函数中的以下代码在Console App中自托管集线器:

string hubsUrl = appSettingsReader.GetValue("hubsUrl",typeof(string)).ToString();
var hubsServer = new Server(hubsUrl);
hubsServer.Configuration.DisconnectTimeout = TimeSpan.Zero;
hubsServer.MapHubs();
hubsServer.Start();

hubsUrl的值是“http:// localhost:4322 /”

一旦我运行了控制台应用程序如果我在Chrome浏览器“http:// localhost:4322 / signalsr / hubs”中浏览,我可以在底部看到SignalR javascript和我的集线器:

signalR.dataServiceHub = {
    _: {
        hubName: 'dataServiceHub',

我正在尝试从运行在HTTPS / SSL设置上的MVC3应用程序连接到此集线器(即站点url前缀为“https:// localhost /”

在我的Razor页面中,我肯定包含SignalR js:

<script src="/Website/Scripts/kendo/2012.2.710/jquery.min.js" type="text/javascript"></script>
<script src="/Website/Scripts/jquery.signalR-0.5.3.min.js" type="text/javascript"></script>
<script src="http://localhost:4322/signalr/hubs" type="text/javascript"></script>

请注意,我们正在使用Kendo,因此jquery js include是通过它.

然后在$(document).ready(function(){我有以下内容:

jQuery.support.cors = true;
var connection = $.hubConnection('http://localhost:4322');
var hub = connection.dataServiceHub;

但’hub’总是’未定义’.

我在这里错过了什么?

如果这是跨域问题 – 我该如何解决?

解决方法

集线器有2种编程模型,你可以将它们混合在一起:

> http://www.asp.net/signalr/overview/hubs-api/hubs-api-guide-javascript-client
> http://www.asp.net/signalr/overview/guide-to-the-api/hubs-api-guide-javascript-client

如果滚动到这些页面的底部,会有一个示例显示在每个模型中使用跨域需要执行的操作.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读