我正在尝试将signalR演示配置到我的项目
框架:4.0 , SignalR版本:1.1.3
这是我的代码
$(function () {
var connection = $.hubConnection('http://localhost:32555/');
var chat = connection.createHubProxy('myChatHub');
chat.on('send', function (message) {
$('#chat').html($('#chat').html() + "\r\n" + message);
});
connection.logging = true;
connection.start().done(function () {
alert("Connection Complete");
$('#sendBtn').click(function () {
chat.invoke('send', $('#message').val());
});
}).fail(function (param) {
console.log(param);
});
});
Global.asax中
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });
}
.CS
namespace vPortal
{
[HubName("myChatHub")]
public class LetsChat : Hub
{
public void send(string message,string userid,string Name)
{
Clients.All.addMessage(message, userid, Name);
}
}
}
当我尝试运行该页面时出现此错误
SignalR: Error during negotiation request:
但是,我已经在 global.asax 中启用了代理,我尝试将signalR升级到版本 2.2.3 。 但是,我的项目包与当前版本不兼容,所以我安装了1.1.3版本。
我不知道我在这里做错了什么我看到有连接但无法建立。
答案 0 :(得分:1)
很多信誉归this人所有。 他让我的问题很容易解决。
首先,我的所有引用都是 4.0 然后我使用了Signalr旧版本1.1.4
这是我的错误情景:
SignalR无法连接:
我通过在Global.asax文件中添加行RouteTable.Routes.MapHubs();
来删除此错误。
请求协商:我的chat.aspx页面中的名称空间有所不同。
同样,我非常确定我的代码signalR能正常工作:
所以,运行我的聊天,我的第一条消息成功然后再次出现错误,一段时间后错误是
the added or subtracted value results in an un-representable datetime. signlar
所以,这对我来说是一个令人头痛的问题。这肯定与signalR无关 我从frebin那里得到了线索,我意识到我的web.config
<httpRuntime executionTimeout="180" maxRequestLength="512000" />
executionTimeout之前的值为 9999999999
我改为180,它的工作正常!!!
我已添加了未来偏好的所有方案。