the AspNetCore module is C++ module that loads the core clr and calls main, similar to this:
https://learn.microsoft.com/en-us/dotnet/core/tutorials/netcore-hosting
the core module is also responsible for mapping IIS network I/O to the asp.net core pipeline. The builder called from main is responsible interfacing to the aspnetcore module or use Kestrel. These interfaces are also called hosts, and they have been re-architectured several times to more common. current docs of WebBuilder:
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host?view=aspnetcore-6.0
You can create a custom host that uses something besides Http packages, say recv / send to queue manager:
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host?view=aspnetcore-6.0
note: the aspnetcore module source:
https://github.com/dotnet/aspnetcore/tree/a899ce80c36138df814b3258093a21de3ca95c5c/src/Servers/IIS