tre*_*003 5 .net ssl https asp.net-mvc-3 signalr
我有以下SignalR集线器类(仅显示顶部):
[HubName("DataServiceHub")]
public class DataServiceHub : Hub, IDataServiceHub, IDisconnect, IConnected
{
.
.
Run Code Online (Sandbox Code Playgroud)
然后,我使用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();
Run Code Online (Sandbox Code Playgroud)
hubsUrl的值是"http:// localhost:4322 /"
一旦我运行了控制台应用程序如果我在Chrome浏览器"http:// localhost:4322/signalsr/hubs"中浏览,我可以在底部看到SignalR javascript和我的集线器:
signalR.dataServiceHub = {
_: {
hubName: 'dataServiceHub',
Run Code Online (Sandbox Code Playgroud)
我正在尝试从运行在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>
Run Code Online (Sandbox Code Playgroud)
请注意,我们正在使用Kendo,因此jquery js include是通过它.
然后在$(document).ready(function(){我有以下内容:
jQuery.support.cors = true;
var connection = $.hubConnection('http://localhost:4322');
var hub = connection.dataServiceHub;
Run Code Online (Sandbox Code Playgroud)
但'hub'总是'未定义'.
我在这里错过了什么?
如果这是跨域问题 - 我该如何解决?
集线器有 2 种编程模型,您正在混合它们:
如果您滚动到这些页面的底部,有一个示例向您展示了在每个模型中使用跨域所需的操作。
| 归档时间: |
|
| 查看次数: |
12341 次 |
| 最近记录: |