Xians.Lib
3.19.0
dotnet add package Xians.Lib --version 3.19.0
NuGet\Install-Package Xians.Lib -Version 3.19.0
<PackageReference Include="Xians.Lib" Version="3.19.0" />
<PackageVersion Include="Xians.Lib" Version="3.19.0" />
<PackageReference Include="Xians.Lib" />
paket add Xians.Lib --version 3.19.0
#r "nuget: Xians.Lib, 3.19.0"
#:package Xians.Lib@3.19.0
#addin nuget:?package=Xians.Lib&version=3.19.0
#tool nuget:?package=Xians.Lib&version=3.19.0
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 | 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. |
-
net9.0
- Microsoft.Extensions.Caching.Memory (>= 9.0.5)
- Microsoft.Extensions.Hosting (>= 9.0.5)
- Microsoft.Extensions.Http (>= 9.0.5)
- Microsoft.Extensions.Logging (>= 9.0.5)
- Microsoft.Extensions.Logging.Console (>= 9.0.5)
- System.Text.Json (>= 9.0.5)
- Temporalio (>= 1.7.0)
- Temporalio.Extensions.OpenTelemetry (>= 1.7.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.19.0 | 28 | 3/23/2026 |
| 3.18.0 | 37 | 3/19/2026 |
| 3.17.0 | 90 | 3/16/2026 |
| 3.16.0 | 92 | 3/14/2026 |
| 3.15.0 | 96 | 3/11/2026 |
| 3.14.0 | 85 | 3/10/2026 |
| 3.13.2 | 85 | 3/5/2026 |
| 3.13.1 | 89 | 3/5/2026 |
| 3.13.0 | 89 | 3/1/2026 |
| 3.12.2 | 114 | 2/23/2026 |
| 3.12.1 | 100 | 2/23/2026 |
| 3.12.0 | 99 | 2/21/2026 |
| 3.11.1 | 97 | 2/18/2026 |
| 3.11.0 | 92 | 2/17/2026 |
| 3.10.8 | 97 | 2/16/2026 |
| 3.10.7 | 117 | 2/16/2026 |
| 3.10.7-patch | 96 | 2/20/2026 |
| 3.10.6 | 97 | 2/16/2026 |
| 3.10.5 | 102 | 2/15/2026 |
| 3.10.4-beta | 82 | 2/12/2026 |