教程:使用 SignalR 2 进行服务器广播
Tutorial: Server Broadcast with SignalR 2
我阅读了这个优秀的教程:http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr。
然后我下载了 NuGet 示例包 Microsoft.AspNet.SignalR.Sample 2.2.0
(https://www.nuget.org/packages/microsoft.aspnet.signalr.sample),然后我使用带有索引页的 vs 2015 创建了新的 asp.net mvc 5 项目。
我假设 app.MapSignalR()
在 Startup.Configuration
方法中被调用。
像很多人一样,我得到了错误:ticker.client is undefined.
真正的问题是 var ticker = $.connection.stockTicker
始终为空,因为 $.connection
没有定义 stockTicker
属性 - 因为集线器无法实例化它。
有人知道这个错误的原因吗?
原始教程是 http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr 我将我的示例项目 zip 托管到我打开的 onedrive :https://onedrive.live.com/embed?cid=11357B31E08CCFEE&resid= 11357B31E08CCFEE%21107&authkey=ALMOtmTFdCdsyV8
解决方案中的"SignalR.Sample"目录内容是在asp.netmvc 4/5/6项目中集成的基础模板。所以我把它整合到 Views/Home/Index.cshtml 页面中。 Js 引用在文件 Views/Shared/_Layout.cshtml .
中
确切的问题是 var ticker = $.connection.stockTicker 为空(未与服务器完成初始化连接)。
如果你能帮助我,我谢谢你。
是的,您在 _Layout 中添加了 jQuery
和 Stockticker
脚本,但没有添加 signalr/hubs。必须按以下确切顺序加载脚本:
<script src="~/Scripts/jquery.signalR-2.2.0.js"></script>
<script src="~/signalr/hubs"></script>
<script src="~/Scripts/SignalR.StockTicker.js"></script>
确保 StockTicker.html 中的 JavaScript 文件引用是正确的。也就是说,确保脚本标记中的 jQuery 版本(示例中的 1.10.2)与项目的 Scripts 文件夹中的 jQuery 版本相同,并确保 SignalR 版本在您的脚本标签与项目的脚本文件夹中的 SignalR 版本相同。如有必要,更改脚本标签中的文件名。
确保您有 Any CPU 作为您的活动解决方案平台。我将它切换到 x64,这导致 SignalR 无法加载,因为它的平台不正确。
我阅读了这个优秀的教程:http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr。
然后我下载了 NuGet 示例包 Microsoft.AspNet.SignalR.Sample 2.2.0
(https://www.nuget.org/packages/microsoft.aspnet.signalr.sample),然后我使用带有索引页的 vs 2015 创建了新的 asp.net mvc 5 项目。
我假设 app.MapSignalR()
在 Startup.Configuration
方法中被调用。
像很多人一样,我得到了错误:ticker.client is undefined.
真正的问题是 var ticker = $.connection.stockTicker
始终为空,因为 $.connection
没有定义 stockTicker
属性 - 因为集线器无法实例化它。
有人知道这个错误的原因吗?
原始教程是 http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr 我将我的示例项目 zip 托管到我打开的 onedrive :https://onedrive.live.com/embed?cid=11357B31E08CCFEE&resid= 11357B31E08CCFEE%21107&authkey=ALMOtmTFdCdsyV8
解决方案中的"SignalR.Sample"目录内容是在asp.netmvc 4/5/6项目中集成的基础模板。所以我把它整合到 Views/Home/Index.cshtml 页面中。 Js 引用在文件 Views/Shared/_Layout.cshtml .
中确切的问题是 var ticker = $.connection.stockTicker 为空(未与服务器完成初始化连接)。
如果你能帮助我,我谢谢你。
是的,您在 _Layout 中添加了 jQuery
和 Stockticker
脚本,但没有添加 signalr/hubs。必须按以下确切顺序加载脚本:
<script src="~/Scripts/jquery.signalR-2.2.0.js"></script>
<script src="~/signalr/hubs"></script>
<script src="~/Scripts/SignalR.StockTicker.js"></script>
确保 StockTicker.html 中的 JavaScript 文件引用是正确的。也就是说,确保脚本标记中的 jQuery 版本(示例中的 1.10.2)与项目的 Scripts 文件夹中的 jQuery 版本相同,并确保 SignalR 版本在您的脚本标签与项目的脚本文件夹中的 SignalR 版本相同。如有必要,更改脚本标签中的文件名。
确保您有 Any CPU 作为您的活动解决方案平台。我将它切换到 x64,这导致 SignalR 无法加载,因为它的平台不正确。