SignalRConnection 1.0.7

Install-Package SignalRConnection -Version 1.0.7
dotnet add package SignalRConnection --version 1.0.7
<PackageReference Include="SignalRConnection" Version="1.0.7" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SignalRConnection --version 1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SignalRConnection, 1.0.7"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install SignalRConnection as a Cake Addin
#addin nuget:?package=SignalRConnection&version=1.0.7

// Install SignalRConnection as a Cake Tool
#tool nuget:?package=SignalRConnection&version=1.0.7
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

SignalRConnection

  • Encapsula a criação de conexões e chamada aos métodos de um serviço SignalR.

Exemplo

  • SignalRCreateConnection
    class Pessoa
    {
        public string Nome { get; set; }
        public string Endereco { get; set; }
        public string Telefone { get; set; }
        public int CartaoCredito { get; set; }
    }

    class Program
    {
        private static string host = "http://localhost:8082/signalr";

        static void Main()
        {
            Task.Factory.StartNew(() => OnExempleHub());
            Task.Factory.StartNew(() => InvokeExempleHub());
            Task.Factory.StartNew(() => InvokeNotificationHub());
            Console.ReadKey();
        }

        private static void OnExempleHub()
        {

            Task.Factory.StartNew(() =>
            {
                SignalRCreateConnection notificationHub = new SignalRCreateConnection(host, "ExampleHub");
                notificationHub.On<string>("listenDateTime", d =>
                {
                    Console.WriteLine(d);
                });

                notificationHub.On<string>("getNewGuid", g =>
                {
                    Console.WriteLine(g);
                });

                do
                {
                    //executar alguma ação caso o serviço esteja indisponível
                    if (!notificationHub.ServerOnline)
                    {
                        Console.WriteLine("Server SignalR OffLine.");
                    }

                    Thread.Sleep(2000);
                } while (true);

            });

            Console.ReadKey();

        }

        private static void InvokeNotificationHub()
        {
            SignalRCreateConnection notificationHub = new SignalRCreateConnection(host, "NotificationHub");

            while (true)
            {
                notificationHub.Invoke("SendNewGuid");
                Task<Pessoa> pessoa = notificationHub.Invoke<Pessoa>("GetPessoa");

                if (!notificationHub.ServerOnline)
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"Server OffLine -> {(string.IsNullOrEmpty(pessoa.Result.Nome) ? "No Connection - Result [GetPessoa]: Null" : "Connected - Result [GetPessoa]: " + pessoa.Result.Nome)}");
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.WriteLine($"Server OnLine -> {(string.IsNullOrEmpty(pessoa.Result.Nome) ? "No Connection - Result [GetPessoa]: Null" : "Connected - Result [GetPessoa]: " + pessoa.Result.Nome)}");
                }

                Thread.Sleep(1000);
            }
        }

        private static void InvokeExempleHub()
        {
            SignalRCreateConnection exemploHub = new SignalRCreateConnection(host, "ExampleHub");

            while (true)
            {
                Task<string> date = exemploHub.Invoke<string>("GetDateTimeFormated");

                if (!exemploHub.ServerOnline)
                {
                    Console.Clear();
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.WriteLine($"Server OffLine -> {(string.IsNullOrEmpty(date.Result) ? "No Connection - Result [GetDateTimeFormated]: Null" : "Connected - Result [GetDateTimeFormated]: " + date.Result)}");
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Gray;
                    Console.WriteLine($"Server OnLine -> {(string.IsNullOrEmpty(date.Result) ? "No Connection - Result [GetDateTimeFormated]: Null" : "Connected - Result [GetDateTimeFormated]: " + date.Result)}");
                }

                Thread.Sleep(1000);
            }
        }
    }
    
    

Referências

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.7 611 4/19/2018
1.0.6 596 4/11/2018
1.0.5 644 12/8/2017
1.0.4 824 11/30/2017

- Disponibilizada propriedade para indicar conexão com o serviço [IsConnected].