我的 .NET 核心 API 的几乎所有请求遥测都缺少该UserId
属性。我有一个 Angular SPA 通过 Azure Front Door 向我的 API 发出 HTTP 请求。唯一具有UserId
属性的请求遥测是未通过 Azure 前门的流量。准确地说:它是 SignalR 直接对 API 的请求。我有一种感觉,我们的 Angular 应用程序将遥测传递给我们的 Application Insights(仅用于前端),而在我们的其他 Application Insights(仅用于后端)中,事情似乎并没有对齐。前端的依赖遥测与后端接收的请求遥测的 URL 不同。Azure Front Door 设置为转发请求,因此它会将收到的请求再次发送到正确的目的地。
UserId
后端缺少属性的 HTTP 请求示意图:
--------- -------- --------
|Angular| GET domain.com/api1 | Front| GET domain2.com/api | Back |
| app | -----------------------> | Door | --------------------> | End |
--------- -------- --------
UserId
后端包含属性的 HTTP 请求示意图:
--------- --------
|Angular| GET domain2.com/signalr | Back |
| app | -----------------------> | End |
--------- --------
我查看了请求标头,但没有看到 aUserId
已传递到那里的迹象,并且对于前门或直接到我的 API 的请求实际上是相同的(主机名是那里的最大区别)。我认为前门使用与获取请求相同的标头来执行请求。
首先,我的假设是否正确?前端依赖跟踪的 URL 是否与后端接收的 URL 不同?如果是这样,我该怎么办?我想使用UserId
特定用户在遇到问题之前执行的故障排除操作(“此用户会话的所有可用遥测”功能)。