diff --git a/eng/Baseline.Designer.props b/eng/Baseline.Designer.props index b80e51cdc8..c4f0bf31d3 100644 --- a/eng/Baseline.Designer.props +++ b/eng/Baseline.Designer.props @@ -2,7 +2,7 @@ $(MSBuildAllProjects);$(MSBuildThisFileFullPath) - 3.1.6 + 3.1.7 @@ -16,7 +16,7 @@ - 3.1.6 + 3.1.7 @@ -27,88 +27,88 @@ - 3.1.6 + 3.1.7 - - - + + + - + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 @@ -116,97 +116,97 @@ - 3.1.6 + 3.1.7 - - - + + + - - - + + + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - - + + + - - - + + + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - - + + - - + + - 3.1.6 + 3.1.7 - + - + - 3.1.6 + 3.1.7 - - - - + + + + - - - - + + + + @@ -253,219 +253,219 @@ - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - + - + - + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - + - + - + - 3.1.6 + 3.1.7 - - - - - - + + + + + + - - - - - - + + + + + + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - - + + - - + + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - - - + + + - - - + + + - 3.1.6 + 3.1.7 - + - + - 3.1.6 + 3.1.7 - + - + - 3.1.6 + 3.1.7 - - + + - - + + - 3.1.6 + 3.1.7 - - - + + + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 @@ -473,239 +473,239 @@ - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - - + + + - 3.1.6 + 3.1.7 - - - + + + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - + - - + + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - - + + - - + + - - - - + + + + - 3.1.6 + 3.1.7 - - + + - - + + - 3.1.6 + 3.1.7 - + - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - - - + + + + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - + - 3.1.6 + 3.1.7 - - + + - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - 3.1.6 + 3.1.7 - - - + + + - 3.1.6 + 3.1.7 - - - + + + - - - + + + - 3.1.6 + 3.1.7 - - - + + + - - - + + + \ No newline at end of file diff --git a/eng/Baseline.xml b/eng/Baseline.xml index 650550d179..ca3b6217b8 100644 --- a/eng/Baseline.xml +++ b/eng/Baseline.xml @@ -4,87 +4,87 @@ This file contains a list of all the packages and their versions which were rele Update this list when preparing for a new patch. --> - + - + - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs index 2dac1a234e..db4068c52c 100644 --- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs +++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Read.cs @@ -25,7 +25,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO }; private readonly WebSocketsAsyncIOEngine _engine; - private readonly GCHandle _thisHandle; + private GCHandle _thisHandle; private MemoryHandle _inputHandle; private IntPtr _requestHandler; private Memory _memory; @@ -33,11 +33,11 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO public WebSocketReadOperation(WebSocketsAsyncIOEngine engine) { _engine = engine; - _thisHandle = GCHandle.Alloc(this); } protected override unsafe bool InvokeOperation(out int hr, out int bytes) { + _thisHandle = GCHandle.Alloc(this); _inputHandle = _memory.Pin(); hr = NativeMethods.HttpWebsocketsReadBytes( @@ -67,6 +67,8 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO { base.ResetOperation(); + _thisHandle.Free(); + _memory = default; _inputHandle.Dispose(); _inputHandle = default; diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs index 3eff3bba46..5e6630aae5 100644 --- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs +++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.Write.cs @@ -25,16 +25,16 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO }; private readonly WebSocketsAsyncIOEngine _engine; - private readonly GCHandle _thisHandle; + private GCHandle _thisHandle; public WebSocketWriteOperation(WebSocketsAsyncIOEngine engine) { _engine = engine; - _thisHandle = GCHandle.Alloc(this); } protected override unsafe int WriteChunks(IntPtr requestHandler, int chunkCount, HttpApiTypes.HTTP_DATA_CHUNK* dataChunks, out bool completionExpected) { + _thisHandle = GCHandle.Alloc(this); return NativeMethods.HttpWebsocketsWriteBytes(requestHandler, dataChunks, chunkCount, WriteCallback, (IntPtr)_thisHandle, out completionExpected); } @@ -42,6 +42,8 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO { base.ResetOperation(); + _thisHandle.Free(); + _engine.ReturnOperation(this); } } diff --git a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs index a796af23b3..2c1ac02e20 100644 --- a/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs +++ b/src/Servers/IIS/IIS/src/Core/IO/WebSocketsAsyncIOEngine.cs @@ -39,7 +39,7 @@ namespace Microsoft.AspNetCore.Server.IIS.Core.IO var read = GetReadOperation(); read.Initialize(_handler, memory); read.Invoke(); - return new ValueTask(read, 0); + return new ValueTask(read, 0); } }