Tisa.BpmApp
2026.1.9.321
dotnet add package Tisa.BpmApp --version 2026.1.9.321
NuGet\Install-Package Tisa.BpmApp -Version 2026.1.9.321
<PackageReference Include="Tisa.BpmApp" Version="2026.1.9.321" />
<PackageVersion Include="Tisa.BpmApp" Version="2026.1.9.321" />
<PackageReference Include="Tisa.BpmApp" />
paket add Tisa.BpmApp --version 2026.1.9.321
#r "nuget: Tisa.BpmApp, 2026.1.9.321"
#:package Tisa.BpmApp@2026.1.9.321
#addin nuget:?package=Tisa.BpmApp&version=2026.1.9.321
#tool nuget:?package=Tisa.BpmApp&version=2026.1.9.321
Tisa.BpmApp
Базовые классы и компоненты приложений ТИСА для работы с использованием .NET Core на платформе BPMSoft.
Описание
Tisa.BpmApp — NuGet-библиотека, предоставляющая набор Service Installers для быстрой настройки ASP.NET Core приложения на платформе BPMSoft: аутентификация (JWT + API-key), авторизация, логирование (Serilog), Mediator-пайплайн, OpenAPI-заголовки.
Основные возможности
- Поддержка .NET 8.0, .NET 9.0 и .NET 10.0
- Интеграция с платформой BPMSoft
- Аутентификация по JWT и API-ключу
- Авторизация с поддержкой расширенных политик
- Валидация данных с использованием FluentValidation
- Mediator-пайплайн (LoggingBehavior, ValidationBehavior)
- Генерация OpenAPI-документации (NSwag)
- Логирование через Serilog с маршрутизацией по токену
Требования
- .NET 8.0 или выше
- BPMSoft платформа
Установка
dotnet add package Tisa.BpmApp
Актуальный номер версии пакета смотрите на nuget.org/packages/Tisa.BpmApp.
В пакете в папке Docs/ поставляются App.config (полная конфигурация BPMSoft) и BPMSoft.WebHost.dll.config (минимально настроенная рабочая версия). Копирование BPMSoft.WebHost.dll.config в выходной каталог приложения (bin/...) обеспечивает транзитивная зависимость Tisa.BpmCore — подробнее см. документацию Tisa.BpmCore.
Требования для проектов, использующих пакет и для прямого создания UserConnection
В проектах, использующих пакет Tisa.BpmApp, и при необходимости прямого создания объекта UserConnection внутри приложения дополнительно необходимы:
Целевая платформа: при использовании класса
UserConnectionв проекте с данным пакетом указывайте целевую платформу .NET 8.0 — BPMSoft в настоящее время поддерживает только её.
1. Файл конфигурации ядра BPMSoft
Используйте файл Tisa.BpmApp/Docs/App.config: в нём приведена полная конфигурация (все типовые секции и настройки) — удобно как справочник и для переноса фрагментов в свой проект. Файл входит в пакет Tisa.BpmApp и должен быть подключён к проекту (например, как контент или копия в выходную директорию).
Для запуска приложения обычно используют
BPMSoft.WebHost.dll.config— минимально настроенная рабочая версия (см. раздел «Конфигурационные файлы в Docs» ниже);App.configне заменяет её автоматически, а дополняет документацией по полному составу настроек.
2. Ссылки на сборки платформы BPMSoft
Содержимое файла Tisa.BpmApp/Docs/BpmSoft.xml должно быть скопировано в проект (например, в .csproj в виде блока <ItemGroup> с <Reference>). Эти сборки не входят в NuGet-пакет вследствие лицензионных ограничений; пути HintPath нужно задать в соответствии с вашей установкой BPMSoft.
Список сборок BPMSoft для ссылок в проекте
- Autofac
- Autofac.Extensions.DependencyInjection
- BPMSoft.Authentication
- BPMSoft.Core.DI
- BPMSoft.Core.DI.Bindings
- BPMSoft.DB.PostgreSql
- BPMSoft.Licensing.Application
- BPMSoft.Messaging.Common
- BPMSoft.Monitoring
- BPMSoft.Redis
- BPMSoft.Redis.Abstractions
- BPMSoft.Redis.StackExchangeAdapters
- BPMSoft.Security
- BPMSoft.Store.WebAdapters
- BPMSoft.Web.Http.Abstractions
- BPMSoft.Web.Http.AspNetCore
- BPMSoft.Webhooks
- Ninject
- Ninject.Extensions.Factory
- StackExchange.Redis
Скопируйте блок <ItemGroup> с <Reference> из файла BpmSoft.xml в папке Docs пакета и при необходимости скорректируйте HintPath под вашу установку BPMSoft.
Конфигурационные файлы в Docs/
| Файл | Назначение |
|---|---|
Docs/App.config |
Полная конфигурация BPMSoft — все основные секции; используйте как эталон и справочник при настройке. |
Docs/BPMSoft.WebHost.dll.config |
Минимально настроенная рабочая версия: урезанный набор секций, достаточный для типового сценария. В пакете Tisa.BpmApp файл находится в Docs/; донастройка под окружение — по тем же правилам, что и для Tisa.BpmCore (строки подключения, ключи, Redis и т.д.). |
Транзитивный пакет Tisa.BpmCore дополнительно доставляет BPMSoft.WebHost.dll.config в выходной каталог потребителя — см. Readme Tisa.BpmCore.
Использование
Регистрация сервисов
public void ConfigureServices(IServiceCollection services, IConfiguration configuration)
{
services.AddBpmApplication(configuration);
}
Метод AddBpmApplication автоматически регистрирует все Service Installers из сборки: API, аутентификацию, авторизацию, логирование, Mediator-пайплайн и middleware.
Зависимости
- FluentValidation (>= 12.1.1)
- Mediator.Abstractions (>= 3.0.1)
- NSwag.Generation (>= 14.6.3)
- Tisa.Authorization
- Tisa.BpmCore
Структура проекта
Authentication/— Аутентификация по API-ключу (ApikeyAuth)Headers/— OpenAPI-процессоры для кастомных заголовковServiceInstallers/— Модульные инсталляторы сервисов:Api/— Настройка API иApiBehaviorOptionsAuthentication/— JWT и API-key аутентификация, валидация токеновAuthorization/— Авторизация и политики доступаCommon/— РегистрацияIBpmCoreService, настройка Email и TelegramLogging/— Конфигурация SerilogMessaging/— Mediator-пайплайн (LoggingBehavior, ValidationBehavior)Middleware/— Автосканирование и регистрация middleware
Условная компиляция
Символ AuthorizationExtended активирует расширенную авторизацию: политику AdminOnly, Scrutor-сканирование IAuthorizationPolicyProvider и IAuthorizationHandler из Tisa.Authorization. Для включения добавьте в csproj:
<DefineConstants>AuthorizationExtended</DefineConstants>
Лицензия
MIT License
Поддержка
По вопросам поддержки и сообщений об ошибках: support@tisn.ru
| 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 is compatible. 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 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
- FluentValidation (>= 12.1.1)
- Mediator.Abstractions (>= 3.0.1)
- NSwag.Generation (>= 14.6.3)
- Tisa.Authorization (>= 2026.9.10.321)
- Tisa.BpmCore (>= 2026.1.9.321)
-
net8.0
- FluentValidation (>= 12.1.1)
- Mediator.Abstractions (>= 3.0.1)
- NSwag.Generation (>= 14.6.3)
- Tisa.Authorization (>= 2026.9.10.321)
- Tisa.BpmCore (>= 2026.1.9.321)
-
net9.0
- FluentValidation (>= 12.1.1)
- Mediator.Abstractions (>= 3.0.1)
- NSwag.Generation (>= 14.6.3)
- Tisa.Authorization (>= 2026.9.10.321)
- Tisa.BpmCore (>= 2026.1.9.321)
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 | |
|---|---|---|---|
| 2026.1.9.321 | 132 | 3/21/2026 | |
| 2026.1.9.320 | 105 | 3/20/2026 | |
| 2026.1.9.316 | 123 | 3/16/2026 | |
| 2026.1.9.313 | 111 | 3/13/2026 | |
| 2026.1.9.310 | 106 | 3/8/2026 | |
| 2026.1.9.300 | 113 | 3/4/2026 | |
| 2025.1.8.1120 | 377 | 11/17/2025 | |
| 2025.1.8.1101 | 227 | 10/28/2025 | |
| 2025.1.8.1100 | 213 | 10/28/2025 | |
| 2025.1.7.410 | 266 | 4/9/2025 | |
| 2025.1.7.400 | 345 | 4/8/2025 |