SignalR的客户端.NET Client介绍

SignalR支持两种客户端:JavaScript Client.NET Client一个简单的SignalR例子中的SignalRDemo(点赞页面)就是JavaScript Client(HTML中的JavaScript脚本)。而.NET Client包括但不限于Windows Console,Windows Form,WPF,Windows Phone等。

这里介绍Windows Console客户端。

一个简单的SignalR例子的代码基础上,添加一个Windows Console。通过NuGet安装Microsoft.AspNet.SignalR.Client。接下来添加代码。

首先创建HubConnection, 参数是点赞页面运行的地址(因为SignalR服务端RateHub由IIS或者IIS Express托管)。接下来创建Hub代理,确保名字和RateHub类的HubName属性值一致。然后添加rateUpdate的相应处理(输出点赞数),rateUpdate事件由服务器端触发。然后启动Hub连接。

接下来的代码:只要按Y键,就触发服务端RateHub的Rate方法(增加点赞数)。

    class Program
    {
        static void Main(string[] args)
        {
            var hubConnection = new HubConnection("http://localhost:58480/");
            IHubProxy stockTickerHubProxy = hubConnection.CreateHubProxy("rateHub");
            stockTickerHubProxy.On<int>("rateUpdate", Update);
            hubConnection.Start();

            Console.WriteLine("Please type 'Y' key to rate");
            var input = Console.ReadKey().Key;
            while (input == ConsoleKey.Y)
            {
                stockTickerHubProxy.Invoke("Rate");
                input = Console.ReadKey().Key;
            }
        }

        static void Update(int rating)
        {
            Console.WriteLine();
            Console.WriteLine("Good({0})", rating);
        }
    }

程序添加完毕,打开网页http://localhost:58480/rate.html,然后运行Console,在网页上点击按钮或者Console中按下Y键,两边同时更新点赞数。

本文如有不妥之处,请见谅!

原文地址:https://www.cnblogs.com/everylittlebit/p/5360450.html