Файл конфигурации

Пред.  Начало  След.

   Файл конфигурации — это файл appsettings.Production.json, определяющий параметры для web-приложения. В нём хранится: строка соединения с базой данных, средства управления трассировкой, параметры поставщиков состояний сеансов, ссылки на страницы ошибок и т.д. и т.п. .

 

   Файлом конфигурации в операционных системах WINDOWS и LINUX по умолчанию является файл appsettings.json. Но файл appsettings.json изменять не рекомендуется: он должен заменяться с каждой новой сборкой ПК "Бюджет-NEXT", т.к. время от времени в файл добавляются важные ключи - он представлен как пример всех имеющихся ключей/параметров, которые могут быть использованы в файле appsettings.Production.json . Т.о. если внести свои изменения в файл appsettings.json, то после обновления версии «Бюджет-NEXT» все изменения затрутся (удалятся).

  Для использования ключей/параметров с вашими реквизитами предназначен файл конфигурации appsettings.Production.json. В этом файле необходимо использовать корректный синтаксис, т.к. если файл будет не корректным, автоматически будет считываться файл appsettings.json.

 

  В ОС LINUX, если ПК «Бюджет-NEXT» установлен используя «WEB-Сервер-КС», реквизиты, которые вводились при установке, автоматически помещаются в файл appsettings.Production.json.

  В ОС WINDOWS файл конфигурации appsettings.Production.json первоначально пустой, и необходимо его заполнить вручную.

 

  Практически все ключи находятся в секции SystemSettings, и поэтому их можно размещать просто списком друг за другом, с запятой в конце каждой строки (обязательно). Запятая не ставится только в самой последней строке. Так же необходимо следить за фигурными скобками {} - на каждую открывающую скобку должна быть закрывающая.

 

Пример appsettings.Production.json для Windows:

{

 "SystemSettings": {

   "DataSourceType": "0",

   "Server": "dprsib\\sql2016",

   "DataBase": "razr_212_test0",

        "SqlCache": "Data Source Type=SQLite; Data Source=.\\web_cache\\",

        "NoSqlCache": "memory",

        "SessionStorage": "sql"

 }

}

 

 

Очень важно соблюдать корректный синтаксис в файлах конфигурации:

Последний ключ в списке (секции) должен быть без запятой в конце.
Каждая фигурная скобка должна открыться { и закрыться }.
Запятая не ставится после фигурной скобки, если фигурные скобки завершают каждую секцию.

 

Во избежание ошибок в файлах конфигурации рекомендуется проверить корректность синтаксиса, например в онлайн приложении «Jsonformatter».  Ссылка: https://jsonformatter.curiousconcept.com/# . Как пользоваться:  открыть сайт https://jsonformatter.curiousconcept.com/ , вставить текст (содержимое файла конфигурации) в область, нажать кнопку "Process".

 

 

Описание ключей файла конфигурации

 

Ключи

Описание

Пользовательские настройки (SystemSettings)

"PathBase": "",

Настройка пути для реверс прокси (виртуальный каталог)

"AppLocale": "ru-RU",

Настройка языка приложения

"UseCommonLogin": false,

Использовать общий логин для подключения к БД

"MaxPoolSize": 0,

Размер пула соединений с БД. При использовании общего логина рекомендуется задать значение более 0 (например, 700)

"AppPoolTimeout": 300,

Таймаут получения соединения из пула (на уровне приложения) в секундах

"UserName": "",

Имя пользователя подключения к БД

"Password": "",

Пароль подключения к БД

"AuthSecretKey": "secret string for authenticate",

Секрет для JWT (используется при включенном UseCommonLogin) должен совпадать на всех сервисах, кто будет валидировать jwt

"DataSourceType": "0",

Тип источника данных, 0-MSSQL, 1-ORACLE, 2-SQLite, 3-Postgre

"Server": "",

Сервер базы данных. Через двоеточие можно указать нестандартный порт

"DataBase": "",

Имя базы данных

"SqlCache": "Data Source Type=SQLite; Data Source=/var/www/html/wsks_54430/temp/db/wrk.db3",

