aspnet / HttpSysServer

[Archived] A web server for ASP.NET Core based on the Windows Http Server API. Project moved to https://github.com/aspnet/AspNetCore
Apache License 2.0
106 stars 39 forks source link

Creating a shared sources package between HttpSys and ANCM in-process for native to managed interop #396

Closed jkotalik closed 7 years ago

jkotalik commented 7 years ago

In the prototype for ANCM in-process, @davidfowl and I copied files from HttpSysServer to convert native IIS HttpContext into unsafe managed ones. Classes like HttpApi.cs and RequestHeaders.cs can be shared across both implementations. @Tratcher proposed that we create a shared source package between HttpSys and IISIntegration. This would require creating a separate library/package in HttpSys. /cc @Eilon @muratg @Tratcher @davidfowl

Tratcher commented 7 years ago

I expect it to be a shared sources package in the HttpSys repo. If we made it a real library everything would be pubternal.

Eilon commented 7 years ago

Yeah just shared source is all we want. Do either of these repos depend on each other? If not, we might want to avoid making more dependencies... that's where Common often comes into play (though it does end up being a bit of a dumping ground).

Tratcher commented 7 years ago

The layering is reasonable for IISIntegration to depend on HttpSysServer, though there's no dependency currently. IISIntegration already depends on Kestrel which is in the same layer of the build graph as HttpSys.

Trying to move an Http.Sys API shared sources package to Common would make it unnecessarily difficult to maintain and test, you'd be juggling three repos rather than two.

Eilon commented 7 years ago

Then that sounds reasonable.