我是asp.net的新手。我正在学习SignalR,通过这个tutorial
。我已按照教程中的说明正确创建了所有内容。现在,当我运行控制台应用程序时,ERROR - > “发生了一个或多个错误。”在hubConnection.Start().Wait();
。(控制台应用程序仍在运行)。无论如何我甚至尝试运行 Web应用程序,它没有给出任何错误,但按钮broadcast
没有做任何动作(我认为应该)。当我检查 Web应用程序中的代码时,我看到其中一个脚本源有绿色涂鸦。这是图像。
请解释我做错了什么..
编辑:我正在使用ASP.NET开发服务器。
Edit2 :我在Google Chrome控制台中收到的错误是:
Uncaught Error: SignalR: jQuery not found. Please ensure jQuery is referenced before the SignalR.js file. jquery.signalR-1.0.0-alpha2.min.js:10
Uncaught TypeError: Cannot read property 'signalR' of undefined hubs:17
Uncaught ReferenceError: $ is not defined
回答:我刚刚在我的代码中添加了jQuery的所有脚本,并且“找不到文件”错误是粗心的,因为它在服务器端运行。
链接也已参考jQuery进行了更新
答案 0 :(得分:8)
对于遇到此问题的其他人,我错误地只是从tutorial复制代码并更新到最新版本的SignalR。该版本已经明显改变,需要在脚本引用中更新,即
jQuery src应该是(取决于你安装的signalR的版本):
<script src="Scripts/jquery.signalR-1.1.3.js"></script>
同样的事情显然适用于标准的jQuery库。
答案 1 :(得分:3)
错误消息完全描述了问题所在:
未捕获错误:SignalR:找不到jQuery。请确保在SignalR.js文件之前引用jQuery。
您需要包含jQuery。
答案 2 :(得分:1)
尝试"signalr/hubs"
而不是"/signalr/hubs"
答案 3 :(得分:0)
今天,我将jQuery和SignalR升级到2.2.0并且jQuery无法加载,尽管我在SignalR之前添加了jQuery。
并且,我将jQuery降级为2.1.4系统运行良好。
<script type="text/javascript" src="Scripts/jquery-2.1.4.js"></script>
<script type="text/javascript" src="Scripts/jquery.signalR-2.2.0.js"></script>
答案 4 :(得分:0)
如果使用带有*
的npm来定义jQuery版本,例如:package.json中的"jquery": "*",
并且该版本得到升级,您可能也会看到与此非常类似的问题。
所以降级jQuery的版本:"jquery": "2.2.4",