SignalRConnectionStandard 1.0.0
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);
});
3- Verificar disponibilidade do serviço
if(notificationHub.ServerOnline)
{
Console.WriteLine("Serviço OnLine");
Install-Package SignalRConnectionStandard -Version 1.0.0
dotnet add package SignalRConnectionStandard --version 1.0.0
<PackageReference Include="SignalRConnectionStandard" Version="1.0.0" />
paket add SignalRConnectionStandard --version 1.0.0
#r "nuget: SignalRConnectionStandard, 1.0.0"
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
- SignalR (https://www.asp.net/signalr)
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
- SignalR (https://www.asp.net/signalr)
Dependencies
-
.NETStandard 2.0
- Microsoft.AspNet.SignalR.Client (>= 2.4.1)
Used By
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.0 | 242 | 9/23/2019 |