Quilt4Net.Toolkit 0.6.0

dotnet add package Quilt4Net.Toolkit --version 0.6.0
                    
NuGet\Install-Package Quilt4Net.Toolkit -Version 0.6.0
                    
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="Quilt4Net.Toolkit" Version="0.6.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Quilt4Net.Toolkit" Version="0.6.0" />
                    
Directory.Packages.props
<PackageReference Include="Quilt4Net.Toolkit" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Quilt4Net.Toolkit --version 0.6.0
                    
#r "nuget: Quilt4Net.Toolkit, 0.6.0"
                    
#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.
#:package Quilt4Net.Toolkit@0.6.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Quilt4Net.Toolkit&version=0.6.0
                    
Install as a Cake Addin
#tool nuget:?package=Quilt4Net.Toolkit&version=0.6.0
                    
Install as a Cake Tool

Quilt4Net.Toolkit

GitHub repo

Core library providing health checks, metrics, remote configuration, feature toggles, content management, and Application Insights integration for .NET applications.

Features can be configured and monitored using Quilt4Net Web.

Feature toggles and remote configuration

Manage configuration and feature flags remotely via Quilt4Net Web or with a Blazor component from Quilt4Net.Toolkit.Blazor.

Feature toggles are boolean values of remote configuration.

Get started

Install the NuGet package Quilt4Net.Toolkit and register the service.

builder.AddQuilt4NetRemoteConfiguration();

Add your API key from Quilt4Net Web in appsettings.json.

{
  "Quilt4Net": {
    "ApiKey": "YOUR_API_KEY_HERE"
  }
}

Feature toggles

Inject IFeatureToggleService to check boolean feature flags.

public class MyService
{
    private readonly IFeatureToggleService _featureToggle;

    public MyService(IFeatureToggleService featureToggle)
    {
        _featureToggle = featureToggle;
    }

    public async Task DoWorkAsync()
    {
        if (await _featureToggle.GetToggleAsync("new-feature", fallback: false))
        {
            // new feature logic
        }
    }
}

Remote configuration

Inject IRemoteConfigurationService for typed configuration values.

var maxRetries = await _configService.GetValueAsync("MaxRetries", fallback: 3);

RemoteConfigurationOptions

Property Default Description
ApiKey null API key from Quilt4Net Web.
Quilt4NetAddress "https://quilt4net.com/" Quilt4Net server address.
Ttl null Time-to-live for cached values.

Configuration path: Quilt4Net:RemoteConfiguration

Content management

Manage multilingual content from Quilt4Net Web.

builder.AddQuilt4NetContent();

Inject IContentService to retrieve and manage content.

var (value, success) = await _contentService.GetContentAsync("welcome-message", "Hello!", languageKey, ContentFormat.String);

ContentOptions

Property Default Description
Application Assembly name Application name.
Quilt4NetAddress "https://quilt4net.com/" Quilt4Net server address.
ApiKey null API key from Quilt4Net Web.

Configuration path: Quilt4Net:Content

Health check client

Client for consuming health endpoints from a remote service that uses Quilt4Net Health API.

builder.AddQuilt4NetHealthClient(o =>
{
    o.HealthAddress = "https://my-service.example.com/api/Health/";
});

Inject IHealthClient to call remote health endpoints.

var health = await _healthClient.GetHealthAsync(cancellationToken);
var metrics = await _healthClient.GetMetricsAsync(cancellationToken);
var version = await _healthClient.GetVersionAsync(cancellationToken);

HealthClientOptions

Property Default Description
HealthAddress null Address to the remote health API.

Configuration path: Quilt4Net:HealthClient

Application Insights client

Client for querying Application Insights data (logs, metrics, exceptions).

builder.AddQuilt4NetApplicationInsightsClient();

ApplicationInsightsOptions

Property Default Description
TenantId null Azure AD tenant ID (found under "Tenant properties" in Azure portal).
WorkspaceId null Application Insights workspace ID.
ClientId null App registration client ID with Data.Read permission on Application Insights API.
ClientSecret null Client secret for the app registration.

Configuration path: Quilt4Net:ApplicationInsights

Measure extensions

Extension methods on ILogger to measure and log execution time.

// Measure synchronous work
_logger.Measure("ProcessOrder", () =>
{
    // work to measure
});

// Measure async work with result
var result = await _logger.MeasureAsync("FetchData", async () =>
{
    return await _repository.GetDataAsync();
});

// Log a count
_logger.Count("ItemsProcessed", items.Length);

Logging attributes

Control HTTP request/response logging on endpoints.

[Logging(RequestBody = true, ResponseBody = false)]
public async Task<IActionResult> StreamData() { ... }

[LoggingStream] // Shorthand for ResponseBody = false
public async Task<IActionResult> StreamEvents() { ... }

Configuration

All options can be set via code or appsettings.json. Code takes priority.

{
  "Quilt4Net": {
    "ApiKey": "YOUR_API_KEY_HERE",
    "HealthClient": {
      "HealthAddress": "https://my-service.example.com/api/Health/"
    },
    "ApplicationInsights": {
      "TenantId": "your-tenant-id",
      "WorkspaceId": "your-workspace-id",
      "ClientId": "your-client-id",
      "ClientSecret": "your-client-secret"
    },
    "RemoteConfiguration": {
      "Ttl": "00:10:00"
    },
    "Content": {
      "Application": "MyApp"
    }
  }
}
Product 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on Quilt4Net.Toolkit:

Package Downloads
Quilt4Net.Toolkit.Api

Support for API health, liveness, readiness, startup, metrics, version and dependencies.

Quilt4Net.Toolkit.Blazor

Package Description

Quilt4Net.Toolkit.Health

Features for health, liveness, readiness, startup, metrics, version and dependencies. Adds a health API.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.6.0 46 2/18/2026
0.5.4 238 2/7/2026
0.5.2 174 1/31/2026
0.4.7 189 1/8/2026
0.4.4 135 1/6/2026
0.4.2 148 1/6/2026
0.3.9 483 12/8/2025
0.3.7 537 12/1/2025
0.3.5 385 11/30/2025
0.3.2 742 11/19/2025
0.2.8 376 11/12/2025
0.2.6 314 11/11/2025
0.1.34 251 11/3/2025
0.1.32 269 10/27/2025
0.1.30 304 9/14/2025
0.1.28 256 8/20/2025
0.1.26 250 8/18/2025
0.1.24 237 8/18/2025
0.1.22 204 8/16/2025
0.1.14 316 8/5/2025
Loading failed