Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnBeginRequest C# (CSharp) Method

OnBeginRequest() public method

Implements on begin callback of http module.
public OnBeginRequest ( HttpContext context ) : void
context System.Web.HttpContext
return void
        public void OnBeginRequest(HttpContext context)
        {
            if (this.telemetryClient == null)
            {
                throw new InvalidOperationException("Initialize has not been called on this module yet.");
            }

            if (context == null)
            {
                WebEventSource.Log.NoHttpContextWarning();
                return;
            }

            var requestTelemetry = context.ReadOrCreateRequestTelemetryPrivate();

            // NB! Whatever is saved in RequestTelemetry on Begin is not guaranteed to be sent because Begin may not be called; Keep it in context
            // In WCF there will be 2 Begins and 1 End. We need time from the first one
            if (requestTelemetry.Timestamp == DateTimeOffset.MinValue)
            {
                requestTelemetry.Start();
            }
        }

Usage Example

        public void OnEndSetsUrl()
        {
            var context = HttpModuleHelper.GetFakeHttpContext();

            var module = new RequestTrackingTelemetryModule();

            module.Initialize(TelemetryConfiguration.CreateDefault());
            module.OnBeginRequest(context);
            module.OnEndRequest(context);

            Assert.Equal(context.Request.Url, context.GetRequestTelemetry().Url);
        }
All Usage Examples Of Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule::OnBeginRequest