-
Notifications
You must be signed in to change notification settings - Fork 10.3k
IISHttpServer populates IServerAddressesFeature.Addresses with non-http addresses #30792
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Does anything break at runtime? (Maybe |
CoreWCF breaks, so I'm putting in a workaround. |
This seems like the expected behavior. The server is listing the addresses associated with it. Does configuring Kestrel with these bindings have the same behavior? |
@BrennanConroy, are you saying that ASP.NET Core can dispatch Net.Tcp and Net.Pipe requests when hosted in IIS? I would be very surprised if that's the case as you need a .NET Core implementation of the WCF binding NetNamedPipe to communicate with SMSvcHost in order to dispatch requests from those addresses, and NetNamedPipe binding doesn't exist yet on .NET Core. Kestrel doesn't know anything about Net.Tcp or Net.Pipe so can't bind to those. |
We need to fix BindingAddress to support wildcards. We don't want to hide server addresses from the feature so we'll keep them and just fix the BindingAddress class. |
We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process. |
@BrennanConroy, are you saying that even though the IIS IServer can't handle the other transports, that there's still benefit in exposing them to application code? |
Filtering here feels like the wrong behavior. I think it's less to do with how the server binds and more to do with round tripping user specified information. |
Describe the bug
When hosting an ASP.NET Core app in IIS using InProcess hosting, when getting the list of addresses from the
IServerAddressesFeature
feature, it includes non-http addresses if IIS is configured to use non-http bindings such as net.tcp.To Reproduce
Default hello world asp.net core app configured to use IIS in process hosting. Install non-http transport WCF transport support in Windows .NET features.

Configure IIS to have non-http bindings.

Get the addresses:
The addresses collection will contain the addresses:
Even though I didn't list it here, the net.msmq address is likely to also show up in the list if enabled in IIS.
Exceptions (if any)
Only get an exception when trying to parse with Uri, but that's an issue with my code presuming all addresses are http[s]
Further technical details
dotnet --info
The text was updated successfully, but these errors were encountered: