Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 过滤掉应用程序洞察中的依赖项_C#_Azure - Fatal编程技术网

C# 过滤掉应用程序洞察中的依赖项

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

我想在Application Insights中过滤掉依赖项调用。我想检查电话是否打到某个特定主机。以下是我的想法:

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>

说:

或者,您可以在代码中初始化过滤器