Soenneker.Blob.Service
4.0.2590
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Blob.Service --version 4.0.2590
NuGet\Install-Package Soenneker.Blob.Service -Version 4.0.2590
<PackageReference Include="Soenneker.Blob.Service" Version="4.0.2590" />
<PackageVersion Include="Soenneker.Blob.Service" Version="4.0.2590" />
<PackageReference Include="Soenneker.Blob.Service" />
paket add Soenneker.Blob.Service --version 4.0.2590
#r "nuget: Soenneker.Blob.Service, 4.0.2590"
#:package Soenneker.Blob.Service@4.0.2590
#addin nuget:?package=Soenneker.Blob.Service&version=4.0.2590
#tool nuget:?package=Soenneker.Blob.Service&version=4.0.2590
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.887)
- Soenneker.Utils.HttpClientCache (>= 4.0.2076)
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 |
|---|---|---|
| 11.0.2655 | 0 | 10/27/2026 |
| 11.0.2654 | 57 | 10/26/2026 |
| 11.0.2652 | 52 | 10/26/2026 |
| 11.0.2651 | 44 | 10/26/2026 |
| 11.0.2650 | 62 | 10/26/2026 |
| 11.0.2649 | 86 | 10/26/2026 |
| 11.0.2648 | 75 | 10/26/2026 |
| 11.0.2647 | 81 | 10/26/2026 |
| 11.0.2646 | 104 | 10/26/2026 |
| 4.0.2645 | 95 | 10/26/2026 |
| 4.0.2644 | 94 | 10/25/2026 |
| 4.0.2643 | 393 | 10/15/2026 |
| 4.0.2642 | 109 | 10/14/2026 |
| 4.0.2641 | 90 | 10/14/2026 |
| 4.0.2639 | 99 | 10/14/2026 |
| 4.0.2638 | 123 | 10/14/2026 |
| 4.0.2637 | 106 | 10/14/2026 |
| 4.0.2636 | 94 | 10/14/2026 |
| 4.0.2631 | 121 | 10/13/2026 |
| 4.0.2590 | 157 | 9/13/2026 |
Updated Multiple NuGet packages