Reo.Core.FileStorage 8.0.793

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

Reo.Core.FileStorage

Описание пакета

Пакет Reo.Core.FileStorage предоставляет инструменты для управления конфигурацией файлового хранения (ФХ), включая проверку существования необходимых файловых групп и разрешений, их создание при необходимости, а также валидацию настроек. Он решает проблему обеспечения согласованности и корректности настроек ФХ в различных средах (например, разработка, тестирование, продакшн), автоматизируя процессы проверки и настройки.

Основные компоненты

  • IFileStorageAdminClientV1: Интерфейс для взаимодействия с административным API ФХ. Предоставляет методы для получения и создания файловых групп, разрешений и других ресурсов.
  • ShareNameCheckService: Фоновый сервис, который проверяет наличие необходимых файловых групп и разрешений в ФХ. Если они отсутствуют, сервис автоматически создаёт их.
  • FileStorageOptionsValidator: Валидатор для проверки корректности настроек ФХ (например, URL, логины и пароли администратора).
  • DTO-модели (FileGroupDto, FilePermissionDto и др.): Классы для передачи данных между клиентом и сервером ФХ.
  • FileStorageShareNameException: Исключение, которое выбрасывается при попытке использовать недопустимое имя папки в ФХ (например, содержащее символ /).

Требования

  • .NET: Совместим с .NET Core 3.1, .NET 5, .NET 6, .NET 7.
  • Зависимости:

Установка

Используйте следующие команды для установки пакета:

NuGet Package Manager:

Install-Package Reo.Core.FileStorage

.NET CLI:

dotnet add package Reo.Core.FileStorage

Настройка

Регистрация в DI-контейнере (ASP.NET Core)

Добавьте сервисы в Startup.cs или Program.cs:

services.AddFileStorage(options =>
{
    options.Endpoint = "https://filestorage.example.com";
    options.AdminUserName = "admin";
    options.AdminUserPassword = "securepassword";
    options.UserName = "user";
    options.UserPassword = "userpassword";
});

Конфигурационные параметры

Настройки можно указать в appsettings.json:

"FileStorageOptions": {
    "Endpoint": "https://filestorage.example.com",
    "AdminUserName": "admin",
    "AdminUserPassword": "securepassword",
    "UserName": "user",
    "UserPassword": "userpassword"
}

Использование

Пример 1: Проверка и создание файловых групп

// Регистрация сервиса в DI
services.AddSingleton<ShareNameCheckService>();

// В фоновом процессе (например, в ASP.NET Core)
var shareNameCheckService = serviceProvider.GetRequiredService<ShareNameCheckService>();
await shareNameCheckService.ExecuteAsync(CancellationToken.None);

Пример 2: Валидация настроек

var validator = new FileStorageOptionsValidator();
var options = new FileStorageOptions
{
    Endpoint = "",
    AdminUserName = "admin",
    AdminUserPassword = "securepassword",
    UserName = "user",
    UserPassword = "userpassword"
};

var result = validator.Validate(options);
if (!result.IsValid)
{
    foreach (var error in result.Errors)
    {
        Console.WriteLine($"Ошибка: {error.ErrorMessage}");
    }
}

Пример 3: Использование IFileStorageAdminClientV1

var client = serviceProvider.GetRequiredService<IFileStorageAdminClientV1>();
var fileGroupRequest = new FileGroupDto
{
    GroupName = "Reports",
    FilePermissionIds = new List<Guid> { Guid.NewGuid() }
};

await client.CreateFileGroupAsync(fileGroupRequest, CancellationToken.None);

Лицензия

Данный пакет распространяется под лицензией MIT.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  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 (1)

Showing the top 1 NuGet packages that depend on Reo.Core.FileStorage:

Package Downloads
Reo.Core.Providers

Package Description

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
10.0.20 88 2/9/2026
10.0.15 88 2/6/2026
10.0.14 95 2/6/2026
10.0.13 88 2/4/2026
10.0.12 89 2/3/2026
10.0.11 100 2/2/2026
10.0.10 92 1/29/2026
10.0.9 95 1/29/2026
10.0.8 104 1/27/2026
10.0.6 96 1/26/2026
10.0.5 93 1/23/2026
10.0.3 96 1/23/2026
10.0.2 93 1/23/2026
10.0.1 82 1/22/2026
8.0.829 90 1/22/2026
8.0.828 94 1/22/2026
8.0.827 103 1/22/2026
8.0.826 104 1/22/2026
8.0.825 104 1/22/2026
8.0.793 120 12/29/2025
Loading failed