将不成功的请求记录到 Application Insights

Log unsuccessful requests to Application Insights

根据 the documentation 和我记得我以前做过的事情,应该可以记录自定义的不成功请求。但是使用此代码,只有第一个代码写入 Application Insights。我已经在没有任何过滤器的新香草溶液中尝试过它。

using (var operation = client.StartOperation<RequestTelemetry>("SuccessfulRequest"))
{
    operation.Telemetry.Success = true;
}

using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
    operation.Telemetry.Success = false;
}

我是不是遗漏了什么或者不能再这样做了?

似乎设置响应代码就可以了。

using (var operation = client.StartOperation<RequestTelemetry>("UnsuccessfulRequest"))
{
    operation.Telemetry.ResponseCode = "whatever";
    operation.Telemetry.Success = false;
}

根据提供的文档,您的代码将分析自定义代码片段

{
    operation.Telemetry.Success = false;
}

而不是整个请求。

我知道您想要设置一个 属性 来将整个请求标记为不成功。根据您的应用程序,您可能希望查看 自定义遥测处理器 ,它允许您在遥测项目 运行 通过您的管道后修改它们。可以找到一个很好的例子 here。 请记住,您必须根据需要调整示例代码。