Перейти к основному содержимому

Запуск и отладка сервиса бизнес-логики

Вы можете запускать и отлаживать сервис бизнес-логики локально на компьютере, на котором вы разрабатываете сервис. Однако, разрабатываемому сервису может потребоваться взаимодействие с развернутым экземпляром Платформы. В таком случае убедитесь, что вы выполнили необходимые настройки в следующих сценариях:

  • Если вы не отключили регистрацию разрабатываемого сервиса через параметр класса 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"
    }
    ],
    },
    }

При локальном запуске разрабатываемого сервиса записи журналов событий и трассировки выводятся в консоль сервиса.