你可以使用ITelemetryProcessor来过滤掉http错误440:
在您的 Web 项目中,添加类似 MyErrorFilter 的类:
public class MyErrorFilter: ITelemetryProcessor
{
private ITelemetryProcessor Next { get; set; }
public MyErrorFilter(ITelemetryProcessor next)
{
this.Next = next;
}
public void Process(ITelemetry item)
{
var request = item as RequestTelemetry;
if (request != null &&
request.ResponseCode.Equals("440", StringComparison.OrdinalIgnoreCase))
{
// To filter out an item, just terminate the chain:
return;
}
// Send everything else:
this.Next.Process(item);
}
}
如果是 .net framework web 项目,在 ApplicationInsights.config 文件中添加 this(type is assembly_name.class_name):
<TelemetryProcessors>
<Add Type="WebApplication9.MyErrorFilter, WebApplication9"></Add>
</TelemetryProcessors>
如果是.net core web项目,安装或更新Microsoft.ApplicationInsights.AspNetCore到2.7.1,然后在Startup.cs -> ConfigureServices方法中,添加如下代码行:
services.AddApplicationInsightsTelemetry();
services.AddApplicationInsightsTelemetryProcessor<MyErrorFilter>();