Asp.net Просмотры страниц Core — Read Application Insights

#asp.net-core #azure-application-insights

#asp.net-ядро #azure-application-insights

Вопрос:

Достаточно простой вопрос, который я бы подумал, но не смог найти ответ.

На моем компьютере включена функция Application Insights. Asp.net ядро 3.1 mvc-приложения. Я смог просмотреть данные на портале Azure и увидеть, что приложение имеет просмотры страниц.

Что я хочу сделать сейчас, так это каким-то образом восстановить просмотры страниц в моем веб-приложении mvc для создания отчетов.

Есть ли способ сделать это?

Ответ №1:

Что я хочу сделать сейчас, так это каким-то образом восстановить просмотры страниц в моем веб-приложении mvc для создания отчетов.

REST API metrics позволяет нам получать значения метрик на основе указанного идентификатора metricId.

 GET https://api.applicationinsights.io/v1/apps/{appId}/metrics/{metricId}
 

Чтобы получить метрику о просмотрах страниц, вы можете обратиться к следующему фрагменту кода, чтобы сделать запрос из вашего ASP.NET Основное приложение MVC.

 var client = _clientFactory.CreateClient();

client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
client.DefaultRequestHeaders.Add("x-api-key", apikey);
HttpResponseMessage response = client.GetAsync($"https://api.applicationinsights.io/v1/apps/{appid}/metrics/pageViews/count?timespan=2021-02-19/2021-02-24").Resu<
if (response.IsSuccessStatusCode)
{
    var val = System.Text.Json.JsonSerializer.Deserialize<PvData>(response.Content.ReadAsStringAsync().Result);
    var sum = val.value.PageViewsCount.sum;
}
 

Классы моделей

 public class PageViewsCount
{
    public int sum { get; set; }
}

public class Value
{
    public DateTime start { get; set; }
    public DateTime end { get; set; }
    [JsonPropertyName("pageViews/count")]
    public PageViewsCount PageViewsCount { get; set; }
}

public class PvData
{
    public Value value { get; set; }
}
 

Результат теста

введите описание изображения здесь