Почти во всех запросах телеметрии для моего основного API. NET отсутствует свойство UserId
. У меня Angular SPA делает HTTP-запросы к моему API через Azure Front Door. Единственный запрос телеметрии со свойством UserId
- это трафик c, который не пропущен через Azure парадную дверь. Если быть точным: это SignalR запрашивает непосредственно к API. У меня есть ощущение, что наше приложение Angular передает телеметрию в нашу Application Insights (только для внешнего интерфейса) и что в других наших Application Insights (только для внутреннего интерфейса) вещи, похоже, не совпадают. Телеметрия зависимостей во внешнем интерфейсе имеет другой URL-адрес, чем телеметрия запроса во внутреннем интерфейсе. Azure Front Door настроен на переадресацию запросов, поэтому он выполняет запрос, который он снова получает в нужное место назначения.
Схемы c обзор HTTP-запросов, в которых отсутствует свойство UserId
в серверной части:
--------- -------- --------
|Angular| GET domain.com/api1 | Front| GET domain2.com/api | Back |
| app | -----------------------> | Door | --------------------> | End |
--------- -------- --------
Схемы c обзор HTTP-запросов, содержащих свойство UserId
в серверной части:
--------- --------
|Angular| GET domain2.com/signalr | Back |
| app | -----------------------> | End |
--------- --------
Я просмотрел заголовки запросов, но вижу нет никаких указаний на то, что UserId
передается туда, и они практически одинаковы для запросов к входной двери или напрямую к моему API (имя хоста здесь большая разница). Я думаю , что входная дверь выполняет запрос с теми же заголовками, что и запрос.
Прежде всего, мои предположения верны? Проблема в том, что URL-адрес отслеживания зависимостей отличается от того, который получает сервер? Если так, что я могу сделать с этим? Я хочу использовать UserId
для действий по устранению неполадок, которые пользователь c совершил до того, как столкнулся с проблемой (функция «Вся доступная телеметрия для этого сеанса пользователя»).