Developing an open source project is a very rewarding experience. But sadly (as an open source developer that is) open source projects rarely get the feedback they deserve. Often the developers only hear feedback from their users when their software is broken, because of this it is often difficult to know when an author’s work is truly appreciated.
Category: aspNETserve
Point Release
Just a quick update, a new version of aspNETserve has been release. Version 1.3.1 represents a point release containing general bug fixes, and is recommended for all users.
aspNETserve Without GAC Install
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 1.3: What’s New
As I mentioned in my last post, aspNETserve 1.3 has just been released. And with it comes some exciting changes. Here is an outline of some of the most notable changes:
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:
MaxConnections
This property represents the maximum number of simultaneous connections allowed. Once the maximum amount has been reached additional requests will be declined.
KeepAliveRequestTimeout
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"?>
<server xmlns="http://aspnetserve.googlecode.com/svn/tags/Release%201.3/aspNETserve/Configuration/Xml/aspNETserve.config.xsd">
<application physicalPath="c:\temp">
<domain name="www.example.com" virtualPath="/" />
<endpoint ip="127.0.0.1" port="80" />
<endpoint ip="127.0.0.1" port="443" secure="true" />
</application>
</server>
Released: aspNETserve Version 1.3
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.
aspNETserve Update
It has been a while since I have mentioned anything about aspNETserve, so I figured it was due time for an update. Since the last update in December of 2007 there wasn’t any activity until recently. Between being distracted with a plethora of personal and professional obligations the project took a back seat.
aspNETserve Version 1.2 Finally Released
Just today I was able to release aspNETserve version 1.2!
After the birth of my son I took a few months off, so this project sat dormant for awhile. Now that he has been sleeping regularly (and I have too ), I have been able to contribute to my open source project again.
ASP.NET MVC With aspNETserve
I am pleased to announce that aspNETserve works with the latest CTP of MVC for ASP.NET.
aspNETserve has held up well against the MVC samples I have thrown its way, and has actually not required any code changes in aspNETserve.
An Embedded ASP.NET Web Server
To correspond with the release of aspNETserve version 1.1, I have written a simple demonstration of hosting an ASP.NET 2.0 web server right into your own application.
The following code sample is about as simple as it gets.
using System; using System.Collections.Generic; using System.Text; using aspNETserve; namespace ConsoleWebServer { class Program { static void Main(string[] args) { string physicalPath = "c:\\wwwroot"; int port = 8080; using (Server s = new Server(new System.Net.IPAddress(new byte[] { 127, 0, 0, 1 }), "/", physicalPath, port)) { s.Start(); Console.WriteLine("Press any key to stop the server"); Console.ReadKey(); s.Stop(); } } } }
aspNETserve Version 1.0
Just today version 1.0 of aspNETserve was released. This version fixes all known major bugs, and represents a feature complete version in regards to aspNETserve’s original goals. Specifically this means that it can host any ASP.NET 2.0 web application without the need for Internet Information Services (IIS).