当前位置: 首页 > 编程语言 > C#

SignalR自托管Windows服务,监听消息分享

时间:2023-04-10 13:48:15 C#

SignalR自托管Windows服务,监听消息我正在尝试搭建一个自托管的SignalRWindows服务。我在ASP.Net上读过像SignalRSelf-Host这样的教程,我注意到至少它似乎是基于广播信息的,而且我似乎找不到任何关于监听的东西。我需要在服务中收听消息和广播。我们已经有了背板设置——它与网站使用的设置相同。在网站上,我可以通过Javascript加入群组。如何在自托管SignalR服务中加入群组。在网站上,我在集线器上注册了一个回调。如何在自托管服务中注册相同的回调?我有一些用于注册和启动SignalR的示例代码是:GlobalHost.DependencyResolver.UseSqlServer(Settings.Default.ISDBContext);app.Map("/signalr",map=>{map.UseCors(CorsOptions.AllowAll);HubConfigurationhubConfig=newHubConfiguration(){EnableDetailedErrors=true,EnableJSONP=true,};map.RunSignalR(hubConfig);});然后我像这样启动我的webApp:SignalR=WebApp.Start(options);选项是我正在注册的网址。Startup是包含上面signalR映射的启动类。由于我之前没有构建过自托管服务,因此损失不大。通常,SignalR提供了一个实时消息传递环境,可以将消息推送给客户端,而无需客户端请求更新(您已经阅读了介绍,这就足够了)。是否从服务开始自托管应该没有什么区别。根据我对您的场景的理解:您需要使用来自自托管服务的消息。我认为您可能只需要提示SignalR桌面客户端。我认为您的应用程序/服务应该作为服务启动,然后充当服务本身的客户端。这将是最干净的方式。作为javascript客户端,它充当具有相同功能的服务的消费者:HubConnectionconn=newHubConnection("http://192.168.1.1:8080");IHubProxyhub=conn.CreateHubProxy("ChatHub");//从集线器调用客户端hub.On("addMessage",(name,message)=>{//处理传入的数据更新});从桌面客户端到集线器,反之亦然:awaithub.Invoke("Send",name,message);要使用组,需要在中心定义逻辑。该文档使用组来提供易于理解的概述。以上就是C#学习教程:SignalR自托管Windows服务,听完留言分享的全部内容,如果对大家有用,需要了解更多C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。涉及侵权,请点击维权联系管理员删除。如需转载请注明出处: