我正在尝试为我的项目配置我的 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);
});
});
全局.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 版本。
我不知道我在这里做错了什么我看到有连接但无法建立。
最佳答案
很多功劳归功于this男人。 他让我的问题很容易解决。
看,首先我所有的引用文献都是 4.0 然后我使用了 Signalr Older version 1.1.4
这是我的错误场景:
SignalR 无法连接: 我通过在我的 Global.asax 文件中添加
RouteTable.Routes.MapHubs();
行来消除此错误。请求协商:我犯了一个愚蠢的错误,namespace 在我的 chat.aspx 页面中不同。
<- 版本冲突:看,我得到的以前的库与 signalR 的当前版本 (2.3.2) 不兼容。所以,我不得不坚持以前的版本 (1.1.3) 给出的步骤 here它非常整洁。
同样,我非常确定我的代码 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,效果很好!!!
我已经为 future 的偏好添加了所有场景。
关于c# - SignalR 拒绝连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28668289/