Skip to content

Decouple the Kestrel transport layer from Microsoft.AspNetCore.Hosting #11479

Open
@davidfowl

Description

@davidfowl

Both Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets and Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv depend on Microsoft.AspNetCore.Hosting because they expose extension methods on IWebHostBuilder, with the move to generic host and exposing the ability to create client connections from these transports (#10872), it's odd to have this dependency.

It seems like to preserve UseSockets and UseLibuv, we'll need to have extensions methods like these somewhere, either on the IWebHostBuilder or on the IServiceCollection. It seems like we'll need to introduce new packages to that have just the code without the extensions and another one that has the wire up code (much like we have the kestrel meta package today).

cc @shirhatti @anurse

Metadata

Metadata

Assignees

No one assigned

    Labels

    affected-very-fewThis issue impacts very few customersapi-suggestionEarly API idea and discussion, it is NOT ready for implementationarea-networkingIncludes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractionsbreaking-changeThis issue / pr will introduce a breaking change, when resolved / merged.enhancementThis issue represents an ask for new feature or an enhancement to an existing oneseverity-nice-to-haveThis label is used by an internal tool🥌 Bedrock

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions