Запуск и отладка сервиса бизнес-логики
Вы можете запускать и отлаживать сервис бизнес-логики локально на компьютере, на котором вы разрабатываете сервис. Однако, разрабатываемому сервису может потребоваться взаимодействие с развернутым экземпляром Платформы. В таком случае убедитесь, что вы выполнили необходимые настройки в следующих сценариях:
-
Если вы не отключили регистрацию разрабатываемого сервиса через параметр класса StartParameters в сервисе обнаружения Платформы, сервис будет предпринимать попытки регистрации. Сервис должен быть предварительно зарегистрирован и настроен в AdminTools. Также в этом случае должен быть настроен URL-адрес сервиса конфигурации, используя параметры конфигурации сервиса.
-
Если вы не отключили получение конфигурации от сервиса конфигурации Платформы через параметр класса StartParameters, сервис будет ожидать получения конфигурации из этого источника. Сервис должен быть предварительно зарегистрирован и настроен в AdminTools. Также в этом случае должен быть настроен URL-адрес сервиса конфигурации, используя параметры конфигурации сервиса.
-
Если разрабатываемый сервис обращается к методам API других сервисов Платформы, например, к методам API сервиса конфигурации, для которых настроена межсервисная аутентификация и авторизация, этому сервису необходимо настроить доступ к сервису аутентификации Платформы, а также настроить клиента межсервисного взаимодействия и секрет клиента для аутентификации и настроить области разрешения доступа к методам, к которым будет обращаться сервис. Также в этом случае должен быть настроен URL-адрес сервиса аутентификации, используя параметры конфигурации сервиса.
Конфигурация сервиса включает следующие параметры:
-
URL-адреса сервиса конфигурации и сервиса аутентификации, как показано в следующем блоке кода:
{
"ConfigServer": "https://<Platform_instance_URL>/",
"IdentityConfiguration": {
"IdentityServiceUrl": "https://<Platform_instance_URL>/identity"
},
} -
Уровни ведения журнала событий, как показано в следующем блоке кода:
{
"LogLevel": "Information",
}Дополнительно уровнем ведения журнала событий в библиотеках .NET Core, используемых в составе разрабатываемого сервиса бизнес-логики, можно управлять через параметры, которые демонстрирует следующий блок кода:
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning"
...
}
}
}Более подробную информацию о параметрах можно найти в документации библиотек .NET Core.
-
Параметры для межсервисной аутентификации, как показано в следующем блоке кода:
{
"ApiConfiguration": {
// Секция с информацией для выбора клиента
"ClientSelector": [
// При обращении к сервису, реализующему контракт IService1, будет использоваться этот клиент
{
"TargetServiceName": "IService1",
"ClientId": "client1"
},
// При обращении к сервису Service2 будет использоваться этот клиент
{
"TargetServiceName": "Service2",
"ClientId": "client2"
},
// Клиент по умолчанию выбирается, если для целевого сервиса не указана индивидуальная настройка
{
"TargetServiceName": "",
"ClientId": "defaultclient"
},
],
// Секция с секретами клиентов
"ClientSecrets": [
{
"ClientId": "defaultclient",
"Secret": "defaultsecret"
},
{
"ClientId": "client1",
"Secret": "secret1"
},
{
"ClientId": "client2",
"Secret": "secret2"
}
],
},
}
При локальном запуске разрабатываемого сервиса записи журналов событий и трассировки выводятся в консоль сервиса.