我刚安装了信号器样本(用nuget下载)
从nuget安装的一切都很好,这是一个干净的项目(只是为了测试样本),但我得到以下错误:
throw“SignalR:必须先启动连接才能发送数据。在.send()之前调用.start()”;
答案 0 :(得分:8)
使用包管理器
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();
}
}
}
答案 1 :(得分:1)
使用以下代码块替换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();
}
}
}
答案 2 :(得分:0)
你先打电话,
$.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已建立连接。
答案 3 :(得分:0)