.net – SignalR – connection.hubName未定义

前端之家收集整理的这篇文章主要介绍了.net – SignalR – connection.hubName未定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有以下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

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

猜你在找的asp.Net相关文章