#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; }
}
Результат теста