Soenneker.Blob.Service
4.0.2602
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Blob.Service --version 4.0.2602
NuGet\Install-Package Soenneker.Blob.Service -Version 4.0.2602
<PackageReference Include="Soenneker.Blob.Service" Version="4.0.2602" />
<PackageVersion Include="Soenneker.Blob.Service" Version="4.0.2602" />
<PackageReference Include="Soenneker.Blob.Service" />
paket add Soenneker.Blob.Service --version 4.0.2602
#r "nuget: Soenneker.Blob.Service, 4.0.2602"
#:package Soenneker.Blob.Service@4.0.2602
#addin nuget:?package=Soenneker.Blob.Service&version=4.0.2602
#tool nuget:?package=Soenneker.Blob.Service&version=4.0.2602
Soenneker.Blob.Service
Provides a lazily created, reusable Azure BlobServiceClient through dependency injection.
Installation
dotnet add package Soenneker.Blob.Service
Configuration
{
"Azure": {
"Storage": {
"Blob": {
"ConnectionString": "<connection string>"
}
}
}
}
Registration
Register one shared service client for the application:
using Microsoft.Extensions.DependencyInjection;
using Soenneker.Blob.Service.Registrars;
services.AddBlobServiceUtilAsSingleton();
AddBlobServiceUtilAsScoped() creates one utility and client per dependency-injection scope.
Usage
using Azure.Storage.Blobs;
using Soenneker.Blob.Service.Abstract;
public sealed class StorageInventory
{
private readonly IBlobServiceUtil _service;
public StorageInventory(IBlobServiceUtil service)
{
_service = service;
}
public async ValueTask<IReadOnlyList<string>> GetContainerNames(
CancellationToken cancellationToken)
{
BlobServiceClient client = await _service.Get(cancellationToken);
var names = new List<string>();
await foreach (var container in client.GetBlobContainersAsync(
cancellationToken: cancellationToken))
{
names.Add(container.Name);
}
return names;
}
}
The returned object is the standard Azure SDK client, so container enumeration, account properties, container clients, and other service-level operations remain available directly through Azure's API.
Lifecycle
- The first
Getcreates the client fromAzure:Storage:Blob:ConnectionString; later calls on the same utility return the same instance. - The cancellation token passed to
Getapplies to lazy initialization. Pass a token separately to each Azure SDK operation. - The utility owns its cached HTTP transport. Let the dependency-injection container dispose
IBlobServiceUtil; consumers should not dispose infrastructure obtained from it. - The singleton registration is appropriate for most applications because Azure SDK clients are designed for reuse.
- A scoped registration owns an isolated HTTP-client cache entry, so disposing one scope does not invalidate another scope's client.
| 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
- Azure.Storage.Blobs (>= 12.29.2)
- Soenneker.Extensions.Configuration (>= 4.0.895)
- Soenneker.Utils.HttpClientCache (>= 4.0.2089)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Soenneker.Blob.Service:
| Package | Downloads |
|---|---|
|
Soenneker.Blob.Suite
A concoction of Azure Blob Storage utilities and libraries |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.2616 | 68 | 10/1/2026 |
| 4.0.2615 | 53 | 9/30/2026 |
| 4.0.2614 | 56 | 9/30/2026 |
| 4.0.2613 | 101 | 9/29/2026 |
| 4.0.2612 | 60 | 9/29/2026 |
| 4.0.2611 | 153 | 9/25/2026 |
| 4.0.2610 | 132 | 9/25/2026 |
| 4.0.2608 | 144 | 9/25/2026 |
| 4.0.2607 | 103 | 9/25/2026 |
| 4.0.2606 | 103 | 9/25/2026 |
| 4.0.2605 | 102 | 9/25/2026 |
| 4.0.2604 | 90 | 9/24/2026 |
| 4.0.2603 | 308 | 9/17/2026 |
| 4.0.2602 | 104 | 9/16/2026 |
| 4.0.2601 | 115 | 9/16/2026 |
| 4.0.2600 | 124 | 9/16/2026 |
| 4.0.2599 | 131 | 9/16/2026 |
| 4.0.2598 | 90 | 9/16/2026 |
| 4.0.2597 | 98 | 9/15/2026 |
| 4.0.2596 | 92 | 9/15/2026 |
Updated Soenneker.Utils.HttpClientCache to 4.0.2089