<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>webserver Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/webserver/Wiki/View.aspx?title=Home</link><description>webserver Wiki Rss Description</description><item><title>New Comment on "HTTPS"</title><link>http://webserver.codeplex.com/wikipage?title=HTTPS&amp;ANCHOR#C26321</link><description>ok this article tells you how to generate the certificate - but how can you make our Codeplex Webserver to point at this certificate&amp;#63; Thanks</description><author>devvvy</author><pubDate>Sun, 27 Jan 2013 02:52:25 GMT</pubDate><guid isPermaLink="false">New Comment on "HTTPS" 20130127025225A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=73</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer &lt;/h1&gt;
This project is not being supported anymore.&lt;br /&gt;&lt;br /&gt;You can either use my networking library &lt;a href="https://github.com/jgauffin/griffin.networking"&gt;Griffin.Networking&lt;/a&gt; with the HTTP protocol implementation to get something like the standard HttpListener. Both assemblies are available at nuget.&lt;br /&gt;&lt;br /&gt;You can also use the new &lt;a href="https://github.com/jgauffin/griffin.webserver"&gt;Griffin.WebServer&lt;/a&gt;. Which is slowly taking shape. It&amp;#39;s a lot faster than C# WebServer.&lt;br /&gt;
&lt;h2&gt;Current features in Griffin.WebServer&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;File handling
&lt;ul&gt;&lt;li&gt;Caching&lt;/li&gt;
&lt;li&gt;Partial downloads (Range support, i.e. continue downloads)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Authentication
&lt;ul&gt;&lt;li&gt;Basic&lt;/li&gt;
&lt;li&gt;Digest&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Request body handling
&lt;ul&gt;&lt;li&gt;multipart/form-data (to handle file uploads)&lt;/li&gt;
&lt;li&gt;UrlEncoded (the most common body encoding)&lt;/li&gt;
&lt;li&gt;Support any file size (large files are written to temporary files)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Response body handling
&lt;ul&gt;&lt;li&gt;Allows streaming of large files with low memory usage. Just attach a FileStream etc.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Better module support
&lt;ul&gt;&lt;li&gt;different types of modules which are executed in a specific order (authentication models are for instance always run first)&lt;/li&gt;
&lt;li&gt;Regex routing module&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h1&gt;Legacy information&lt;/h1&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449"&gt;ohloh&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Wed, 12 Dec 2012 11:47:59 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20121212114759A</guid></item><item><title>New Comment on "HttpListener"</title><link>http://webserver.codeplex.com/wikipage?title=HttpListener&amp;ANCHOR#C24972</link><description>Can someone tell me how to generate a X509Certificate for HttpListener with openssl, your any reply will high be appreciated&amp;#33; Thank you&amp;#33;&amp;#10;&amp;#10;var certificate &amp;#61; new X509Certificate2&amp;#40;&amp;#34;C&amp;#58;&amp;#92;&amp;#92;yourcert.dat&amp;#34;, &amp;#34;yourpassword&amp;#34;&amp;#41;&amp;#59;&amp;#10;                                                        &amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;&amp;#126;</description><author>dudu2012</author><pubDate>Wed, 12 Sep 2012 14:47:23 GMT</pubDate><guid isPermaLink="false">New Comment on "HttpListener" 20120912024723P</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=72</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer &lt;/h1&gt;
The project is being migrated to my new &lt;a href="https://github.com/jgauffin/griffin.networking"&gt;Networking library&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449"&gt;ohloh&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Thu, 10 May 2012 06:21:18 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120510062118A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=71</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer &lt;/h1&gt;
The project is being migrated to my new Networking library.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.se/search?gcx=w&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=c%23+web+framework#sclient=psy-ab&amp;amp;hl=sv&amp;amp;source=hp&amp;amp;q=c%23+web+server+site:github.com&amp;amp;pbx=1&amp;amp;oq=c%23+web+server+site:github.com&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=9208l12846l0l13078l22l17l0l3l3l0l194l2519l3.14l20l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=ad6d3aac6dbc2e6a&amp;amp;biw=1920&amp;amp;bih=936"&gt;Alternatives&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449"&gt;ohloh&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Thu, 10 May 2012 06:20:29 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120510062029A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=70</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer (inactive)&lt;/h1&gt;
&lt;b&gt;Abandoned&lt;/b&gt; I haven&amp;#39;t had time to do anything with the project for over a year. Please consider the project as abandoned unless someone else steps forward. &lt;br /&gt;&lt;br /&gt;If you need my help, you need to pay for it at an hourly rate. Contact me at jonas@gauffin.org.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.se/search?gcx=w&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=c%23+web+framework#sclient=psy-ab&amp;amp;hl=sv&amp;amp;source=hp&amp;amp;q=c%23+web+server+site:github.com&amp;amp;pbx=1&amp;amp;oq=c%23+web+server+site:github.com&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=9208l12846l0l13078l22l17l0l3l3l0l194l2519l3.14l20l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=ad6d3aac6dbc2e6a&amp;amp;biw=1920&amp;amp;bih=936" class="externalLink"&gt;Alternatives&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Tue, 08 Nov 2011 06:22:22 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111108062222A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=69</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;Abandoned&lt;/b&gt; I haven&amp;#39;t had time to do anything with the project for over a year. Please consider the project as abandoned unless someone else steps forward. &lt;br /&gt;&lt;br /&gt;If you need my help, you need to pay for it at an hourly rate. Contact me at jonas@gauffin.org.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.se/search?gcx=w&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=c%23+web+framework#sclient=psy-ab&amp;amp;hl=sv&amp;amp;source=hp&amp;amp;q=c%23+web+server+site:github.com&amp;amp;pbx=1&amp;amp;oq=c%23+web+server+site:github.com&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=9208l12846l0l13078l22l17l0l3l3l0l194l2519l3.14l20l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=ad6d3aac6dbc2e6a&amp;amp;biw=1920&amp;amp;bih=936" class="externalLink"&gt;Alternatives&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Tue, 08 Nov 2011 06:21:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111108062157A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=68</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;&lt;/b&gt;Abandoned** I haven&amp;#39;t had time to do anything with the project for over a year. Please consider the project as abandoned unless someone else steps forward. &lt;br /&gt;&lt;br /&gt;If you need my help, you need to pay for it at an hourly rate. Contact me at jonas@gauffin.org.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.se/search?gcx=w&amp;amp;sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=c%23+web+framework#sclient=psy-ab&amp;amp;hl=sv&amp;amp;source=hp&amp;amp;q=c%23+web+server+site:github.com&amp;amp;pbx=1&amp;amp;oq=c%23+web+server+site:github.com&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;gs_sm=e&amp;amp;gs_upl=9208l12846l0l13078l22l17l0l3l3l0l194l2519l3.14l20l0&amp;amp;bav=on.2,or.r_gc.r_pw.r_cp.,cf.osb&amp;amp;fp=ad6d3aac6dbc2e6a&amp;amp;biw=1920&amp;amp;bih=936" class="externalLink"&gt;Alternatives&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Tue, 08 Nov 2011 06:21:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20111108062147A</guid></item><item><title>New Comment on "Extending"</title><link>http://webserver.codeplex.com/wikipage?title=Extending&amp;ANCHOR#C20605</link><description>Well. when i try to make a error page using vb.net, im adding a handler&amp;#34;&amp;#10;&amp;#10; AddHandler listener.ErrorPageRequested, AddressOf OnError&amp;#10;&amp;#10;and then the Sub OnError&amp;#40;sender ...&amp;#41;&amp;#10;&amp;#10;However i always get the error that it is not compatible.</description><author>epicus</author><pubDate>Tue, 09 Aug 2011 04:43:00 GMT</pubDate><guid isPermaLink="false">New Comment on "Extending" 20110809044300A</guid></item><item><title>New Comment on "HttpListener"</title><link>http://webserver.codeplex.com/wikipage?title=HttpListener&amp;ANCHOR#C20604</link><description>Hey,&amp;#10;&amp;#10;I tried to port it too VB and thats what I got&amp;#58;&amp;#10;&amp;#10;&amp;#10;Imports HttpServer&amp;#10;Imports System.Net&amp;#10;Imports System.Text&amp;#10;&amp;#10;Module Main&amp;#10;&amp;#10;    Sub Main&amp;#40;ByVal args As String&amp;#40;&amp;#41;&amp;#41;&amp;#10;        Dim listener As HttpServer.HttpListener &amp;#61; HttpServer.HttpListener.Create&amp;#40;IPAddress.Loopback, 8089&amp;#41;&amp;#10;        AddHandler listener.RequestReceived, AddressOf OnRequest&amp;#10;        listener.Start&amp;#40;5&amp;#41;&amp;#10;        Console.ReadLine&amp;#40;&amp;#41;&amp;#10;    End Sub&amp;#10;&amp;#10;   Sub OnRequest&amp;#40;ByVal sender As Object, ByVal e As RequestEventArgs&amp;#41;&amp;#10;        Dim buffer As Byte&amp;#40;&amp;#41; &amp;#61; Encoding.UTF8.GetBytes&amp;#40;&amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;Hello wordl&amp;#33;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#34;&amp;#41;&amp;#10;        e.Request.Body.Write&amp;#40;buffer, 0, buffer.Length&amp;#41;&amp;#10;    End Sub&amp;#10;End Module&amp;#10;&amp;#10;&amp;#10;but sadly. its not working. what am I doing wrong&amp;#63;</description><author>epicus</author><pubDate>Tue, 09 Aug 2011 03:34:38 GMT</pubDate><guid isPermaLink="false">New Comment on "HttpListener" 20110809033438A</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=67</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;&lt;i&gt;If you like this project, please vote on this codeplex &lt;a href="http://codeplex.codeplex.com/WorkItem/View.aspx?WorkItemId=20445" class="externalLink"&gt;issue&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. It&amp;#39;s annoying that CodePlex can&amp;#39;t handle subversion properly.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This project contains a modular web server. 
&lt;ol&gt;&lt;li&gt;For starters, you can just use the HTTPListener to handle HTTP requests. &lt;/li&gt;
&lt;li&gt;Add the listener to the webserver to be able to serve files easily. &lt;/li&gt;
&lt;li&gt;Create your own HTTP module and include it in the web server.&lt;/li&gt;
&lt;li&gt;Use the MvcServer to get controllers and views.&lt;/li&gt;
&lt;li&gt;Load an external view engine. Currently supporting nhaml and Spark.&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://www.pledgie.com/campaigns/9439"&gt;&lt;img style="border:none;" src="http://www.pledgie.com/campaigns/9439.png?skin_name=chrome" alt="Donations" title="Donations" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Want new or custom features? A donation will speed things up.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Want email/priority support? &lt;a href="https://www.codeplex.com/site/users/contact/jgauffin?OriginalUrl=http://webserver.codeplex.com" class="externalLink"&gt;Contact me&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Thu, 30 Jun 2011 19:50:01 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110630075001P</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=66</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;&lt;i&gt;If you like this project, please vote on this codeplex &lt;a href="http://codeplex.codeplex.com/WorkItem/View.aspx?WorkItemId=20445" class="externalLink"&gt;issue&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. It&amp;#39;s annoying that CodePlex can&amp;#39;t handle subversion properly.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This project contains a modular web server. 
&lt;ol&gt;&lt;li&gt;For starters, you can just use the HTTPListener to handle HTTP requests. &lt;/li&gt;
&lt;li&gt;Add the listener to the webserver to be able to serve files easily. &lt;/li&gt;
&lt;li&gt;Create your own HTTP module and include it in the web server.&lt;/li&gt;
&lt;li&gt;Use the MvcServer to get controllers and views.&lt;/li&gt;
&lt;li&gt;Load an external view engine. Currently supporting nhaml and Spark.&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://www.pledgie.com/campaigns/9439"&gt;&lt;img style="border:none;" src="http://www.pledgie.com/campaigns/9439.png?skin_name=chrome" alt="Donations" title="Donations" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Want new or custom features? A donation will speed things up.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Want email/priority support? &lt;a href="https://www.codeplex.com/site/users/contact/jgauffin?OriginalUrl=http://webserver.codeplex.com" class="externalLink"&gt;Contact me&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for price discussion&lt;/i&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/5715449" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Thu, 30 Jun 2011 19:49:43 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110630074943P</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=65</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;&lt;i&gt;If you like this project, please vote on this codeplex &lt;a href="http://codeplex.codeplex.com/WorkItem/View.aspx?WorkItemId=20445" class="externalLink"&gt;issue&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. It&amp;#39;s annoying that CodePlex can&amp;#39;t handle subversion properly.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This project contains a modular web server. 
&lt;ol&gt;&lt;li&gt;For starters, you can just use the HTTPListener to handle HTTP requests. &lt;/li&gt;
&lt;li&gt;Add the listener to the webserver to be able to serve files easily. &lt;/li&gt;
&lt;li&gt;Create your own HTTP module and include it in the web server.&lt;/li&gt;
&lt;li&gt;Use the MvcServer to get controllers and views.&lt;/li&gt;
&lt;li&gt;Load an external view engine. Currently supporting nhaml and Spark.&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://www.pledgie.com/campaigns/9439"&gt;&lt;img style="border:none;" src="http://www.pledgie.com/campaigns/9439.png?skin_name=chrome" alt="Donations" title="Donations" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Want new or custom features? A donation will speed things up.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Want email/priority support? &lt;a href="https://www.codeplex.com/site/users/contact/jgauffin?OriginalUrl=http://webserver.codeplex.com" class="externalLink"&gt;Contact me&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for price discussion&lt;/i&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/2498631" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: http://blog.gauffin.org&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Wed, 22 Jun 2011 14:46:25 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110622024625P</guid></item><item><title>New Comment on "controller module"</title><link>http://webserver.codeplex.com/wikipage?title=controller module&amp;ANCHOR#C19651</link><description>The ControllersSample doesn&amp;#39;t work with version 2.0. You need to use IActionResult...&amp;#10;&amp;#10;public class UserController &amp;#58; RequestController&amp;#10;&amp;#123;&amp;#10;  public IActionResult Edit&amp;#40;&amp;#41;&amp;#10;  &amp;#123;&amp;#10;    return new StringContent&amp;#40;&amp;#34;Ohh, you wanted to edit &amp;#34; &amp;#43; Id &amp;#43; &amp;#34;&amp;#63;&amp;#34;&amp;#41;&amp;#59;&amp;#10;  &amp;#125;&amp;#10;&amp;#125;&amp;#10;&amp;#10;This should work...&amp;#10;&amp;#10;For the second example, maybe BinaryContent will work...</description><author>loudenvier</author><pubDate>Mon, 16 May 2011 03:05:30 GMT</pubDate><guid isPermaLink="false">New Comment on "controller module" 20110516030530A</guid></item><item><title>New Comment on "HttpListener"</title><link>http://webserver.codeplex.com/wikipage?title=HttpListener&amp;ANCHOR#C19142</link><description>ok - using the HttpServer.v1.1.zip dll - got this to work...&amp;#10;&amp;#10;BTW downloaded the source code release and have a look at the &amp;#34;tutorials&amp;#34; and &amp;#34;samples&amp;#34; folders from which this working version was extracted....&amp;#10;&amp;#10;using System.IO&amp;#59;&amp;#10;using System.Net&amp;#59;&amp;#10;using System.Threading&amp;#59;&amp;#10;using HttpServer&amp;#59;&amp;#10;using HttpListener &amp;#61; HttpServer.HttpListener&amp;#59;&amp;#10;&amp;#10;namespace WebServerTest&amp;#10;&amp;#123;&amp;#10;    class Program&amp;#10;    &amp;#123;&amp;#10;        private static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&amp;#10;        &amp;#123;&amp;#10;            HttpListener listener &amp;#61; HttpListener.Create&amp;#40;IPAddress.Any, 8089&amp;#41;&amp;#59;&amp;#10;            listener.RequestReceived &amp;#43;&amp;#61; OnRequest&amp;#59;&amp;#10;            listener.Start&amp;#40;5&amp;#41;&amp;#59;&amp;#10;            Thread.Sleep&amp;#40;9000000&amp;#41;&amp;#59;&amp;#10;        &amp;#125;&amp;#10;&amp;#10;        private static void OnRequest&amp;#40;object sender, RequestEventArgs e&amp;#41;&amp;#10;        &amp;#123;&amp;#10;            IHttpClientContext context &amp;#61; &amp;#40;IHttpClientContext&amp;#41;sender&amp;#59;&amp;#10;            IHttpRequest request &amp;#61; e.Request&amp;#59;&amp;#10;            IHttpResponse response &amp;#61; request.CreateResponse&amp;#40;context&amp;#41;&amp;#59;&amp;#10;            StreamWriter writer &amp;#61; new StreamWriter&amp;#40;response.Body&amp;#41;&amp;#59;&amp;#10;            writer.WriteLine&amp;#40;&amp;#34;Goodbye to you too&amp;#33;&amp;#34;&amp;#41;&amp;#59;&amp;#10;            writer.Flush&amp;#40;&amp;#41;&amp;#59;&amp;#10;            response.Send&amp;#40;&amp;#41;&amp;#59;&amp;#10;        &amp;#125;&amp;#10;    &amp;#125;&amp;#10;&amp;#125;</description><author>alien_boy</author><pubDate>Sat, 02 Apr 2011 11:43:13 GMT</pubDate><guid isPermaLink="false">New Comment on "HttpListener" 20110402114313A</guid></item><item><title>New Comment on "HttpListener"</title><link>http://webserver.codeplex.com/wikipage?title=HttpListener&amp;ANCHOR#C19118</link><description>ok i give up whats the magic incantation....&amp;#10;&amp;#10;when i comment in any of the &amp;#34;e.response&amp;#34; lines in the OnRequest i get an error....&amp;#10;&amp;#10;&amp;#34;....&amp;#39;HttpServer.RequestEventArgs&amp;#39; does not contain a definition for &amp;#39;Response&amp;#39; and no extension method &amp;#39;Response&amp;#39; accepting a first argument of type &amp;#39;HttpServer.RequestEventArgs&amp;#39; could be found &amp;#40;are you missing a using directive or an assembly reference&amp;#63;&amp;#41;...&amp;#34;&amp;#10;&amp;#10;using HttpServer.v1.1.zip dll, various c&amp;#35;&amp;#39;s &amp;#40;2.0, 3.5 and 4.0&amp;#41; &amp;#38; vs2010&amp;#10;&amp;#10;builds and runs perfectly when commented out and can watch call being made to the OnRequest&amp;#40;&amp;#41;&amp;#10;&amp;#10;using System.Threading&amp;#59;&amp;#10;using HttpServer&amp;#59;&amp;#10;&amp;#10;namespace DatabaseServer&amp;#10;&amp;#123;&amp;#10;    public class Program&amp;#10;    &amp;#123;&amp;#10;        public static void Main&amp;#40;string&amp;#91;&amp;#93; args&amp;#41;&amp;#10;        &amp;#123;&amp;#10;            HttpListener listener &amp;#61; HttpListener.Create&amp;#40;System.Net.IPAddress.Any, 8089&amp;#41;&amp;#59;&amp;#10;            listener.RequestReceived &amp;#43;&amp;#61; OnRequest&amp;#59;&amp;#10;            listener.Start&amp;#40;5&amp;#41;&amp;#59;&amp;#10;            Thread.Sleep&amp;#40;9000000&amp;#41;&amp;#59;&amp;#10;        &amp;#125;&amp;#10;&amp;#10;        public static void OnRequest&amp;#40;object sender, RequestEventArgs e&amp;#41;&amp;#10;        &amp;#123;&amp;#10;            &amp;#47;&amp;#47;e.Response.Connection.Type &amp;#61; ConnectionType.Close&amp;#59;&amp;#10;            &amp;#47;&amp;#47;byte&amp;#91;&amp;#93; buffer &amp;#61; Encoding.UTF8.GetBytes&amp;#40;&amp;#34;&amp;#60;html&amp;#62;&amp;#60;body&amp;#62;Hello wordl&amp;#33;&amp;#60;&amp;#47;body&amp;#62;&amp;#60;&amp;#47;html&amp;#62;&amp;#34;&amp;#41;&amp;#59;&amp;#10;            &amp;#47;&amp;#47;e.Response.Body.Write&amp;#40;buffer, 0, buffer.Length&amp;#41;&amp;#59;&amp;#10;        &amp;#125;&amp;#10;    &amp;#125;&amp;#10;&amp;#125;</description><author>alien_boy</author><pubDate>Thu, 31 Mar 2011 18:06:11 GMT</pubDate><guid isPermaLink="false">New Comment on "HttpListener" 20110331060611P</guid></item><item><title>Updated Wiki: OwnHttpModule</title><link>http://webserver.codeplex.com/wikipage?title=OwnHttpModule&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Custom HTTP Module&lt;/h1&gt;
&lt;h2&gt;Main program&lt;/h2&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
    &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Program
    {
        &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:Blue;"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color:Green;"&gt;// create a server.&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;var&lt;/span&gt; server = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Server();

            &lt;span style="color:Green;"&gt;// same as previous example.&lt;/span&gt;
            server.Resources.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; FileResources(&lt;span style="color:#A31515;"&gt;&amp;quot;/&amp;quot;&lt;/span&gt;, Environment.CurrentDirectory + &amp;quot;\\files\\&amp;quot;));
            server.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; FileModule(server.Resources, &lt;span style="color:Blue;"&gt;false&lt;/span&gt;));

            &lt;span style="color:Green;"&gt;// use one http listener.&lt;/span&gt;
            server.Add(HttpListener.Create(IPAddress.Any, 8085));

            &lt;span style="color:Green;"&gt;// add our own module.&lt;/span&gt;
            server.Add(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; Streamer());


            &lt;span style="color:Green;"&gt;// start server, can have max 5 pending accepts.&lt;/span&gt;
            server.Start(5);

            Console.ReadLine();
        }
    }
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;
&lt;h2&gt;The module&lt;/h2&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
    &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
    &lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Example on how to stream a file&lt;/span&gt;
    &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Streamer : IModule
    {
        &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt; Process a request.&lt;/span&gt;
        &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
        &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;param name=&amp;quot;context&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style="color:Green;"&gt;Request information&amp;lt;/param&amp;gt;&lt;/span&gt;
        &lt;span style="color:Gray;"&gt;///&lt;/span&gt; &lt;span style="color:Gray;"&gt;&amp;lt;returns&amp;gt;&lt;/span&gt;&lt;span style="color:Green;"&gt;What to do next.&amp;lt;/returns&amp;gt;&lt;/span&gt;
        &lt;span style="color:Blue;"&gt;public&lt;/span&gt; ProcessingResult Process(RequestContext context)
        {
            &lt;span style="color:Green;"&gt;// should add information about the file here.&lt;/span&gt;

            &lt;span style="color:Green;"&gt;// Lets send the header.&lt;/span&gt;
            ResonseWriter generator = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; ResonseWriter();
            generator.SendHeaders(context.HttpContext, context.Response);

            &lt;span style="color:Green;"&gt;// loop through file contents.&lt;/span&gt;
            BinaryWriter writer = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; BinaryWriter(context.HttpContext.Stream);
            


            &lt;span style="color:Green;"&gt;// Abort is needed since we&amp;#39;ve used the network&lt;/span&gt;
            &lt;span style="color:Green;"&gt;// stream directly. Else the framework will try to use the&lt;/span&gt;
            &lt;span style="color:Green;"&gt;// response object + network stream to send another response.&lt;/span&gt;
            &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ProcessingResult.Abort; 
        }
    }
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Thu, 17 Feb 2011 21:09:06 GMT</pubDate><guid isPermaLink="false">Updated Wiki: OwnHttpModule 20110217090906P</guid></item><item><title>New Comment on "Examples"</title><link>http://webserver.codeplex.com/wikipage?title=Examples&amp;ANCHOR#C16906</link><description>Could you post an example on how to use the BasicAuthentication &amp;#63; In old version, I can find the example in Tutorial4 but none in the current version. Thanks.</description><author>alexhu98</author><pubDate>Sun, 05 Sep 2010 05:38:50 GMT</pubDate><guid isPermaLink="false">New Comment on "Examples" 20100905053850A</guid></item><item><title>New Comment on "HTTPS"</title><link>http://webserver.codeplex.com/wikipage?title=HTTPS&amp;ANCHOR#C16246</link><description>The towersoft link is no longer active</description><author>jrezuke</author><pubDate>Sat, 03 Jul 2010 13:52:09 GMT</pubDate><guid isPermaLink="false">New Comment on "HTTPS" 20100703015209P</guid></item><item><title>Updated Wiki: Home</title><link>http://webserver.codeplex.com/wikipage?version=64</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;C# WebServer&lt;/h1&gt;
&lt;b&gt;&lt;i&gt;If you like this project, please vote on this codeplex &lt;a href="http://codeplex.codeplex.com/WorkItem/View.aspx?WorkItemId=20445" class="externalLink"&gt;issue&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. It&amp;#39;s annoying that CodePlex can&amp;#39;t handle subversion properly.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This project contains a modular web server. 
&lt;ol&gt;&lt;li&gt;For starters, you can just use the HTTPListener to handle HTTP requests. &lt;/li&gt;
&lt;li&gt;Add the listener to the webserver to be able to serve files easily. &lt;/li&gt;
&lt;li&gt;Create your own HTTP module and include it in the web server.&lt;/li&gt;
&lt;li&gt;Use the MvcServer to get controllers and views.&lt;/li&gt;
&lt;li&gt;Load an external view engine. Currently supporting nhaml and Spark.&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://www.pledgie.com/campaigns/9439"&gt;&lt;img style="border:none;" src="http://www.pledgie.com/campaigns/9439.png?skin_name=chrome" alt="Donations" title="Donations" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;i&gt;Want new or custom features? A donation will speed things up.&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Want email/priority support? &lt;a href="https://www.codeplex.com/site/users/contact/jgauffin?OriginalUrl=http://webserver.codeplex.com" class="externalLink"&gt;Contact me&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; for price discussion&lt;/i&gt;&lt;br /&gt;
&lt;h2&gt;Features in v1.1&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;HTTP Basic and Digest authentication - The authentication process is activated either by throwing the UnauthorizedException or tagging controller methods with a special attribute.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=controller%20module&amp;referringTitle=Home"&gt;Controllers&lt;/a&gt; (&amp;quot;C&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Template%20engines&amp;referringTitle=Home"&gt;Template engines&lt;/a&gt; (&amp;quot;V&amp;quot; in MVC)&lt;/li&gt;
&lt;li&gt;Multiple web sites module (serve multiple websites in same server).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=HTTPS&amp;referringTitle=Home"&gt;HTTPS&lt;/a&gt; Support (SSL)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Multilingual&amp;referringTitle=Home"&gt;Multilingual&lt;/a&gt; applications&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Validator&amp;referringTitle=Home"&gt;Validator&lt;/a&gt; - Validates input (got multilingual support)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Uniform%20input%20handling&amp;referringTitle=Home"&gt;Uniform input handling&lt;/a&gt; - Handle querystring/form/xml in the same way (you can add your own decoders too).&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Helpers&amp;referringTitle=Home"&gt;Helpers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://webserver.codeplex.com/wikipage?title=Testing&amp;referringTitle=Home"&gt;Testing&lt;/a&gt; Simplified testing of controllers.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Features in v2.0&lt;/h2&gt;
Version 2.0 is still a beta. Use v1.1 if you need a stable version.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;MVC&lt;/li&gt;
&lt;li&gt;External view engines (Spark, NHaml support included)&lt;/li&gt;
&lt;li&gt;HTTPS&lt;/li&gt;
&lt;li&gt;HttpFactory -&amp;gt; incject your own types to create a custom server.&lt;/li&gt;
&lt;li&gt;Abstract logging system -&amp;gt; Very easy to add support for your favorite logging framework. Built in support for console logging.&lt;/li&gt;
&lt;li&gt;Each header is parsed into an object -&amp;gt; Easier to handle header information.&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;Click on the documentation tab for examples.&lt;br /&gt;
&lt;h2&gt;Code documentation &lt;/h2&gt;
&lt;pre&gt;
Extremely well-commented source code
C# Webserver is written mostly in C#.

Across all C# projects on Ohloh, 22% of all source code lines are comments. For C# Webserver, this figure is 37%.

This very impressive number of comments puts C# Webserver among the best 10% of all C# projects on Ohloh.

A high number of comments might indicate that the code is well-documented and organized, and could be a sign of a helpful and disciplined development team.

&lt;/pre&gt;&lt;br /&gt;&lt;i&gt;(the text is taken from &lt;a href="http://www.ohloh.net/p/webserver/factoids/2498631" class="externalLink"&gt;ohloh&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;My very own blog: &lt;a href="http://blog.gauffin.com" class="externalLink"&gt;(InsertFancyName)&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>jgauffin</author><pubDate>Tue, 01 Jun 2010 11:30:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20100601113047A</guid></item></channel></rss>