Skip to content

C# Examples

C# examples demonstrate connectivity to all three Virtufin services.

Service SDKs

Package Registry Install
Virtufin.WorkManager.Client Gitea NuGet dotnet add package Virtufin.WorkManager.Client
Virtufin.WebSocketManager.Client Gitea NuGet dotnet add package Virtufin.WebSocketManager.Client
Virtufin.Api.Client Gitea NuGet dotnet add package Virtufin.Api.Client

Central Package Management

Versions are managed in dotnet/Directory.Packages.props:

<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
<PackageVersion Include="Virtufin.WorkManager.Client" Version="1.0.*" />

Key Patterns

// WebSocketManager
using var client = new WebSocketManagerClient(host);
var result = await client.ConnectAsync(new ConnectRequest
{
    Url = "wss://stream.binance.com:9443/ws/btcusdt@depth@100ms",
    AutoReconnect = true,
    CorrelationMode = CorrelationMode.Raw
});

// State store
var httpClient = new HttpClient { BaseAddress = new Uri(apiUrl) };
await httpClient.PostAsync("/v1/state/save-state", new StringContent(
    JsonSerializer.Serialize(new { service = "examples", key = "key", value = "value" }),
    Encoding.UTF8, "application/json"));