Soenneker.Blob.Service
4.0.2575
Prefix Reserved
See the version list below for details.
dotnet add package Soenneker.Blob.Service --version 4.0.2575
NuGet\Install-Package Soenneker.Blob.Service -Version 4.0.2575
<PackageReference Include="Soenneker.Blob.Service" Version="4.0.2575" />
<PackageVersion Include="Soenneker.Blob.Service" Version="4.0.2575" />
<PackageReference Include="Soenneker.Blob.Service" />
paket add Soenneker.Blob.Service --version 4.0.2575
#r "nuget: Soenneker.Blob.Service, 4.0.2575"
#:package Soenneker.Blob.Service@4.0.2575
#addin nuget:?package=Soenneker.Blob.Service&version=4.0.2575
#tool nuget:?package=Soenneker.Blob.Service&version=4.0.2575
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.878)
- Soenneker.Utils.HttpClientCache (>= 4.0.2062)
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.2599 | 0 | 9/16/2026 |
| 4.0.2598 | 0 | 9/16/2026 |
| 4.0.2597 | 36 | 9/15/2026 |
| 4.0.2596 | 30 | 9/15/2026 |
| 4.0.2595 | 133 | 9/13/2026 |
| 4.0.2594 | 74 | 9/13/2026 |
| 4.0.2593 | 117 | 9/13/2026 |
| 4.0.2592 | 78 | 9/13/2026 |
| 4.0.2591 | 79 | 9/13/2026 |
| 4.0.2590 | 129 | 9/13/2026 |
| 4.0.2589 | 116 | 9/12/2026 |
| 4.0.2588 | 98 | 9/12/2026 |
| 4.0.2587 | 88 | 9/12/2026 |
| 4.0.2586 | 80 | 9/12/2026 |
| 4.0.2585 | 122 | 9/12/2026 |
| 4.0.2584 | 145 | 9/9/2026 |
| 4.0.2583 | 126 | 9/9/2026 |
| 4.0.2582 | 94 | 9/9/2026 |
| 4.0.2581 | 131 | 9/9/2026 |
| 4.0.2575 | 103 | 9/7/2026 |
Update dependency Soenneker.Extensions.Configuration to 4.0.878 (#3264)