diff --git a/src/SuperSocket.Connection/PipeConnectionBase.cs b/src/SuperSocket.Connection/PipeConnectionBase.cs index 7c5dd4b40..16936a86b 100644 --- a/src/SuperSocket.Connection/PipeConnectionBase.cs +++ b/src/SuperSocket.Connection/PipeConnectionBase.cs @@ -305,7 +305,7 @@ protected async Task ReadPipeAsync(PipeReader reader, IObjectPipe< } } - reader.Complete(); + OnReaderComplete(reader, _isDetaching); WriteEOFPackage(); } @@ -413,5 +413,10 @@ protected void OnError(string message, Exception e = null) else Logger?.LogError(message); } + + protected virtual void OnReaderComplete(PipeReader reader, bool isDetaching) + { + reader.Complete(); + } } } diff --git a/src/SuperSocket.Kestrel/KestrelPipeConnection.cs b/src/SuperSocket.Kestrel/KestrelPipeConnection.cs index 600c5600d..06286dff3 100644 --- a/src/SuperSocket.Kestrel/KestrelPipeConnection.cs +++ b/src/SuperSocket.Kestrel/KestrelPipeConnection.cs @@ -103,4 +103,12 @@ protected override Task StartInputPipeTask(IObjectPipe