/// <summary> /// Adds target response header response object. /// </summary> public void AddTargetHashForResponseHeader(HttpContext context) { if (this.telemetryClient == null) { throw new InvalidOperationException(); } var requestTelemetry = context.GetRequestTelemetry(); if (string.IsNullOrEmpty(requestTelemetry.Context.InstrumentationKey)) { // Instrumentation key is probably empty, because the context has not yet had a chance to associate the requestTelemetry to the telemetry client yet. // and get they instrumentation key from all possible sources in the process. Let's do that now. this.telemetryClient.Initialize(requestTelemetry); } if (!string.IsNullOrEmpty(requestTelemetry.Context.InstrumentationKey) && context.Response.Headers[RequestResponseHeaders.TargetInstrumentationKeyHeader] == null) { context.Response.Headers[RequestResponseHeaders.TargetInstrumentationKeyHeader] = InstrumentationKeyHashLookupHelper.GetInstrumentationKeyHash(requestTelemetry.Context.InstrumentationKey); } }