C# 过滤掉应用程序洞察中的依赖项
我想在Application Insights中过滤掉依赖项调用。我想检查电话是否打到某个特定主机。以下是我的想法:C# 过滤掉应用程序洞察中的依赖项,c#,azure,C#,Azure,我想在Application Insights中过滤掉依赖项调用。我想检查电话是否打到某个特定主机。以下是我的想法: public class ApplicationInsightsFilter : ITelemetryProcessor { ... IgnoredHosts = new List<string> { "foo.queue.core.windows.net", "foo.blob.core.windows.ne
public class ApplicationInsightsFilter : ITelemetryProcessor
{
...
IgnoredHosts = new List<string>
{
"foo.queue.core.windows.net",
"foo.blob.core.windows.net",
"bar.queue.core.windows.net",
"bar.blob.core.windows.net"
};
public void Process(ITelemetry item)
{
var request = item as DependencyTelemetry;
if (request?.Name != null)
{
Uri uri = Uri.TryCreate(request.Name, UriKind.Absolute, out uri) ? uri : null;
if (uri != null && IgnoredHosts.Contains(uri.Host))
return;
}
Next.Process(item);
}
}
这在调试时工作正常,而不是在生产中。在生产环境中,这些呼叫仍被记录
有什么想法吗?事实证明,如果您有一个
ApplicationInsights.config
文件,您还必须将处理器插入其中:
<TelemetryProcessors>
<Add Type="MyWebApplication.ApplicationInsightsFilter, MyWebApplication">
</Add>
</TelemetryProcessors>
说:
或者,您可以在代码中初始化过滤器
事实证明,如果您有一个ApplicationInsights.config
文件,那么您还必须在其中插入处理器:
<TelemetryProcessors>
<Add Type="MyWebApplication.ApplicationInsightsFilter, MyWebApplication">
</Add>
</TelemetryProcessors>
说:
或者,您可以在代码中初始化过滤器