Reo.Core.FileStorage
8.0.793
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
<PackageReference Include="Reo.Core.FileStorage" Version="8.0.793" />
<PackageVersion Include="Reo.Core.FileStorage" Version="8.0.793" />
<PackageReference Include="Reo.Core.FileStorage" />
paket add Reo.Core.FileStorage --version 8.0.793
#r "nuget: Reo.Core.FileStorage, 8.0.793"
#:package Reo.Core.FileStorage@8.0.793
#addin nuget:?package=Reo.Core.FileStorage&version=8.0.793
#tool nuget:?package=Reo.Core.FileStorage&version=8.0.793
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.
- Зависимости:
- FluentValidation (для валидации настроек).
- Reo.Core.Extensions (для расширений строк и коллекций).
Установка
Используйте следующие команды для установки пакета:
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 | Versions 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. |
-
net8.0
- FluentValidation (>= 11.11.0)
- FluentValidation.AspNetCore (>= 11.3.1)
- Flurl (>= 4.0.0)
- Flurl.Http (>= 4.0.2)
- Flurl.Http.Newtonsoft (>= 0.9.1)
- Humanizer.Core (>= 3.0.1)
- IdentityModel (>= 7.0.0)
- JetBrains.Annotations (>= 2025.2.4)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 8.0.22)
- Microsoft.AspNetCore.Authentication.OpenIdConnect (>= 8.0.22)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Configuration (>= 10.0.1)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.1)
- Microsoft.Extensions.DependencyInjection (>= 10.0.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Http.Polly (>= 10.0.1)
- Microsoft.Extensions.Logging (>= 10.0.1)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.1)
- Microsoft.Extensions.Options (>= 10.0.1)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.1)
- Newtonsoft.Json (>= 13.0.4)
- Polly (>= 8.5.0)
- Reo.Core.Auth (>= 8.0.793)
- Reo.Core.Extensions (>= 8.0.793)
- stbychkov.AutoLoggerMessage (>= 1.0.15)
- Swashbuckle.AspNetCore (>= 10.1.0)
- System.IO.Pipelines (>= 10.0.1)
- System.Linq.Async (>= 7.0.0)
- System.Text.Encodings.Web (>= 10.0.1)
- System.Text.Json (>= 10.0.1)
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 |