-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Description
Is there an existing issue for this?
- I have searched the existing issues
Describe the bug
I am hosting a Blazor Server app in IIS under a subdirectory with <base href="/test/" />
.
When I browse to domainname.com/test/ (exact lowercase with trailing slash), the app works fine.
But if I browse to domainname.com/test, domainname.com/TEST, or domainname.com/TeSt, the app fails with errors in the browser console:
Error: The circuit failed to initialize.
Error: Circuit host not initialized.
Error: Invocation canceled due to the underlying connection being closed.
Even though IIS still serves the request (and I can see a 301 redirect in DevTools when using rewrite rules), the same problem occurs: the Blazor _blazor
SignalR circuit negotiation does not complete after the casing/format mismatch, and the app disconnects immediately. The error happens whether or not rewrite rules are applied.

Expected Behavior
If a user navigates to the app with different casing in the path (e.g., /TEST
, /TesT
, etc.), the Blazor Server app should still initialize and run normally. The SignalR _blazor
circuit negotiation should not fail just because the virtual path casing does not exactly match the <base href>
.
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version
10.0.100-rc.1.25451.107
Anything else?
9.0.305
10.0.100-rc.1.25451.107
IIS 10
Windows Server 2019