我刚刚安装了信号器示例(使用 nuget 下载)
nuget 中的所有内容都安装得很好,它是一个干净的项目(只是为了测试示例),但我收到以下错误:
throw "SignalR: 必须在发送数据之前启动连接。在 .send() 之前调用 .start()";
我刚刚安装了信号器示例(使用 nuget 下载)
nuget 中的所有内容都安装得很好,它是一个干净的项目(只是为了测试示例),但我收到以下错误:
throw "SignalR: 必须在发送数据之前启动连接。在 .send() 之前调用 .start()";
使用包管理器
install-package Microsoft.Owin.Host.SystemWeb
并在 startup.cs 中进行更改
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Microsoft.AspNet.SignalR.StockTicker.Startup), "Configuration")]
namespace Microsoft.AspNet.SignalR.StockTicker
{
public static class Startup
{
public static void Configuration(IAppBuilder app)
{
Microsoft.AspNet.SignalR.StockTicker.Startup.ConfigureSignalR(app);
}
public static void ConfigureSignalR(IAppBuilder app)
{
app.MapSignalR();
}
}
}
将 Startup.cs 文件中的代码替换为以下代码块,这将有望修复 js 错误
using Microsoft.Owin;
using Owin;
[assembly: OwinStartup(typeof(Microsoft.AspNet.SignalR.StockTicker.Startup))]
namespace Microsoft.AspNet.SignalR.StockTicker
{
public static class Startup
{
public static void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
}
}
你必须先打电话,
$.connection.hub.start
例如 :
var myConnection = $.connection.myConnection;
$.connection.hub.start({ transport: 'auto' }, function () {
alert('connected');
});
/// now you can do what ever you want.
myConnection.SendHello('Just Testing');
现在,当您加载打开页面时,您应该会看到浏览器消息(已连接),以确保 signalR 已建立连接。