XiHan.Framework.ObjectStorage.Conformance 5.0.0-preview.1

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

XiHan.Framework.ObjectStorage.Conformance

对象存储一致性套件(RFC-0012)。Provider 的测试项目继承 BlobStoreConformance、实现 CreateStore() 与 PlantOutsideContractAsync(container, key, content)(绕过契约直接在底层存储里写一个对象,键可以不符合键文法),全部用例随之执行:读写往返与元数据、覆盖与不覆盖、并发的不覆盖写入只有一个成功(8 个写入方同时写同一个新键,ADR-0089)、保留前缀 .xihan 下的键构造时拒绝且列举跳过经钩子放入的这类对象(ADR-0090)、键的区分大小写与嵌套段、批量写入的逐项结果、批量删除的逐项结果、按前缀分页列举、范围读取(GetRange)、分片上传(任意顺序上传、原子完成、非法分片列表、覆盖与中止)、非法标识提前拒绝、列举的页大小越界是校验错误(OBJECTSTORAGE_VALIDATION_005,1 与上限照常列举)、不存在的错误、大对象流式读写。

public sealed class FileSystemBlobStoreConformanceTests : BlobStoreConformance
{
    protected override IBlobStore CreateStore() => new FileSystemBlobStore(new FileSystemObjectStorageOptions { RootPath = TempDirectory() }, TimeProvider.System);

    protected override Task PlantOutsideContractAsync(ContainerName container, string key, byte[] content) => WriteUnderDataDirectoryAsync(container, key, content);
}

命名实例的 Provider(ADR-0050)继承 BlobStoreProviderConformance,实现 CreateProvider() 与两组可用的设置:按定义建出的实例可读写且探测通过、未知的设置键被拒绝、经注册表同定义复用 / 定义变了替换 / 移除后不存在、定义错误翻译为 OBJECTSTORAGE_VALIDATION_003 且不影响已有实例。

依赖方向

依赖 XiHan.Framework.ObjectStorage.Abstractions 与 xunit 的断言与扩展核心包。

状态

P3:可用。

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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
5.0.0-preview.2 45 11/6/2026
5.0.0-preview.1 47 11/4/2026