SV: [Mono-list] Web: Apache v/s IIS

Patrik Torstensson
Sat, 22 Dec 2001 14:17:01 +0100

That sounds like a good plan. I have done a number of the Http classes in my private webserver implementation. Microsoft did do a fatal error in there implementation of Http framework, they have done the HttpWorkerRequest abstract (and Microsoft has a number of implementations) but the HttpRuntime is not abstract (should be) and a number of the HttpRequest/HttpResponse methods has a dependency towards a internal security class that uses private members of the HttpRuntime (that make's it imposible to use the Http framework for own purpose).
Therefore I implemeted a new interface that then the correct request provider can implement, and I think the HttpRuntime should be abstract and be implemented for different web servers. The webservers ís then responsible for starting the HttpRuntime and post the request via the implementation of the request handler. I can post the code soon for my server (just need to flush out the bugs) and I think a lot of that code could be reused for Mono.
The named pipe implementation in IIS is in unmanaged code and the unmanaged code hostes a AppDomain that starts the HttpRuntime. And I think this could be a good idea for the Mono implementation also due to that the Web framework uses threads (a thread pool that is implemented in the unmanaged code using IOCP) and for example Apache is not. With the abstraction with a named pipe or TCP/IP layer we don't need to take that into considiration for each implementation plus we can implement things like webgardens and other cool functionality.
- Patrik

	-----Ursprungligt meddelande----- 
	Från: Bob Smith [] 
	Skickat: fr 2001-12-21 18:48 
	Till: Gaurav Vaish 
	Ämne: Re: [Mono-list] Web: Apache v/s IIS

	What I was thinking of doing is adding a mod_mono into apache which would
	allow apache modules to be written with CIL. Then, write a module that
	passes the required information to HttpRuntime. The other way would be to
	do it the way Microsoft did it. Have a totally seperate process for the
	HttpRuntime and send requests at it via named pipes.
	On Fri, 21 Dec 2001, Gaurav Vaish wrote:
	> Hello,
	>     Some variables in System.Web.HttpRuntime (App*, Clr*)  are highly Windows/IIS specific. I can get the required information from
	> aspnet_isapi.dll etc, but I am totally stuck at from where to load in case of Apache - and that too when I have two cases: windows
	> and linux.
	>     Any clues?
	>     [One example of what I actually need is System.Web.Utils.ApacheVersionInfo as against <namespace>.IISVersionInfo]
	> Cheers,
	> Gaurav Vaish
	> ----------------------------
	> _______________________________________________
	> Mono-list maillist  -
	Mono-list maillist  -