没有生成集线器文件。 我遇到了最常见的javascript错误,该错误也在图片中显示。 我搜索并找到了许多解决方案,但似乎没有任何效果。 例如更改参考src等。 这是我引用脚本文件的方式。
<script src="Scripts/jquery-3.3.1.min.js"></script>
<!--Reference the SignalR library. -->
<script src="Scripts/jquery.signalR-2.2.2.min.js"></script>
<!--Reference the autogenerated SignalR hub script. -->
<script src='<%: ResolveClientUrl("~/signalr/hubs") %>'></script>
请对此提出建议。该代码是Microsoft文档的示例代码。 Tutorial: Getting Started with SignalR 2
EDIT1:
经过进一步研究并更改了一些行,现在集线器文件为 目前,我可以看到运行时没有signalR JS文件。 错误是-
0x800a139e-JavaScript运行时错误:SignalR:未加载SignalR。请确保在〜/ signalr / js之前引用jquery.signalR-x.js。
答案 0 :(得分:0)
最后得到了答案。 我尝试了所有可能在互联网上获得的东西,然后起作用了。 并且在此行 [HubName(“ myHub”)]。。我之前的名称为 [HubName(“ MyHub”)] ,因此出现错误。
[HubName("myHub")]
public class MyHub : Hub
{
// public static string constr = System.Configuration.ConfigurationManager.ConnectionStrings["CresijCamConnectionString"].ConnectionString;
public void Send(string name, string message)
{
// Call the broadcastMessage method to update clients.
Clients.All.broadcastMessage(name, message);
}
您需要定义与JavaScript中使用的名称相同的HubName,以便在获取客户端时不会造成任何混乱。
var chat = $ .connection.myHub;