Jus*_*ode 5 c# asp.net signalr
我正在尝试将我的 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);
});
});
Run Code Online (Sandbox Code Playgroud)
全局.asax
protected void Application_Start(object sender, EventArgs e)
{
RouteTable.Routes.MapHubs(new HubConfiguration { EnableCrossDomain = true });
}
Run Code Online (Sandbox Code Playgroud)
。CS
namespace vPortal
{
[HubName("myChatHub")]
public class LetsChat : Hub
{
public void send(string message,string userid,string Name)
{
Clients.All.addMessage(message, userid, Name);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试运行该页面时出现此错误
SignalR: Error during negotiation request:
Run Code Online (Sandbox Code Playgroud)
但是,我已经在global.asax中启用了代理,我尝试将 signalR 升级到版本2.2.3。但是,我的项目包与当前版本不兼容,所以我安装了1.1.3版本。
我不知道我在这里做错了什么我看到有一个连接但无法建立。
很多功劳都归功于这个人。他让我的问题很容易解决。
看,首先我所有的参考都是4.0然后所以我使用 Signalr 旧版本 1.1.4
这是我的错误场景:
SignalR 无法连接RouteTable.Routes.MapHubs();:我通过在 Global.asax 文件中添加这些行来删除此错误 。
请求协商:我犯了一个愚蠢的错误,我的 chat.aspx 页面中的命名空间不同。
再说一遍,我非常确定我的代码 signalR 会正常工作:
因此,运行我的聊天,我的第一条消息成功,然后一段时间后再次出现错误,错误是
the added or subtracted value results in an un-representable datetime. signlar
Run Code Online (Sandbox Code Playgroud)
所以,这对我来说是个大麻烦。这绝对与 signalR 无关,我从 frebin 那里得到了线索,我意识到在我的 web.config 中
<httpRuntime executionTimeout="180" maxRequestLength="512000" />
Run Code Online (Sandbox Code Playgroud)
executionTimeout 之前的值为9999999999
我改成180了,效果很好!!!
我已经添加了未来偏好的所有场景。