SignalRConnection 1.0.4
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package SignalRConnection --version 1.0.4
NuGet\Install-Package SignalRConnection -Version 1.0.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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"
#r directive can be used in F# Interactive and Polyglot Notebooks. 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.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
- SignalR (https://www.asp.net/signalr)
- Topshelf (http://topshelf-project.com/index.html)
- Log4net (https://logging.apache.org/log4net/)
- SimpleInjector (https://simpleinjector.readthedocs.io/en/latest/webapiintegration.html)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
- log4net (>= 2.0.8)
- Microsoft.AspNet.SignalR.Client (>= 2.2.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Removida implementação singleton.
- Incluído verificação de disponibilidade do serviço.
- Adicionada referências.