Work around WriteBarrier assign for nulling struct (#7659)
This commit is contained in:
parent
0fd753bfc2
commit
4646ed5618
|
|
@ -15,6 +15,20 @@ namespace Microsoft.AspNetCore.Http.Features
|
|||
Revision = collection.Revision;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Initalize(IFeatureCollection collection)
|
||||
{
|
||||
Revision = collection.Revision;
|
||||
Collection = collection;
|
||||
}
|
||||
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
||||
public void Initalize(IFeatureCollection collection, int revision)
|
||||
{
|
||||
Revision = revision;
|
||||
Collection = collection;
|
||||
}
|
||||
|
||||
public IFeatureCollection Collection { get; private set; }
|
||||
public int Revision { get; private set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -40,18 +40,19 @@ namespace Microsoft.AspNetCore.Http
|
|||
|
||||
public DefaultHttpContext(IFeatureCollection features)
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(features);
|
||||
_features.Initalize(features);
|
||||
_request = new DefaultHttpRequest(this);
|
||||
_response = new DefaultHttpResponse(this);
|
||||
}
|
||||
|
||||
public void Initialize(IFeatureCollection features)
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(features);
|
||||
_request.Initialize();
|
||||
_response.Initialize();
|
||||
_connection?.Initialize(features);
|
||||
_websockets?.Initialize(features);
|
||||
var revision = features.Revision;
|
||||
_features.Initalize(features, revision);
|
||||
_request.Initialize(revision);
|
||||
_response.Initialize(revision);
|
||||
_connection?.Initialize(features, revision);
|
||||
_websockets?.Initialize(features, revision);
|
||||
}
|
||||
|
||||
public void Uninitialize()
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ namespace Microsoft.AspNetCore.Http.Features
|
|||
throw new ArgumentNullException(nameof(features));
|
||||
}
|
||||
|
||||
_features = new FeatureReferences<IHttpRequestFeature>(features);
|
||||
_features.Initalize(features);
|
||||
}
|
||||
|
||||
private IHttpRequestFeature HttpRequestFeature =>
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ namespace Microsoft.AspNetCore.Http.Features
|
|||
throw new ArgumentNullException(nameof(features));
|
||||
}
|
||||
|
||||
_features = new FeatureReferences<IHttpRequestFeature>(features);
|
||||
_features.Initalize(features);
|
||||
}
|
||||
|
||||
private IHttpRequestFeature HttpRequestFeature =>
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Http.Features
|
|||
throw new ArgumentNullException(nameof(features));
|
||||
}
|
||||
|
||||
_features = new FeatureReferences<IHttpResponseFeature>(features);
|
||||
_features.Initalize(features);
|
||||
}
|
||||
|
||||
private IHttpResponseFeature HttpResponseFeature => _features.Fetch(ref _features.Cache, _nullResponseFeature);
|
||||
|
|
|
|||
|
|
@ -25,7 +25,12 @@ namespace Microsoft.AspNetCore.Http.Internal
|
|||
|
||||
public void Initialize( IFeatureCollection features)
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(features);
|
||||
_features.Initalize(features);
|
||||
}
|
||||
|
||||
public void Initialize(IFeatureCollection features, int revision)
|
||||
{
|
||||
_features.Initalize(features, revision);
|
||||
}
|
||||
|
||||
public void Uninitialize()
|
||||
|
|
|
|||
|
|
@ -28,12 +28,17 @@ namespace Microsoft.AspNetCore.Http.Internal
|
|||
public DefaultHttpRequest(DefaultHttpContext context)
|
||||
{
|
||||
_context = context;
|
||||
_features = new FeatureReferences<FeatureInterfaces>(_context.Features);
|
||||
_features.Initalize(context.Features);
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(_context.Features);
|
||||
_features.Initalize(_context.Features);
|
||||
}
|
||||
|
||||
public void Initialize(int revision)
|
||||
{
|
||||
_features.Initalize(_context.Features, revision);
|
||||
}
|
||||
|
||||
public void Uninitialize()
|
||||
|
|
|
|||
|
|
@ -25,12 +25,17 @@ namespace Microsoft.AspNetCore.Http.Internal
|
|||
public DefaultHttpResponse(DefaultHttpContext context)
|
||||
{
|
||||
_context = context;
|
||||
_features = new FeatureReferences<FeatureInterfaces>(_context.Features);
|
||||
_features.Initalize(context.Features);
|
||||
}
|
||||
|
||||
public void Initialize()
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(_context.Features);
|
||||
_features.Initalize(_context.Features);
|
||||
}
|
||||
|
||||
public void Initialize(int revision)
|
||||
{
|
||||
_features.Initalize(_context.Features, revision);
|
||||
}
|
||||
|
||||
public void Uninitialize()
|
||||
|
|
|
|||
|
|
@ -25,7 +25,12 @@ namespace Microsoft.AspNetCore.Http.Internal
|
|||
|
||||
public void Initialize(IFeatureCollection features)
|
||||
{
|
||||
_features = new FeatureReferences<FeatureInterfaces>(features);
|
||||
_features.Initalize(features);
|
||||
}
|
||||
|
||||
public void Initialize(IFeatureCollection features, int revision)
|
||||
{
|
||||
_features.Initalize(features, revision);
|
||||
}
|
||||
|
||||
public void Uninitialize()
|
||||
|
|
|
|||
Loading…
Reference in New Issue