Skip to content

Instantly share code, notes, and snippets.

@PeterOrneholm
Created June 7, 2015 20:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PeterOrneholm/1e366893a63f86998da2 to your computer and use it in GitHub Desktop.
Save PeterOrneholm/1e366893a63f86998da2 to your computer and use it in GitHub Desktop.
Context initializers for Application Insights.
public class WebApiApplication : HttpApplication
{
protected void Application_Start()
{
TelemetryConfiguration.Active.ContextInitializers.Add(new AiContextInit());
TelemetryConfiguration.Active.TelemetryInitializers.Add(new AiContextTelemtryInit());
}
}
public class AiContextInit : IContextInitializer
{
public void Initialize(TelemetryContext context)
{
var aiSession = HttpContext.Current.Request.Cookies["ai_session"];
if (aiSession != null && !string.IsNullOrWhiteSpace(aiSession.Value))
{
var aiSessionId = aiSession.Value.Split('|')[0];
context.Session.Id = aiSessionId;
}
}
}
public class AiContextTelemtryInit : AiContextInit, ITelemetryInitializer
{
public void Initialize(ITelemetry telemetry)
{
base.Initialize(telemetry.Context);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment