The topic has come up many times, and that is “Why do I have to register aspNETserve.Core.dll in the GAC to run aspNETserve?”. The answer to this question has to do with how aspNETserve uses the ASP.NET hosting facilities, so first some background information.
aspNETserve’s goal is to target version 1.1 of the HTTP protocol, and prior to version 1.3 of aspNETserve it had an obvious shortcoming in that goal. It did not even attempt to keep “Keep-Alive” (aka, persistent) connections around. The server naively closed the connection after each request.
The new aspNETserve.Server object in version 1.3 has full support for persistent connections, and with it introduces a couple of new properties:
This property represents the maximum number of simultaneous connections allowed. Once the maximum amount has been reached additional requests will be declined.
A period of time (in milliseconds) that aspNETserve will wait for subsequent communications on a previously established connection.
A Windows service called aspNETserve.Ice (pun intended) allows aspNETserve to process requests in the background. Additionally, this allows request processing without a user having to first login and launch the SimpleServer UI.
aspNETserve.Ice reads it configuration from an XML file whose schema is define on the wiki page ConfigSchemaOverview.
Here is a simple example of what the XML file looks like:
<?xml version="1.0" encoding="utf-8"?>
<domain name="www.example.com" virtualPath="/" />
<endpoint ip="127.0.0.1" port="80" />
<endpoint ip="127.0.0.1" port="443" secure="true" />
Its late, so this will be a short post.
Version 1.3 of aspNETserve has just been released. It can be downloaded from http://code.google.com/p/aspnetserve/downloads/list.
Version 1.3 has several important enhancements and bug fixes. In a future post (hopefully in a day or so) I will go into detail of all the changes, but for now there is always the release 1.3 ticket view on the project’s issue tracer.