From 03f7e4b36236c0d3669f0699dc479fee48b2e9b1 Mon Sep 17 00:00:00 2001 From: Chris R Date: Thu, 18 Jun 2015 15:55:12 -0700 Subject: [PATCH] React to IRequestIdentifierFeature refactor. --- .../FeatureContext.cs | 14 ++++++++++---- .../RequestTests.cs | 6 +++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs b/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs index 0994bde446..80f8d86f24 100644 --- a/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs +++ b/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs @@ -45,7 +45,7 @@ namespace Microsoft.AspNet.Server.WebListener IHttpWebSocketFeature, IHttpAuthenticationFeature, IHttpUpgradeFeature, - IRequestIdentifierFeature + IHttpRequestIdentifierFeature { private static Action OnStartDelegate = OnStart; @@ -66,6 +66,7 @@ namespace Microsoft.AspNet.Server.WebListener private int? _remotePort; private int? _localPort; private bool? _isLocal; + private string _requestId; private X509Certificate2 _clientCert; private ClaimsPrincipal _user; private IAuthenticationHandler _authHandler; @@ -107,7 +108,7 @@ namespace Microsoft.AspNet.Server.WebListener _features.Add(typeof(IHttpBufferingFeature), this); _features.Add(typeof(IHttpRequestLifetimeFeature), this); _features.Add(typeof(IHttpAuthenticationFeature), this); - _features.Add(typeof(IRequestIdentifierFeature), this); + _features.Add(typeof(IHttpRequestIdentifierFeature), this); if (Request.IsSecureConnection) { @@ -470,12 +471,17 @@ namespace Microsoft.AspNet.Server.WebListener set { _authHandler = value; } } - Guid IRequestIdentifierFeature.TraceIdentifier + string IHttpRequestIdentifierFeature.TraceIdentifier { get { - return _requestContext.TraceIdentifier; + if (_requestId == null) + { + _requestId = _requestContext.TraceIdentifier.ToString(); + } + return _requestId; } + set { _requestId = value; } } private static void OnStart(object obj) diff --git a/test/Microsoft.AspNet.Server.WebListener.FunctionalTests/RequestTests.cs b/test/Microsoft.AspNet.Server.WebListener.FunctionalTests/RequestTests.cs index bb005a0e22..72bd8ead4d 100644 --- a/test/Microsoft.AspNet.Server.WebListener.FunctionalTests/RequestTests.cs +++ b/test/Microsoft.AspNet.Server.WebListener.FunctionalTests/RequestTests.cs @@ -64,7 +64,7 @@ namespace Microsoft.AspNet.Server.WebListener Assert.True(connectionInfo.IsLocal); // Trace identifier - var requestIdentifierFeature = httpContext.GetFeature(); + var requestIdentifierFeature = httpContext.GetFeature(); Assert.NotNull(requestIdentifierFeature); Assert.NotNull(requestIdentifierFeature.TraceIdentifier); @@ -100,7 +100,7 @@ namespace Microsoft.AspNet.Server.WebListener { var requestInfo = httpContext.GetFeature(); var connectionInfo = httpContext.GetFeature(); - var requestIdentifierFeature = httpContext.GetFeature(); + var requestIdentifierFeature = httpContext.GetFeature(); // Request Keys Assert.Equal("http", requestInfo.Scheme); @@ -145,7 +145,7 @@ namespace Microsoft.AspNet.Server.WebListener { var httpContext = new DefaultHttpContext((IFeatureCollection)env); var requestInfo = httpContext.GetFeature(); - var requestIdentifierFeature = httpContext.GetFeature(); + var requestIdentifierFeature = httpContext.GetFeature(); try { Assert.Equal(expectedPath, requestInfo.Path);