SignalR 2.0.2创建PersistentConnection
我使用包管理器控制台将SignalR 2.0.2安装到我的MVC 4.5应用程序中。 我做了连接配置的标准示例。
namespace SignalRPersistent { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR("/echo"); } } }
问题是MapSignalR方法不接受字符串,而编译错误则说明了这一点
参数类型字符串不能分配给参数类型SignalRHubConfiguration。 但我可以看到一个接受字符串的重载方法,但它坚持不编译。 有什么问题?
我改变了下面的代码,然后我就开始工作了。
app.MapSignalR("/echo");
ConnectionHub是从PersistentConnectioninheritance的类。 互联网上的例子不需要指定课程,但它们对我没有用。
好吧,Ryu提供的解决方案是正确的 – 但可能会让许多人感到困惑。 说实话,我没有找到一个演练(使用完全相同的代码作为示例) – 但没有任何工作,部分原因是随着信号器项目的进展,许多东西变得过时了。
所以,你有一个扩展PersistentConnection的类,在这个类中你有所有的任务(OnConnected,OnReceived等):
using System.Threading.Tasks; using Microsoft.AspNet.SignalR; public class MyAwesomeConnection : PersistentConnection { protected override Task OnConnected(IRequest request, string connectionId) { var fromClient = request.QueryString["testQuery"]; return base.OnConnected(request, connectionId); } protected override Task OnReceived(IRequest request, string connectionId, string data) { return base.OnReceived(request, connectionId, data); } }
然后在OwinStartup类中“映射”该类(在本例中为MyAwesomeConnection ):
using DataCommunication; using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(SignalRServer.Startup))] namespace SignalRServer { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR("/server"); } } }
现在您可以使用javascript连接,并在引用jquery和jquery.signalR脚本时非常小心。 首先是jquery,然后是jquery.signalR,然后是所有其他使用signalR东西的脚本,并避免使用@ Scripts.Render(“bundles / jquery”)。 只是以旧时尚的方式做到:
@ViewBag.Title @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") @RenderBody() @Scripts.Render("~/bundles/bootstrap") @RenderSection("scripts", required: false)
在MyAwesomeConnection类的OnConnected内部设置一个断点,并读出fromClient变量,该变量将在客户端(javascript)连接时触发。 它应该有希望读出“这个废话终于有效”。
现在你应该很好地使用signalR构建一些引人注目的东西,如果某些东西仍然不起作用 – 那么你要么缺少nuget中的一些程序集,要么在项目中没有正确设置引用。
上述就是C#学习教程:SignalR 2.0.2创建PersistentConnection分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1016949.html