Asp.Net Core API 和 WinForm 的 SignalR 例子
2021-03-08 22:30
                         标签:href   client   partial   rri   包括   社交网络   其他应用   tde   services    ASP.NET Core SignalR 是一个开源库,它简化了向应用程序添加实时 web 功能的功能。 实时 Web 功能使服务器端代码能够即时将内容推送到客户端。 创建SignalR服务端Asp.Net Core API 这参考了Blog系统的写法 ChatHub 创建中间件SignalRSendMildd和MiddlewareHelpers MiddlewareHelpers Startup类Configure方法里调用中间件设置SignalR服务路由 创建SignalR客户端发送消息返回发送的消息内容,这里客户端用winform Demo下载 Asp.Net Core API 和 WinForm 的 SignalR 例子 标签:href   client   partial   rri   包括   社交网络   其他应用   tde   services    原文地址:https://www.cnblogs.com/SuperDust/p/12769647.html什么是 SignalR?
官方列举的SignalR适用场景:
引用SignalR序列化的包    Install-Package Microsoft.AspNetCore.SignalR.Protocols.NewtonsoftJson -Version 3.1.3    
Startup类ConfigureServices方法里注册SignalR服务    services.AddSignalR().AddNewtonsoftJsonProtocol();    
创建SignalR的Hub定义消息,分别是IChatClient和ChatHub
IChatClient  public interface IChatClient
  {
      /// 
  public class ChatHub : Hub
SignalRSendMildd  /// 
  public static class MiddlewareHelpers
  {
      /// 
     // signalr
         app.UseSignalRSendMildd();
         app.UseEndpoints(endpoints =>
         {
             endpoints.MapControllers();
             endpoints.MapHub
这是界面
引用SignalR的包    Install-Package Microsoft.AspNetCore.SignalR.Client          public partial class WinFormsApp : Form
  {
      private HubConnection connection;
      public WinFormsApp()
      {
          InitializeComponent();
          SignalRConnection();
      }
      public async void SignalRConnection()
      {
          connection = new HubConnectionBuilder()
                .WithUrl("http://localhost:5000/signalr/chatHub")
                .Build();
          await connection.StartAsync();
          connection.Closed += async (error) =>
          {
              await Task.Delay(new Random().Next(0, 5) * 1000);
              await connection.StartAsync();
          };
      }
      private async void button1_Click(object sender, EventArgs e)
      {
          try
          {
              await connection.InvokeAsync("WinFormsApp", "SignalRClient", this.textBox1.Text);
              connection.On
文章标题:Asp.Net Core API 和 WinForm 的 SignalR 例子
文章链接:http://soscw.com/index.php/essay/62017.html