0
我在我的Web應用程序上配置了Application Insights,但是遙測器充滿了來自SingalR的'失敗'請求,這使得發現真正的問題變得困難(參見下面的截圖)。我想過濾掉所有的SignalR請求,而不是將它們發送給AI。過濾來自ApplicationInsight的SignalR請求
我創建了一個遙測處理器(見下面的代碼基於on this example from MS)和ApplicationInsights.config文件中註冊它,這個本地工作調試時如預期,並防止然而,它發送的任何SignalR事件一旦Web應用程序發佈並在IIS中運行,似乎沒有任何影響。
public class SignalRFilter : ITelemetryProcessor
{
private ITelemetryProcessor Next { get; set; }
public SignalRFilter(ITelemetryProcessor next)
{
this.Next = next;
}
public void Process(ITelemetry item)
{
if (!OKtoSend(item))
return;
else
this.Next.Process(item);
}
private bool OKtoSend(ITelemetry item)
{
if (item is RequestTelemetry && ((RequestTelemetry)item).Url.AbsolutePath.Contains("signalr"))
return false;
else
return true;
}
}
有什麼建議嗎?
難道在服務器上的路徑是不同的或套管(例如SignalR)。代碼對我來說看起來不錯。 –
這是我檢查的第一件事,我剛剛重新檢查了所有內容,並且看不到開發環境和發佈內容之間的任何差異。一旦發佈,它永遠不會碰到過濾器。我會嘗試創建一個引發異常的過濾器,看看它是否被觸發。 –