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)。代码对我来说看起来不错。 –
这是我检查的第一件事,我刚刚重新检查了所有内容,并且看不到开发环境和发布内容之间的任何差异。一旦发布,它永远不会碰到过滤器。我会尝试创建一个引发异常的过滤器,看看它是否被触发。 –