gpt4 book ai didi

javascript - 无法在 SignalR 中解析集线器

转载 作者:太空宇宙 更新时间:2023-11-04 15:36:00 25 4
gpt4 key购买 nike

我正在开发一个 signalR 项目,该项目在 API 中包含一个 Web API,我添加了我的集线器类,然后创建了一个单独的 javascript 客户端来使用它客户,通过这个我得到了错误说examhub' Hub 无法解决。我不知道为什么可以提供帮助。

我的中心代码:

public class ExamHub : Hub
{
public void Send(string name , string message)
{
Clients.All.broadcast(name, message);
}
}

Javascript 客户端:

 <html>
<head>
<meta name="viewport" content="width=device-width" />
<script src="https://code.jquery.com/jquery-2.2.4.min.js"
integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44="
crossorigin="anonymous"></script>
<script src="~/Scripts/jquery.signalR-2.2.2.js"></script>
<script src="http://localhost:51822/signalr/hubs"></script>
<title>SignalR</title>
</head>
<body>
<div>
</div>
<script type="text/javascript">
$(function () {
var exam = $.connection.examHub;

exam.client.broadcast = function (name, message) {
alert(name + "" + message);
}
$.connection.hub.start().done(function () {
exam.server.send("Alameer", "Hi");
});
});
</script>

</body>

</html>

最佳答案

当你在 api 中配置 signalr 时,你设置了你的客户端也应该监听的 url。在下面的示例中,如果我的 api 是 http://localhost:51822那么我的客户端将监听的 url 将是

public class Startup
{
public void Configuration(IAppBuilder app)
{
// Any connection or hub wire up and configuration should go here
app.MapSignalR("/signalr", new HubConfiguration());
}

}

}

然后在客户端项目中配置它的 javascript signalr 连接,如下所示

<script type="text/javascript">
$(function () {

var hub = $.connection.myHub;
$.connection.hub.url = 'http://localhost:51822/signalr';

$.connection.hub.start();
});
</script>

请记住,您可能需要在您的开发环境中允许 CORS。我不建议您设置项目以便在生产中允许使用 CORS,除非这是您的要求之一。代码中也不包含您需要设置的集线器。该信息可以找到here

关于javascript - 无法在 SignalR 中解析集线器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44348012/

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