XiHan.Framework.ObjectStorage.Conformance
5.0.0-preview.1
Prefix Reserved
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
<PackageReference Include="XiHan.Framework.ObjectStorage.Conformance" Version="5.0.0-preview.1" />
<PackageVersion Include="XiHan.Framework.ObjectStorage.Conformance" Version="5.0.0-preview.1" />
<PackageReference Include="XiHan.Framework.ObjectStorage.Conformance" />
paket add XiHan.Framework.ObjectStorage.Conformance --version 5.0.0-preview.1
#r "nuget: XiHan.Framework.ObjectStorage.Conformance, 5.0.0-preview.1"
#:package XiHan.Framework.ObjectStorage.Conformance@5.0.0-preview.1
#addin nuget:?package=XiHan.Framework.ObjectStorage.Conformance&version=5.0.0-preview.1&prerelease
#tool nuget:?package=XiHan.Framework.ObjectStorage.Conformance&version=5.0.0-preview.1&prerelease
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 | 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
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.14)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Diagnostics.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.14)
- Microsoft.Extensions.Options (>= 10.0.14)
- System.Threading.RateLimiting (>= 10.0.14)
- XiHan.Framework.ObjectStorage.Abstractions (>= 5.0.0-preview.1)
- xunit.v3.assert (>= 4.0.2)
- xunit.v3.extensibility.core (>= 4.0.2)
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 |