FastCGI ASP.NET Server Status Report 11

4 views
Skip to first unread message

Brian Nickel

unread,
Aug 13, 2007, 2:53:01 PM8/13/07
to mono-soc-2007, Marek Habersack
This status report is for the week of August 6 - August 10. This week
has continued to see a lot of fine tuning bug fixes.

THIS WEEK'S ACCOMPLISHMENTS

The Changelog grew by 116 lines this week. Key features are as
outlined.

* "Blocking" property was removed from Mono.FastCgi.Socket. It was
only used to disable blocking on a socket that already communicated
with asynchronous calls and was causing a problem with Abyss and
unmanaged sockets.

* All headers are now sent in a single batch rather than one at a
time. This should reduce the amount of network traffic and prevents
Nginx from occasionally losing a request.

* Added documentation for Abyss X1 and Nginx.

* Fixed .in files not to hardcode mono location.

* Provide a friendly response 500 error page if no application could
be found for a request.

* Added directory root detection with code borrowed from
XspWorkerRequest.

* Found bug in Mono.WebServer where MonoWorkerRequest.SendFile was
double closing a handle.

* Removed check for file existence when creating applications. This
way proper applications can still be created when the user mistypes
the path.

* Added documentation index page with important information on using
paths vs. extensions, what are ASP.NET applications, how applications
are handled, and running fastcgi-mono-server on a different machine
than the web server. Plus brief information on how a request is
actually processed, from Firefox to ASP.Default_aspx:Render(). See
http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/doc/index.html

* Added svn:eol-style=native to .html and .cs files.

* Added svn:mime-type to HTML and PNG files so they will show up in a
web browser.

* Fixed the status line. It was being sent in the HTTP: "HTTP/1.1 200
OK" format instead of the CGI "Status: 200 OK" format. This was
causing some breakage where status 200 was always being sent from web
servers and Apache wasn't working at all.

* Better output for "/help"

* Added some docs for using paths instead of directory mapping.

* Cleaned up UnmanagedSocket with proper SocketExceptions and a wait
handle for EndAccept.

and

After discussion with Daniel Nauck changed the recommended method of
handling ASP.NET to sending all requests to fastcgi-mono-server. The
benefits are outlined at http://mono-soc-2007.googlecode.com/svn/trunk/brian/FastCgi/doc/index.html#info1
but in short they are improved security and enhanced features with
application specific configuration.


PLANS FOR THE COMING WEEK

1) Continue documenting.
2) Alpha release.
3) Clean up API.
4) Adding open source tools: mailing list, bugzilla, wiki page???


CHALLENGES I'M FACING

Mostly just a million different web server nuances.


RESOURCES USED THIS WEEK

MSDN: WaitHandle, System.Web.UI.Page, IAsyncResult
Netcraft: Server statistics.
Apache API reference: Trying to understand cmd_parms.
FastCGI.com: Performance statistics.
CGI specification: Review.
http://svnbook.red-bean.com: Information on properties.

Sincerely,
Brian Nickel

Reply all
Reply to author
Forward
0 new messages