aspNETserve is a free and open source ASP.NET 2.0/3.x web server. Written in C#, aspNETserve can be used to host your ASP.NET website, or to extend your knowledge of ASP.NET.

Journal Entries

No entries yet. Link your entries with 'aspNETserve' to include this project.

Ohloh Analysis Summary

Updated 19 Mar 2010 21:38 UTC


Ratings & Reviews

Community Rating
5.0/5.0

Based on 1 user ratings.

Your Rating

Click to rate this project.

Links

0 links submitted so far. Submit your own links.

News

Edit RSS feeds.

    Community Coding Contest

    Developing an open source project is a very rewording 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 ... [More] software is broken,
    because of this it is often difficult to know when an author's work is truly appreciated.

    Fortunately the Community Coding Contest is
    an attempt to spot light open source projects, and at the same time give a little
    something back to the contributors of those projects. Please check out aspNETserve's
    listing in the Community Coding Contest and if you find aspNETserve as useful
    as I hope you do, then please vote for it. [Less]

    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 ... [More] background information.

    Background

    aspNETserve internally makes use of the System.Web.Hosting namespace
    to manage AppDomains. Internal to aspNETserve is a class called DomainHook in
    the aspNETserve.Core namespace. When aspNETserve requests an AppDomain to be created
    it requests that a DomainHook be instantiated inside that AppDomain so that some level
    of interaction can occur between the two domains. This interaction is primarily focused
    around the processing of ASP.NET requests.

    The only snag to this whole process is the method that aspNETserve uses to create
    the AppDomains, ApplicationManager.CreateObject,
    makes you specify the physical path to the ASP.NET application. As it turns out the
    physical path is also used for the BaseDirectory property
    of the AppDomain to specify/limit which paths to probe for DLL resolution. This is
    precisely where the GAC requirement comes from.

    Since the hosted web application probably does not contain aspNETserve.Core.dll in
    its bin directory, then the only other way to successfully load that assembly, to
    instantiate the DomainHook type, is by placing the assembly in the GAC.

    Solution

    Currently aspNETserve has an
    open task of officially finding a work around to the above described scenario
    that removes the GAC installation requirement. However, in the interim, a quick and
    easy solution is to simply place the aspNETserve.Core assembly in the bin directory
    of the web site you wish to host. While not elegant by any means, it is something. [Less]

    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:

    HTTP Persistent
    Connections

    aspNETserve's goal ... [More] 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.

    Windows
    Service Server

    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 1.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>

    Packaging
    Abilities

    Perhaps the most exciting new feature is the ability to distributed packaged web application.
    Essentially this allows you to ZIP up your entire web site and distribute one single
    file, instead of dozens (or even hundreds). Web Application Packages (WAPs), as they
    are called, are described in detail on their
    wiki page.

    Currently on the SimpleServer supports WAPs, so this means that aspNETserve.Ice is
    left out of this feature. Fortunately, for those consuming the aspNETserve API, nothing
    prevents you from incorporating this feature into your own application. The best place
    to start learning about the semantics of WAPs is in the SimpleServer UI itself. 

     

    With any luck the next milestone for aspNETserve will be version 1.3.1, currently
    scheduled to be released sometime before October 31st, 2008. [Less]

    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 ... [More] 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.

    Enjoy. [Less]

Read all aspNETserve articles…

Download Page
6 downloads

Who uses aspNETserve?

Avatar

Who contributes to aspNETserve?

Avatar

Who manages aspNETserve?

I'm a manager

Where in the world?



Related Projects by Tags

Cassini++, Cherokee, NaviServer, NJetty, Serenity


Project Cost

This calculator estimates how much it would cost to hire a team to write this project from scratch. More »
Include
Codebase 51,647
Effort (est.) 12 Person Years
Avg. Salary $ year
$ 680,358