#c# #asp.net #web-services #connection #bandwidth
#c# #asp.net #веб-сервисы #подключение #пропускная способность
Вопрос:
Я создал простой веб-сервис, который получает данные и сохраняет их в базе данных. Мне нужно создать приложение (или службу), которое будет проверять подключение к этому веб-сервису (время от времени, например, каждые 1 минуту).
Мне нужна информация, такая как загрузка, выгрузка, проверка связи и сохранение их в базе данных. Я попробовал NetworkInterface, но веб-сервис не является интерфейсом, поэтому он не может его найти. Я не знаю, как протестировать это соединение и получить информацию о нем, поэтому мне нужна помощь.
Комментарии:
1. Можно ли это использовать из сторонних приложений, таких как jmeter и postman?
2. @Afshin Я должен загрузить данные непосредственно из веб-сервиса. Позже просмотрите в консоли и сохраните в базе данных.
Ответ №1:
Решение 1: полностью настраиваемое
Описание высокого уровня:
- Создайте новую конечную точку, что-то вроде api / healthcheck
- Либо а. выполните фиктивное действие (сохраните / удалите ложные данные б. Сохраните таблицу или любую другую сохраняемость (подойдет даже синглтон) со статистикой последних вызовов
- Добавьте их в объект ответа класса и верните его вызывающему.
Решение 2. используйте пользовательскую телеметрию
Описание высокого уровня:
- Выберите службу, подобную application insight:https://learn.microsoft.com/en-us/azure/azure-monitor/app/app-insights-overview
- Настройте телеметрию, если стандартной конфигурации недостаточно.
- Используйте rest api для получения вашей информации
Комментарии:
1. Где находится информация о подключении, такая как проверка связи, загрузка и выгрузка? Где я могу получить их при вызове конечной точки?
2. Проверка связи является ICMP и не имеет ничего общего с веб-службами. Зачем вам вообще нужна эта метрика для веб-сервиса? Требуется ли вам время пинга сервера и почему? Значения загрузки и выгрузки могут быть выведены по времени, когда ваши глаголы GET и POST принимают телеметрию.
3. Мне нужны эти данные для проверки загрузки веб-службы. В будущем к нему подключится большое количество компьютеров. Телеметрия? Я должен сделать запрос GET и POST и проверить, сколько времени в них, и это будет в кб / с? На этот раз не происходит проверка связи? Если нет какой-либо библиотеки, которая отправляет и получает эти данные?