Добавление сведений о приложении в приложение Fabric Service без сохранения состояния - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь следовать этой документации для того, чтобы начать использовать понимание приложений в приложении ядра .net, которое я развертываю в сервисной фабрике.

Мой код действительно прост

public FailedAuthorise(StatelessServiceContext context, IConfigManager config)
        : base(context)
{
    _worker = new Worker<PaymentFailedAuthorise>(config, FailedAuthoriseHandlerFactory.Create, "FailedAuthorise", "FailedAuthoriseError");
}

    protected override async Task RunAsync(CancellationToken cancellationToken)
{
    await _worker.RunAsync(cancellationToken);
}

Будучи рабочим, просто универсальный класс, который читает из некоторых очередей и обрабатывает сообщения

Но если бы я следовал этому документу, мне нужно было бы установить несколько пакетов nuget (которые на самом деле доставляют мне проблемы).чтобы найти и / или установить, например, нет доступа к с использованием Microsoft.ApplicationInsights.ServiceFabric; или потребуется изменить ключ инструментария при изменении файла конфигурации в конвейере) и начать использовать классы «хостинга»что мне действительно не нужно в моем решении.

Разве это не простой способ добавления информации о приложениях к тому, что раньше было рабочей ролью в облачных сервисах без необходимости использовать бит хостинга?

Спасибо

1 Ответ

0 голосов
/ 11 декабря 2018

Вы можете просто добавить этот пакет nuget и создать свою собственную телеметрию следующим образом:

public class MyService
{
    private readonly TelemetryClient telemetryClient;

    public MyService()
    {
        telemetryClient = new TelemetryClient(configuration);
        telemetryClient.Context.InstrumentationKey = "[Your Key Here]";
    }

    public FailedAuthorise(StatelessServiceContext context, IConfigManager config)
            : base(context)
    {
        _worker = new Worker<PaymentFailedAuthorise>(config, FailedAuthoriseHandlerFactory.Create, "FailedAuthorise", "FailedAuthoriseError");
    }

    protected override async Task RunAsync(CancellationToken cancellationToken)
    {
        telemetryClient.TrackEvent("Worker started");
        await _worker.RunAsync(cancellationToken);
    }
}

Есть несколько вещей, которые вы можете отслеживать, например исключения, трассировки,события, метрики и запросы , но если вы не используете Asp.Net Core, вам придется вручную отправлять эти события вместо того, чтобы какое-то промежуточное ПО отправляло телеметрию в App Insigths.

Если ваша служба вызывает другиеуслуги, которые вы можете добавить к этому пакету , чтобы автоматически отслеживать связь с другими службами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...