Строка соединения со служебной БД кэша данных (Sqlite/PostgreSQL)

"NoSqlCache": "memory",

Строка соединения со NoSqlCache (redis/tarantool/memory)

"SessionStorage": "sql"

Переключение между СУБД nosql и sql

"UserApplicationName": "Бюджет-NEXT",

Имя приложения, которое будет отображаться на заголовке окон

"Caching": "2",

Кэширование. Не выключать

"CacheStorageType": "3",

Служебный ключ

"LogLevel": "Error",

Уровень логирования: Trace/Debug/Info/Warn/Error/Fatal/Off

"AppServer": "",

Сервер приложений

"ConnectionTimeout2": "30",

Таймаут соединения СУБД

"CommandTimeout2": "0",

Таймаут выполнения запроса на СУБД

"WebserviceTimeout": "150",

Таймаут сервиса(первичек, отчетов)"

"AjaxConnectTimeout": "600001",

Таймаут сервиса веб (мс)

"PacketSize_IL": "262144",

Размер пакета в байтах при отправке файла на сервер

"ConnectionStringAddition": "",

Дополнительные данные строки подключения (только для сисадминов).

"CustomClientIPHeader": "",

Заголовок, содержащий IP в Request для схем со шлюзами.

"LoginAttemptsNumber": "0",

Число попыток ввода пароля до блокировки (0 - неограниченно).

"LoginLockPeriod": "600",

Время блокирования, при превышении числа неуспешных попыток.

"LoginLockNotify": "false",

Уведомлять администратора о блокировке. Используется для сообщения о блокировке IP при неудачных попытках.

"DbMailingAccountLogin": "",

Логин отправителя системных сообщений.

"DbMailingAccountPassword": "",

Пароль отправителя системных сообщений.

"DbNewsAccount": "",

Логин, с которого считываются новости

"DbNewsPassword": "",

Пароль для подключения к новостному аккаунту.

"WarningMessageFile": "%app%/loginInfo.txt",

Путь к файлу с уведомлением.

"NumDaysWarnBeforeCertEnd": "",

Уведомлять о об истечении срока клиентского сертификата (за ... дней).

"AlternativeUploadService": "",

Сервис оправдательных документов (переопределяет значение из БД).

"ReportService": "",

Сервис отложенной печати (формирование форм отчетности на отдельном сервере).

"RM_LocalData3": "AutoUse ",

Использовать локальную базу данных (быстрее) [AutoUse, Disabled, Enabled].

Сервис авторизации

"AuthorizationType": "0",

0 - не используя сервис авторизации.

"AuthorizationService": "",

URL сервиса авторизации

"AuthorizationAccountLogin": "sa_manager",

Логин менеджера авторизации. Используется для создания пользователя в базу из СА, для восстановления пароля

"AuthorizationAccountPassword": "",

Пароль менеджера авторизации

ЕСИА (напрямую, без СА)

"ESIAClientId": "",

<!-- Идентификатор системы в ЕСИА -->

"ESIACertificate" :"" ,

<!-- Сертификат ЕСИА -->

SAAS

"CabinetId": "",

Идентификатор кабинета (Saas)

"ContractId": "",

Идентификатор контракта (Saas)

"AppStyling": "5",

Использовать ленточные панели инструментов (не изменять!)

Центр управления бизнес-процессами (если подключены)

"BPMSAccountLogin": "",

Имя пользователя БД для управления бизнес-процессами

"BPMSAccountPassword": "",

Пароль пользователя БД для управления бизнес-процессами

Пользовательские параметры только для NEXT

"debugState": "on",

Вид отображения ошибок values=[system/off/on]. Менять только на Linux!

"ConnectionType": "SignalR",

Тип соединения клиент-сервер values="[SignalR/JQuery/WebSocketListener].

"AutoRedirect": "true",

Автоматический вход, если пользователь уже авторизовался.

"disabledUsers": "sa,sa1",

Запрещенные для входа пользователи.

"AllowRecoveryPassword": "true",

Разрешать сбрасывать пароль.