Файл конфигурации — это файл 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",
|
Разрешать сбрасывать пароль.
|
|