Esempio n. 1
0
        // ReSharper disable once UnusedParameter.Local
        private static async Task Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            var channel = new SignalRChannel("https://localhost:44350/test", new ClientBridge(), new TestLogWriter());

            channel.Changed += x =>
            {
                Console.WriteLine($"Changed: {x.ConnectionState}");
            };

            channel.Advised += x =>
            {
                Console.WriteLine($"Advised: {x.Message}");
            };

            await channel.Start();

            await channel.InvokeAsync("notifymessage", "Hello World");

            await channel.InvokeAsync("doclientstuff", "doclientstuff", "Calling doClientStuff");

            await channel.InvokeAsync("doguidtest", "Calling doGuidTest");

            Console.ReadLine();
        }
Esempio n. 2
0
 /// <summary>
 /// 推送消息到订阅者
 /// </summary>
 /// <param name="channel"></param>
 /// <param name="message"></param>
 public static void PublishSubscriber(SignalRChannel channel, SignalRMessage message)
 {
     try
     {
         var sub      = RedisManager.GetConnInstance().GetSubscriber();
         var received = sub.Publish(channel.ToString(), Json.ToJson(message));
         if (received <= 0)
         {
             //如果没有订阅者,记录错误日志
             LogExtention.Instance().Error(null, channel, message);
         }
     }
     catch (Exception ex)
     {
         LogExtention.Instance().Error(ex, channel, message);
     }
 }