gpt4 book ai didi

asp.net-mvc-3 - SignalR 在启动时不发送网络请求

转载 作者:行者123 更新时间:2023-12-01 03:49:23 24 4
gpt4 key购买 nike

因此,我们正在使用 signalR 实现一些消息传递系统。我们通过最新版本的 Nuget 包含了 signalR。该应用程序托管在 IIS 7 上。我们已禁用所有 URL 重写规则。

我们正在使用集线器,请参阅以下代码:


[HubName("messages")]
public class Messages : Hub
{
public void Send(string message)
{
Clients.showPopUp(message);
}
}

View 中的包含文件:

<script src="@Url.Content("~/Scripts/jquery-1.7.1.min.js")" type="text/javascript"></script>       
<script src="@Url.Content("~/Scripts/jquery.signalR.js")" type="text/javascript"></script>
<script src="@Url.Content("~/signalr/hubs")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/Messages/Messages.js")" type="text/javascript"></script>

Messages.js 的内容:

$(function () {
var messages = $.connection.messages;

messages.showPopUp = function (message) {
console.log("test");
};

$.connection.hub.start(function () {
console.log('connected');
});
});

提交消息时调用:

$.connection.messages.send($('#Body').val());

所以我们得到的是:Google Chrome 控制台中没有错误,没有 xhr 请求,所以信号结束了。

我们检查了 /signalr/hubs 是否存在,并且确实存在,/signalr/negotiate 返回以下 json:

{"Url":"/agenda/signalr","ConnectionId":"a4215b26-32f1-4a52-bf6d-4de096298a07","TryWebSockets":false,"WebSocketServerUrl":null,"ProtocolVersion":"1.0"}

当我们调用 send 时,我们会在控制台中看到以下内容:

Uncaught SignalR: Connection must be started before data can be sent. Call .start() before .send()

如果我们调试 signalR,我们会看到 start 被调用,但我们没有遇到 jQuery ajax 调用的错误或成功,并且没有任何 xhtml 请求。我们做错了什么?

No Web requests

最佳答案

关于asp.net-mvc-3 - SignalR 在启动时不发送网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com