SignalRConnection 1.0.4

Encapsula a criação de conexões e chamada aos métodos de um serviço SignalR.
Ex.: SignalRCreateConnection exemploHub = new SignalRCreateConnection("http://localhost:8082/signalr", "ExampleHub");
 SignalRCreateConnection notificationHub = new SignalRCreateConnection(host, "NotificationHub");

1- "Invocando um método no server SignalR"
Task<string> date = exemploHub.Invoke<string>("GetDateTimeFormated");
Console.WriteLine(date.Result);

2- Registrando-se para um evento
notificationHub.On<string>("getNewGuid", d =>
{
Console.WriteLine(d);
});

There is a newer version of this package available.
See the version list below for details.
Install-Package SignalRConnection -Version 1.0.4
dotnet add package SignalRConnection --version 1.0.4
<PackageReference Include="SignalRConnection" Version="1.0.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SignalRConnection --version 1.0.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: SignalRConnection, 1.0.4"
For F# scripts that support #r syntax, copy this into the source code to reference the package.
// Install SignalRConnection as a Cake Addin
#addin nuget:?package=SignalRConnection&version=1.0.4

// Install SignalRConnection as a Cake Tool
#tool nuget:?package=SignalRConnection&version=1.0.4
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

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

Release Notes

- Removida implementação singleton.
- Incluído verificação de disponibilidade do serviço.
- Adicionada 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 History

Version Downloads Last updated
1.0.7 533 4/19/2018
1.0.6 514 4/11/2018
1.0.5 569 12/8/2017
1.0.4 729 11/30/2017