diff --git a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs index 024e79246b..da2d7f9bc6 100644 --- a/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs +++ b/src/Microsoft.AspNetCore.Server.Kestrel/Internal/Http/Connection.cs @@ -76,12 +76,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http // Start socket prior to applying the ConnectionFilter _socket.ReadStart(_allocCallback, _readCallback, this); - // Don't initialize _frame until SocketInput and SocketOutput are set to their final values. if (ServerOptions.ConnectionFilter == null) { - _frame.SocketInput = SocketInput; - _frame.SocketOutput = SocketOutput; - _frame.Start(); } else @@ -151,9 +147,10 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http SocketInput.IncomingFin(); _readInputTask.ContinueWith((task, state) => { - ((Connection)state)._filterContext.Connection.Dispose(); - ((Connection)state)._filteredStreamAdapter.Dispose(); - ((Connection)state).SocketInput.Dispose(); + var connection = (Connection)state; + connection._filterContext.Connection.Dispose(); + connection._filteredStreamAdapter.Dispose(); + connection.SocketInput.Dispose(); }, this); } else @@ -175,11 +172,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http _readInputTask = _filteredStreamAdapter.ReadInputAsync(); } - else - { - _frame.SocketInput = SocketInput; - _frame.SocketOutput = SocketOutput; - } _frame.PrepareRequest = _filterContext.PrepareRequest; @@ -254,11 +246,6 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http } } - private Frame CreateFrame() - { - return FrameFactory(this); - } - void IConnectionControl.Pause() { Log.ConnectionPause(ConnectionId);