I'm trying to add custom properties to Application Insights to each request. I'm trying to achieve the same thing as described in this post (Adding custom properties for each request in Application Insights metrics) using VB.NET code .
I converted the suggested solution C# code to VB.NET as follow :
public class CustomTelemetry : ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
var requestTelemetry = telemetry as RequestTelemetry;
if (requestTelemetry == null) return;
requestTelemetry.Properties.Add("LoggedInUserName", "DummyUser");
}
}
and
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
and
TelemetryConfiguration.Active.TelemetryInitializers.Add(New CustomTelemetry())
However this gives me an error on Inherits ITelemetryInitializer
Classes can inherit only from other classes.
I've also tried to use "Implements" instead of inherits, but still no Custom properties is sent to AI on page visit.
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
I was wondering what i'm missing here?
Thanks