DKNet.Svc.BlobStorage.Abstractions
13.3.1
dotnet add package DKNet.Svc.BlobStorage.Abstractions --version 13.3.1
NuGet\Install-Package DKNet.Svc.BlobStorage.Abstractions -Version 13.3.1
<PackageReference Include="DKNet.Svc.BlobStorage.Abstractions" Version="13.3.1" />
<PackageVersion Include="DKNet.Svc.BlobStorage.Abstractions" Version="13.3.1" />
<PackageReference Include="DKNet.Svc.BlobStorage.Abstractions" />
paket add DKNet.Svc.BlobStorage.Abstractions --version 13.3.1
#r "nuget: DKNet.Svc.BlobStorage.Abstractions, 13.3.1"
#:package DKNet.Svc.BlobStorage.Abstractions@13.3.1
#addin nuget:?package=DKNet.Svc.BlobStorage.Abstractions&version=13.3.1
#tool nuget:?package=DKNet.Svc.BlobStorage.Abstractions&version=13.3.1
DKNet.Svc.BlobStorage.Abstractions
Provider-agnostic blob storage contract for .NET developers — application code depends on IBlobService and the shared models, and a provider package supplies the implementation.
✨ Why use it?
- Swap storage backends with a single DI registration change — business logic only ever sees
IBlobService. - Move every payload through the same
BinaryData-based API — no separatebyte[]overload to choose. - Get save-time guard rails (extension allow-list, name length, size limit) for free, shared by every provider.
- Stream a large upload or download without buffering the whole payload into memory.
🚀 Quick Start
Use a .NET 10 console project. Install this package together with a provider package (Local shown here).
dotnet new console -f net10.0 -n BlobDemo
cd BlobDemo
dotnet add package DKNet.Svc.BlobStorage.Abstractions
dotnet add package DKNet.Svc.BlobStorage.Local
dotnet add package Microsoft.Extensions.Logging
using DKNet.Svc.BlobStorage.Abstractions;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
var config = new ConfigurationBuilder()
.AddInMemoryCollection(new Dictionary<string, string?>
{
["BlobStorage:LocalFolder:RootFolder"] = Path.Combine(Path.GetTempPath(), "blob-demo")
})
.Build();
var services = new ServiceCollection().AddLogging().AddLocalDirectoryBlobService(config);
using var provider = services.BuildServiceProvider();
var blobService = provider.GetRequiredService<IBlobService>();
var location = await blobService.SaveAsync(
new BlobDetails.BlobData("reports/hello.txt", BinaryData.FromString("Hello blob storage")) { Overwrite = true });
Console.WriteLine(location);
Run with dotnet run.
Documentation
| Guide | Read when |
|---|---|
| Package overview | Start with architecture and the end-to-end flow. |
| Write a custom IBlobService provider | Implement the abstract base class and reuse the shared validation and path rules. |
| 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
- System.Memory.Data (>= 10.0.12)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on DKNet.Svc.BlobStorage.Abstractions:
| Package | Downloads |
|---|---|
|
DKNet.Svc.BlobStorage.Local
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
|
|
DKNet.Svc.BlobStorage.AwsS3
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
|
|
DKNet.Svc.BlobStorage.AzureStorage
DKNet is an enterprise-grade .NET library collection focused on advanced EF Core extensions, dynamic predicate building, and the Specification pattern. It provides production-ready tools for building robust, type-safe, and testable data access layers, including dynamic LINQ support, LinqKit integration. Designed for modern cloud-native applications, DKNet enforces strict code quality, async best practices, and full documentation for all public APIs. Enterprise-grade .NET library suite for modern application development, featuring advanced EF Core extensions (dynamic predicates, specifications, LinqKit), robust Domain-Driven Design (DDD) patterns, and domain event support. DKNet empowers scalable, maintainable, and testable solutions with type-safe validation, async/await, XML documentation, and high code quality standards. Ideal for cloud-native, microservices, and enterprise architectures. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 13.3.1 | 41 | 10/26/2026 |
| 13.3.0 | 79 | 10/22/2026 |
| 13.2.8 | 69 | 10/22/2026 |
| 13.2.7 | 158 | 10/11/2026 |
| 13.2.6 | 126 | 10/10/2026 |
| 13.2.5 | 135 | 10/2/2026 |
| 13.2.4 | 125 | 10/1/2026 |
| 13.2.3 | 125 | 10/1/2026 |
| 13.2.2 | 123 | 10/1/2026 |
| 13.2.1 | 113 | 10/1/2026 |
| 13.2.0 | 118 | 10/1/2026 |
| 13.1.3 | 143 | 9/21/2026 |
| 13.1.2 | 127 | 9/18/2026 |
| 13.1.1 | 131 | 9/18/2026 |
| 13.1.0 | 126 | 9/18/2026 |
| 13.0.2 | 137 | 9/18/2026 |
| 13.0.1 | 120 | 9/18/2026 |
| 13.0.0 | 128 | 9/18/2026 |
| 12.0.0 | 124 | 9/17/2026 |
| 11.0.0 | 126 | 9/17/2026 |