diff --git a/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs b/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs index e8a2120e20..4d42a0db5e 100644 --- a/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs +++ b/src/Microsoft.AspNet.Server.WebListener/FeatureContext.cs @@ -63,6 +63,7 @@ namespace Microsoft.AspNet.Server.WebListener private X509Certificate2 _clientCert; private ClaimsPrincipal _user; private IAuthenticationHandler _authHandler; + private CancellationToken? _disconnectToken; private Stream _responseStream; private IDictionary _responseHeaders; @@ -375,7 +376,15 @@ namespace Microsoft.AspNet.Server.WebListener CancellationToken IHttpRequestLifetimeFeature.RequestAborted { - get { return _requestContext.DisconnectToken; } + get + { + if (!_disconnectToken.HasValue) + { + _disconnectToken = _requestContext.DisconnectToken; + } + return _disconnectToken.Value; + } + set { _disconnectToken = value; } } void IHttpRequestLifetimeFeature.Abort()