为Application Insights指标(VB.NET)中的每个请求添加自定义属性

问题描述 投票:0回答:1

我正在尝试向每个请求的Application Insights添加自定义属性。我正在尝试使用VB.NET代码实现与本帖子(Adding custom properties for each request in Application Insights metrics)中描述的相同的操作。

我将建议的解决方案C#代码转换为VB.NET,如下所示:

public class CustomTelemetry : ITelemetryInitializer
{
    public void Initialize(ITelemetry telemetry)
    {
        var requestTelemetry = telemetry as RequestTelemetry;
        if (requestTelemetry == null) return;
        requestTelemetry.Properties.Add("LoggedInUserName", "DummyUser");

    }
}

TelemetryConfiguration.Active.TelemetryInitializers.Add(new CustomTelemetry());

to

Imports Microsoft.ApplicationInsights.Channel
Imports Microsoft.ApplicationInsights.DataContracts
Imports Microsoft.ApplicationInsights.Extensibility

Public Class CustomTelemetry
    Inherits ITelemetryInitializer

    Public Sub Initialize(ByVal telemetry As ITelemetry)
        Dim requestTelemetry = TryCast(telemetry, RequestTelemetry)
        If requestTelemetry Is Nothing Then Return
        requestTelemetry.Properties.Add("TEST", "TESTERRRRRR")
    End Sub

End Class

TelemetryConfiguration.Active.TelemetryInitializers.Add(New CustomTelemetry())

但是,这给了我Inherits ITelemetryInitializer错误]

类只能从其他类继承。

我也尝试使用“实现”代替继承,但在页面访问时仍未向AI发送自定义属性。

Public Class CustomTelemetry
    Implements ITelemetryInitializer

    Public Sub Initialize(ByVal telemetry As ITelemetry)
        Dim requestTelemetry = TryCast(telemetry, RequestTelemetry)
        If requestTelemetry Is Nothing Then Return
        requestTelemetry.Properties.Add("TEST", "TESTERRRRRR")
    End Sub

    Private Sub ITelemetryInitializer_Initialize(telemetry As ITelemetry) Implements ITelemetryInitializer.Initialize
        Throw New NotImplementedException()
    End Sub
End Class

我想知道我在这里想念什么?

谢谢

我正在尝试向每个请求的Application Insights添加自定义属性。我正在尝试实现与本博文所述的相同的操作(为Application中的每个请求添加自定义属性...

asp.net vb.net azure-application-insights c#-to-vb.net
1个回答
0
投票

我设法使其按如下方式工作:

© www.soinside.com 2019 - 2024. All rights reserved.