Tharga.Communication
0.0.3
See the version list below for details.
dotnet add package Tharga.Communication --version 0.0.3
NuGet\Install-Package Tharga.Communication -Version 0.0.3
<PackageReference Include="Tharga.Communication" Version="0.0.3" />
<PackageVersion Include="Tharga.Communication" Version="0.0.3" />
<PackageReference Include="Tharga.Communication" />
paket add Tharga.Communication --version 0.0.3
#r "nuget: Tharga.Communication, 0.0.3"
#:package Tharga.Communication@0.0.3
#addin nuget:?package=Tharga.Communication&version=0.0.3
#tool nuget:?package=Tharga.Communication&version=0.0.3
Tharga Communication
A SignalR-based communication framework for .NET with built-in message handler patterns for request-response and fire-and-forget messaging.
Features
- Fire-and-forget and request-response messaging patterns
- Automatic message handler discovery via dependency injection
- Client connection tracking with metadata
- Automatic reconnection with configurable delays
- Extensible client state storage
Getting started
Server
builder.AddThargaCommunicationServer(options =>
{
options.RegisterClientStateService<MyClientStateService>();
options.RegisterClientRepository<MemoryClientRepository<ClientConnectionInfo>, ClientConnectionInfo>();
});
app.UseThargaCommunicationServer();
Client
Add to appsettings.json:
{
"Tharga": {
"Communication": {
"ServerAddress": "https://localhost:5001"
}
}
}
builder.AddThargaCommunicationClient();
Message handlers
// Fire-and-forget
public class MyHandler : PostMessageHandlerBase<MyMessage>
{
public override Task Handle(MyMessage message) => Task.CompletedTask;
}
// Request-response
public class PingHandler : SendMessageHandlerBase<PingRequest, PingResponse>
{
public override Task<PingResponse> Handle(PingRequest message) =>
Task.FromResult(new PingResponse("Pong"));
}
For full documentation and examples, see the GitHub repository.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.5)
- Microsoft.AspNetCore.SignalR.Client.Core (>= 10.0.5)
- Tharga.Runtime (>= 0.1.7)
-
net9.0
- Microsoft.AspNetCore.SignalR.Client (>= 10.0.5)
- Microsoft.AspNetCore.SignalR.Client.Core (>= 10.0.5)
- Tharga.Runtime (>= 0.1.7)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Tharga.Communication:
| Package | Downloads |
|---|---|
|
Tharga.MongoDB.Monitor.Client
Forwards MongoDB monitoring data to a central server via Tharga.Communication. |
|
|
Tharga.MongoDB.Monitor.Server
Receives MongoDB monitoring data from remote agents via Tharga.Communication and aggregates it into the local IDatabaseMonitor. |
|
|
Tharga.Communication.Mcp
Exposes Tharga.Communication runtime data (connected clients, active subscriptions, registered handlers) via MCP (Model Context Protocol). Plugs into Tharga.Mcp. |
GitHub repositories
This package is not used by any popular GitHub repositories.