Xians.Lib
3.40.5
dotnet add package Xians.Lib --version 3.40.5
NuGet\Install-Package Xians.Lib -Version 3.40.5
<PackageReference Include="Xians.Lib" Version="3.40.5" />
<PackageVersion Include="Xians.Lib" Version="3.40.5" />
<PackageReference Include="Xians.Lib" />
paket add Xians.Lib --version 3.40.5
#r "nuget: Xians.Lib, 3.40.5"
#:package Xians.Lib@3.40.5
#addin nuget:?package=Xians.Lib&version=3.40.5
#tool nuget:?package=Xians.Lib&version=3.40.5
Xians.Lib
A robust .NET library for establishing HTTP and Temporal server connections with built-in resilience, retry logic, and health monitoring.
Releases
# Define the version
export VERSION=1.3.7 # or 1.3.7-beta for pre-release
# Create and push a version tag
git tag -a v$VERSION -m "Release v$VERSION"
git push origin v$VERSION
Installation
dotnet add package Xians.Lib
⚠️ Important: API Key Format
The API key must be a Base64-encoded X.509 certificate, not a simple string.
The certificate must contain:
- Organization (O=) field with your tenant ID
- Common Name (CN=) field with your user ID
Example:
# ❌ WRONG - Simple string will fail
API_KEY=my-api-key-123
# ✅ CORRECT - Base64-encoded certificate
API_KEY=MIIDXTCCAkWgAwIBAgIJAKL5g3aN3dqKMA0GCSqGSIb3DQEBCwUA...
See Authentication Guide for details.
Quick Start
Recommended: Initialize from Environment (Fetches Temporal config from server):
using Xians.Lib.Common;
// Set environment variables:
// SERVER_URL=https://api.example.com
// API_KEY=your-api-key
var (httpService, temporalService) = await ServiceFactory.CreateServicesFromEnvironmentAsync();
// Use HTTP service
var response = await httpService.GetWithRetryAsync("/api/data");
// Use Temporal service (config fetched from server)
var temporalClient = await temporalService.GetClientAsync();
Alternative: Direct initialization:
using Xians.Lib.Common;
var (httpService, temporalService) = await ServiceFactory.CreateServicesFromServerAsync(
serverUrl: "https://api.example.com",
apiKey: "your-api-key"
);
// Temporal settings automatically fetched from: GET /api/agent/settings/flowserver
Manual Configuration (Advanced):
using Xians.Lib.Configuration;
using Xians.Lib.Common;
// HTTP only
var httpConfig = new ServerConfiguration
{
ServerUrl = "https://api.example.com",
ApiKey = "your-api-key"
};
using var httpService = ServiceFactory.CreateHttpClientService(httpConfig);
// Temporal only (manual config)
var temporalConfig = new TemporalConfiguration
{
ServerUrl = "localhost:7233",
Namespace = "default"
};
using var temporalService = ServiceFactory.CreateTemporalClientService(temporalConfig);
📚 Documentation
Comprehensive guides and examples are available in the docs directory:
- Getting Started - Installation and quick start
- Configuration - Complete configuration reference
- HTTP Client Guide - HTTP client usage and best practices
- Sub-Workflows - Child workflow orchestration and composition
- Scheduling - Workflow scheduling and cron jobs
- Multi-Tenancy - Multi-tenant architecture and isolation
- Examples - Working code examples
🔑 Key Features
Resilience:
- Automatic retry with exponential backoff
- Health monitoring and auto-reconnection
- Connection pooling and lifecycle management
Security:
- TLS 1.2/1.3 enforcement
- Certificate-based authentication
- mTLS support for Temporal
Developer-Friendly:
- Simple configuration with validation
- Extension methods for common operations
- Thread-safe for concurrent use
- Comprehensive logging
📝 License
Copyright (c) 99x. All rights reserved.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. 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. |
-
net10.0
- Microsoft.Extensions.Caching.Memory (>= 10.0.5)
- Microsoft.Extensions.Hosting (>= 10.0.5)
- Microsoft.Extensions.Http (>= 10.0.5)
- Microsoft.Extensions.Logging (>= 10.0.5)
- Microsoft.Extensions.Logging.Console (>= 10.0.5)
- OpenTelemetry (>= 1.15.3)
- OpenTelemetry.Api (>= 1.15.3)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.15.3)
- Temporalio (>= 1.13.0)
- Temporalio.Extensions.OpenTelemetry (>= 1.13.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.40.5 | 104 | 11/6/2026 |
| 3.40.2 | 525 | 10/30/2026 |
| 3.40.1 | 3,249 | 10/15/2026 |
| 3.40.0 | 98 | 10/14/2026 |
| 3.39.1 | 372 | 10/12/2026 |
| 3.39.0 | 200 | 10/7/2026 |
| 3.38.0 | 113 | 10/7/2026 |
| 3.37.2 | 144 | 10/1/2026 |
| 3.37.0 | 175 | 9/18/2026 |
| 3.36.0 | 256 | 8/14/2026 |
| 3.35.0 | 189 | 7/27/2026 |
| 3.34.0 | 341 | 7/10/2026 |
| 3.33.0 | 157 | 7/6/2026 |
| 3.32.0 | 141 | 7/4/2026 |
| 3.31.0 | 152 | 7/4/2026 |
| 3.28.6 | 1,674 | 9/20/2026 |
| 3.28.5 | 5,025 | 8/7/2026 |
| 3.28.4 | 658 | 7/31/2026 |
| 3.28.3 | 589 | 7/21/2026 |
| 3.28.2 | 1,058 | 7/8/2026 |