Winche.Storage 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Winche.Storage --version 1.0.0
                    
NuGet\Install-Package Winche.Storage -Version 1.0.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="Winche.Storage" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Winche.Storage" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="Winche.Storage" />
                    
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 Winche.Storage --version 1.0.0
                    
#r "nuget: Winche.Storage, 1.0.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 Winche.Storage@1.0.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=Winche.Storage&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=Winche.Storage&version=1.0.0
                    
Install as a Cake Tool

Winche.Storage

Lightweight .NET libraries and sample apps for storing file metadata in PostgreSQL and objects in S3-compatible archives (presigned URLs). The solution includes core abstractions, a Postgres+S3 file-store implementation, a small REST adapter, and a sample ASP.NET app.

Integrates with Winche.Sentinel for access control.

Install

dotnet add package Winche.Storage

Add the REST API integrations as needed:

dotnet add package Winche.Storage.AspNetCore.Rest

Quick Start

1. Configure appsettings.json

{
  "WincheStorage": {
    "S3Archive": {
      "BucketName": "your-bucket",
      "AccessKey": "YOUR_ACCESS_KEY",
      "SecretKey": "YOUR_SECRET_KEY",
      "RegionName": "us-east-1",
      "PresignedUrlExpiry": "00:15:00"
    }
  }
}

2. Register services

builder.Services.AddWincheStorage(connectionString, builder.Configuration);

// Add REST API (optional)
builder.Services.AddWincheStorageRestApi();

3. Initialize schema and map endpoints

// Ensures the file records table
app.UseWincheStorage();

// Map REST routes (default prefix: "files")
app.UseWincheStorageRestApi();

See samples/WebApi for a complete working example.

Packages

Package Description
Winche.Storage Core file store: schema, CRUD, queries, file management
Winche.Storage.AspNetCore.Rest ASP.NET Core REST endpoints

Requirements

  • .NET 10 SDK (see <TargetFramework> in each project; this repo targets net10.0)
  • PostgreSQL for metadata storage
  • An S3-compatible bucket for object storage (or mock for local development)

License

Elastic License 2.0

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (4)

Showing the top 4 NuGet packages that depend on Winche.Storage:

Package Downloads
Winche.Storage.AspNetCore.Rest

ASP.NET Core minimal-API endpoints for Winche.Storage, with pluggable claims mapping and exception handling.

Winche.Storage.S3

AWS S3 archive backend for Winche.Storage, supporting presigned URLs, multipart uploads, and IAM or key-based authentication.

Winche.Console

An embeddable admin console for Winche.Database and Winche.Storage. Drop it into your ASP.NET Core app to browse and edit JSON documents and manage stored files through a web UI, with its own authentication and role-based access.

Winche.Storage.AspNetCore

ASP.NET Core integration base for Winche.Storage: HTTP-context claims mapping for the Winche.Rules guard.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
8.0.0 239 7/5/2026
7.0.0 161 6/30/2026
6.4.0 171 6/25/2026
6.3.0 263 6/21/2026
6.2.0 164 6/20/2026
6.1.0 166 6/20/2026
6.0.0 176 6/17/2026
5.0.0 165 6/17/2026
4.0.0 209 6/16/2026
3.0.0 164 6/15/2026
2.0.1 154 5/27/2026
2.0.0 145 5/27/2026
1.0.0 140 5/25/2026