Tisa.BpmApp 2026.1.9.705

dotnet add package Tisa.BpmApp --version 2026.1.9.705
                    
NuGet\Install-Package Tisa.BpmApp -Version 2026.1.9.705
                    
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="Tisa.BpmApp" Version="2026.1.9.705" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tisa.BpmApp" Version="2026.1.9.705" />
                    
Directory.Packages.props
<PackageReference Include="Tisa.BpmApp" />
                    
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 Tisa.BpmApp --version 2026.1.9.705
                    
#r "nuget: Tisa.BpmApp, 2026.1.9.705"
                    
#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 Tisa.BpmApp@2026.1.9.705
                    
#: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=Tisa.BpmApp&version=2026.1.9.705
                    
Install as a Cake Addin
#tool nuget:?package=Tisa.BpmApp&version=2026.1.9.705
                    
Install as a Cake Tool

Tisa.BpmApp

NuGet Version License

Базовые классы и компоненты приложений ТИСА для работы с использованием .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)
  • Документация API: Swagger UI (/swagger) и Scalar (/scalar) — через пакет Tisa.BpmApp.Hosting
  • Логирование через 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.Licensing.Abstractions
  • BPMSoft.Licensing.Domain
  • 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.

Документация API (Swagger UI и Scalar)

Для host-приложений используйте пакет Tisa.BpmApp.Hosting:

builder.Services.AddBpmAppHosting(builder.Configuration, options =>
{
    options.DocumentName = "My Integration 1.0";
    options.Title = "My Integration API";
    options.ApiKeyHeaderName = "tisa-api-key";
});

var app = builder.Build();
app.UseBpmAppHosting();

После запуска:

URL UI
/swagger Swagger UI
/scalar Scalar (редирект с / по умолчанию)
/openapi/{documentName}.json OpenAPI JSON

Пример: проект App/ в репозитории пакета Tisa.BpmApp.

Зависимости

  • 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 и ApiBehaviorOptions
    • Authentication/ — JWT и API-key аутентификация, валидация токенов
    • Authorization/ — Авторизация и политики доступа
    • Common/ — Регистрация IBpmCoreService, настройка Email и Telegram
    • Logging/ — Конфигурация Serilog
    • Messaging/ — Mediator-пайплайн (LoggingBehavior, ValidationBehavior)
    • Middleware/ — Автосканирование и регистрация middleware

Условная компиляция

Символ AuthorizationExtended активирует расширенную авторизацию: политику AdminOnly, Scrutor-сканирование IAuthorizationPolicyProvider и IAuthorizationHandler из Tisa.Authorization. Для включения добавьте в csproj:

<DefineConstants>AuthorizationExtended</DefineConstants>

Лицензия

MIT License

Поддержка

По вопросам поддержки и сообщений об ошибках: support@tisn.ru

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 Tisa.BpmApp:

Package Downloads
Tisa.BpmApp.Hosting

Общий ASP.NET Core host bootstrap для .NET 8 интеграционных приложений BPMSoft.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2026.1.9.705 103 7/7/2026
2026.1.9.700 100 7/3/2026
2026.1.9.321 160 3/21/2026
2026.1.9.320 115 3/20/2026
2026.1.9.316 130 3/16/2026
2026.1.9.313 118 3/13/2026
2026.1.9.310 117 3/8/2026
2026.1.9.300 122 3/4/2026
2025.1.8.1120 383 11/17/2025
2025.1.8.1101 235 10/28/2025
2025.1.8.1100 220 10/28/2025
2025.1.7.410 275 4/9/2025
2025.1.7.400 355 4/8/2025 2025.1.7.400 is deprecated because it is no longer maintained.