Skip to content

[release/9.0] Scope WebSocket request-body assertion to in-process hosting - #69326

Open
wtgodbe wants to merge 1 commit into
dotnet:release/9.0from
wtgodbe:wtgodbe/fix-iis-websocket-upgrade-release-9.0
Open

wtgodbe wants to merge 1 commit into
dotnet:release/9.0from
wtgodbe:wtgodbe/fix-iis-websocket-upgrade-release-9.0

Conversation

@wtgodbe

@wtgodbe wtgodbe commented Sep 15, 2026

Copy link
Copy Markdown
Member

Backport of befb2e9.

The shared IIS WebSocket test application asserted that IHttpMaxRequestBodySizeFeature.MaxRequestBodySize was cleared after upgrading for both hosting models. In-process hosting requires that behavior because its read loop enforces the limit, but out-of-process hosting runs on Kestrel, which does not enforce the limit after upgrade.

Scope the assertion to in-process hosting so the following out-of-process tests do not close the WebSocket prematurely:

  • OnStartedCalledForWebSocket
  • CanSendAndReceieveData
  • WebReadBeforeUpgrade

The same fix was applied directly to #69256 and #69301.

- in-process must clear the limit on upgrade because its read loop enforces it
- out-of-process runs on Kestrel, which never enforces it once upgraded
- unblocks the three WebSocketsOutOfProcessTests failures

🧪 - Generated by Copilot

(cherry picked from commit befb2e9)

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI lite review requested due to automatic review settings September 15, 2026 17:10
@dotnet-policy-service dotnet-policy-service Bot added this to the 9.0.x milestone Sep 15, 2026
@dotnet-policy-service

Copy link
Copy Markdown
Contributor

Hi @wtgodbe. If this is not a tell-mode PR, please make sure to follow the instructions laid out in the servicing process document.
Otherwise, please add tell-mode label.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The hosting-specific assertion change has no unresolved review issues.

Pull request overview

Scopes the WebSocket request-body assertion to IIS in-process hosting, preventing premature closure in out-of-process tests.

Changes:

  • Detects in-process hosting via IServerVariablesFeature.
  • Retains the assertion only for in-process requests.
File summaries
File Description
src/Servers/IIS/IIS/test/testassets/InProcessWebSite/Startup.WebSockets.cs Limits the request-body assertion to in-process hosting.
Review details
  • Files reviewed: 1/1 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

@wtgodbe wtgodbe added the tell-mode Indicates a PR which is being merged during tell-mode label Sep 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tell-mode Indicates a PR which is being merged during tell-mode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants