<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>DotNetKicks.com : Stories kicked by RyanFarley</title>
    <description>Stories kicked by RyanFarley</description>
    <link>http://www.dotnetkicks.com/</link>
    <language>en-us</language>
    <copyright>Atweb Publishing Ltd.</copyright>
    <docs>http://backend.userland.com/rss</docs>
    <generator>DotNetKicks.com - .NET links, community driven</generator>
    <ttl>30</ttl>
    <item>
      <title>Announcing Sueetie - the Open Source .NET Community Platform</title>
      <description>Sueetie is a open-source community platform/framework built on open-source .NET applications. It currently integrates great open-source .NET applications such as BlogEngine.NET, ScrewTurn Wiki, YetAnotherForum.NET, Gallery Server Pro, &amp;amp; WSAT Website Starter Kit into a single-themes cohesive community. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdbvt.com%2fblog%2fpost%2fThis-could-be-big-Sueetie-is-online!.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdbvt.com%2fblog%2fpost%2fThis-could-be-big-Sueetie-is-online!.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Announcing_Sueetie_the_Open_Source_NET_Community_Platform</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Announcing_Sueetie_the_Open_Source_NET_Community_Platform</guid>
      <pubDate>Fri, 19 Dec 2008 03:43:57 GMT</pubDate>
    </item>
    <item>
      <title>How To Guarantee That Your Software Will Suck</title>
      <description>Do you bad software and unhappy developers? Well, it isn't that hard... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.codethinked.com%2fpost%2f2008%2f12%2f07%2fHow-To-Guarantee-That-Your-Software-Will-Suck.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.codethinked.com%2fpost%2f2008%2f12%2f07%2fHow-To-Guarantee-That-Your-Software-Will-Suck.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/How_To_Guarantee_That_Your_Software_Will_Suck</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/How_To_Guarantee_That_Your_Software_Will_Suck</guid>
      <pubDate>Mon, 08 Dec 2008 16:31:10 GMT</pubDate>
    </item>
    <item>
      <title>27 Free Must-have Online Collaboration Tools</title>
      <description>hese days teams can be dispersed all over the globe. With outsourcing, telecommuting, distance learning and complex project collaboration, it's often helpful to have tools that can assist with the various collaborative tasks need to be done by dispersed teams. I've put together a great list of 27 free... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fcrazeegeekchick.com%2fblog%2f27-free-must-have-online-collaboration-tools%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fcrazeegeekchick.com%2fblog%2f27-free-must-have-online-collaboration-tools%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/27_Free_Must_have_Online_Collaboration_Tools</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/27_Free_Must_have_Online_Collaboration_Tools</guid>
      <pubDate>Fri, 28 Nov 2008 00:46:12 GMT</pubDate>
    </item>
    <item>
      <title>Starting with jQuery - Using jQuery with Web Forms</title>
      <description>In this sixth and final entry on a series of post focused on using jQuery with no prior knowledge, I dive into applying jQuery into the traditional ASP.Net web form environment. The example code covered in this entry focuses on applying the jQuery Validation plug-in against 2 sets of input in the same form. To make the example more realistic, the form fields are contained inside of content page to ensure the code works with ASP.Net's client id renaming feature/annoyance. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f11%2fstarting-with-jquery-using-jquery-with.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f11%2fstarting-with-jquery-using-jquery-with.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/jquery/Starting_with_jQuery_Using_jQuery_with_Web_Forms</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/jquery/Starting_with_jQuery_Using_jQuery_with_Web_Forms</guid>
      <pubDate>Sun, 09 Nov 2008 02:16:02 GMT</pubDate>
    </item>
    <item>
      <title>Essential Visual Studio Tips &amp;amp; Tricks that Every Developer Should Know</title>
      <description>In this blog entry, Stephen Walther lists the essential tips and tricks that every developer who uses Visual Studio 2008 should know. The list is kept brief. The list focuses on only those tips and tricks that can be used on a daily basis. Almost all of these tips and tricks are just as useful regardless of whether you are building an ASP.NET Web Forms or ASP.NET MVC application.
 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fweblogs.asp.net%2fstephenwalther%2farchive%2f2008%2f10%2f21%2fessential-visual-studio-tips-amp-tricks-that-every-developer-should-know.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fweblogs.asp.net%2fstephenwalther%2farchive%2f2008%2f10%2f21%2fessential-visual-studio-tips-amp-tricks-that-every-developer-should-know.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/visualstudio/Essential_Visual_Studio_Tips_Tricks_that_Every_Developer_Should_Know</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/visualstudio/Essential_Visual_Studio_Tips_Tricks_that_Every_Developer_Should_Know</guid>
      <pubDate>Tue, 21 Oct 2008 23:01:02 GMT</pubDate>
    </item>
    <item>
      <title>jQuery and Microsoft</title>
      <description>ScottGu announce that Microsoft will be shipping jQuery with Visual Studio going forward.  We will distribute the jQuery JavaScript library as-is, and will not be forking or changing the source from the main jQuery branch.  The files will continue to use and ship under the existing jQuery MIT license. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fweblogs.asp.net%2fscottgu%2farchive%2f2008%2f09%2f28%2fjquery-and-microsoft.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fweblogs.asp.net%2fscottgu%2farchive%2f2008%2f09%2f28%2fjquery-and-microsoft.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/jQuery_and_Microsoft</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/jQuery_and_Microsoft</guid>
      <pubDate>Sun, 28 Sep 2008 20:01:02 GMT</pubDate>
    </item>
    <item>
      <title>jQuery, Microsoft, and Nokia</title>
      <description>news today: Both Microsoft and Nokia are taking the major step of adopting jQuery as part of their official application development platform. Not only will they be using it for their corporate development but they will be providing it as a core piece of their platform for developers to build with. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fjquery.com%2fblog%2f2008%2f09%2f28%2fjquery-microsoft-nokia%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fjquery.com%2fblog%2f2008%2f09%2f28%2fjquery-microsoft-nokia%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/jQuery_Microsoft_and_Nokia</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/jQuery_Microsoft_and_Nokia</guid>
      <pubDate>Sun, 28 Sep 2008 19:16:03 GMT</pubDate>
    </item>
    <item>
      <title>Username Availability Validator almost ready, the early demo</title>
      <description>A demo on using UserName Availability Validator control that is built using ASP.NET AJAX and the project is available on CodePlex &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fmosesofegypt.net%2fpost%2f2008%2f09%2f19%2fUsername-Availability-Validator-almost-ready-the-early-demo.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmosesofegypt.net%2fpost%2f2008%2f09%2f19%2fUsername-Availability-Validator-almost-ready-the-early-demo.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/opensource/Username_Availability_Validator_almost_ready_the_early_demo</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/opensource/Username_Availability_Validator_almost_ready_the_early_demo</guid>
      <pubDate>Sat, 27 Sep 2008 12:31:02 GMT</pubDate>
    </item>
    <item>
      <title>JQuery, the very very basics - Lesson 1</title>
      <description>JQuery is the star among the growing list of JavaScript libraries. A few of its characteristics are light-weight, cross-browser compatibility and simplicity. A task that would take 10 lines of code with traditional JavaScript can be accomplished with JQuery in just 1 line of code. I write to record the series of very basic lessons I learned about JQuery (my study source is the very readable book JQuery in Action). 
 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnetslackers.com%2fCommunity%2fblogs%2fxun%2farchive%2f2008%2f09%2f13%2fjquery-the-very-very-basics-lesson-1.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnetslackers.com%2fCommunity%2fblogs%2fxun%2farchive%2f2008%2f09%2f13%2fjquery-the-very-very-basics-lesson-1.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/ajax/JQuery_the_very_very_basics_Lesson_1</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/ajax/JQuery_the_very_very_basics_Lesson_1</guid>
      <pubDate>Sat, 13 Sep 2008 08:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Starting With jQuery - Dynamically Applying Rules</title>
      <description>This series of posts on using jQuery with no prior knowledge comes to its fourth iteration. This week, we're going to build on the Validation plug-in by looking at how to add and remove rules dynamically. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f09%2fstarting-with-jquery-dynamically.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f09%2fstarting-with-jquery-dynamically.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/security/Starting_With_jQuery_Dynamically_Applying_Rules</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/security/Starting_With_jQuery_Dynamically_Applying_Rules</guid>
      <pubDate>Tue, 16 Sep 2008 13:16:21 GMT</pubDate>
    </item>
    <item>
      <title>Sending Email in a Development Environment without an SMTP Server</title>
      <description>Very handy... I'm forever looking this stuff up :-|  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.donnfelker.com%2fpost%2fSending-Email-in-a-Development-Environment-without-an-SMTP-Server.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.donnfelker.com%2fpost%2fSending-Email-in-a-Development-Environment-without-an-SMTP-Server.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Sending_Email_in_a_Development_Environment_without_an_SMTP_Server</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Sending_Email_in_a_Development_Environment_without_an_SMTP_Server</guid>
      <pubDate>Thu, 11 Sep 2008 20:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Creating a Custom Validation Control in ASP.NET </title>
      <description>The BaseValidator class defines the basic implementation needed for all Validation controls. There are 6 Validation Controls included in the ASP.NET 2.0 and ASP.NET 3.5 framework which validate controls to prevent the users from entering wrong data. However, there are a few shortcomings in these controls. The good part is that ASP.NET provides the framework to create new validation controls. If you would like to create your own validation control, you can do so by deriving a new control from the BaseValidator abstract class. In this article, we will explore how to create a custom validation control in ASP.NET and provide both Server and Client Side Validation for the same. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.dotnetcurry.com%2fShowArticle.aspx%3fID%3d197"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.dotnetcurry.com%2fShowArticle.aspx%3fID%3d197" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Creating_a_Custom_Validation_Control_in_ASP_NET</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Creating_a_Custom_Validation_Control_in_ASP_NET</guid>
      <pubDate>Wed, 10 Sep 2008 17:46:09 GMT</pubDate>
    </item>
    <item>
      <title>Details Popup Via jQuery clueTip Plugin</title>
      <description>Just to prove there are a million ways to get something done I decided to try using the jQuery clueTip Plugin to provide more details about an item in an ASP.NET ListView via a popup. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fbeckelman.net%2fpost%2f2008%2f09%2f07%2fDetails-Popup-Via-jQuery-clueTip-Plugin.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fbeckelman.net%2fpost%2f2008%2f09%2f07%2fDetails-Popup-Via-jQuery-clueTip-Plugin.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Details_Popup_Via_jQuery_clueTip_Plugin</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Details_Popup_Via_jQuery_clueTip_Plugin</guid>
      <pubDate>Thu, 11 Sep 2008 02:46:05 GMT</pubDate>
    </item>
    <item>
      <title>Browser Performance - What's Changed with Chrome in the Mix?</title>
      <description>This week Google released their new browser, Chrome. There has been so much buzz about it that it's been deafening. It is seriously amazing how passionate people get about a browser. But let's face it, a browser is likely what most people use more than any other software on their computer now days. I spend so much of my time online. Performance is important to me, just like anyone else. Since Chrome's release, I've spent some time reading performance metrics in an attempt to see past the marketing hype, and I've been pleased with what I've found. Not specifically with Chrome, but with the improvements across the board with many, but certainly not all, browsers. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fryanfarley.com%2fblog%2farchive%2f2008%2f09%2f03%2fbrowser-performance-whats-changed-with-chrome-in-the-mix.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fryanfarley.com%2fblog%2farchive%2f2008%2f09%2f03%2fbrowser-performance-whats-changed-with-chrome-in-the-mix.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Browser_Performance_What_s_Changed_with_Chrome_in_the_Mix</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Browser_Performance_What_s_Changed_with_Chrome_in_the_Mix</guid>
      <pubDate>Wed, 03 Sep 2008 18:18:39 GMT</pubDate>
    </item>
    <item>
      <title>NVelocity Server Control</title>
      <description>A light weight server control which wraps the NVelocity implementation. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fsimpable.com%2fcode%2fnvelocity-control%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fsimpable.com%2fcode%2fnvelocity-control%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/NVelocity_Server_Control</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/NVelocity_Server_Control</guid>
      <pubDate>Tue, 02 Sep 2008 15:31:05 GMT</pubDate>
    </item>
    <item>
      <title>Dear Alt.Net Developers:  Stop blaming Microsoft and WebForms for crea</title>
      <description>I am responsible for every website I create.  If I create a site or application that is unmaintainable or that has poorly formed HTML or doesn't render well in all browsers, that is my fault.  I chose my development tools/framework, or my employer, who I choose to work for, chose the development tools/framework.  Either way, it is my responsibility, as a professional, to do my utmost to create the best possible application that is within my capability to create.
 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.theaccidentalgeek.com%2fpost%2f2008%2f08%2f29%2fDear-AltNet-Developers-Stop-blaming-Microsoft-and-WebForms-for-creating-bad-developers.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.theaccidentalgeek.com%2fpost%2f2008%2f08%2f29%2fDear-AltNet-Developers-Stop-blaming-Microsoft-and-WebForms-for-creating-bad-developers.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Dear_Alt_Net_Developers_Stop_blaming_Microsoft_and_WebForms_for_crea</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Dear_Alt_Net_Developers_Stop_blaming_Microsoft_and_WebForms_for_crea</guid>
      <pubDate>Fri, 29 Aug 2008 14:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Top 10 Things That Annoy Programmers</title>
      <description>Programmers all have their personal pet peeves.  Whether it's scope creep, Hungarian notation, or smelly coworkers, there are certain nuisances that we must put up with in our line of work.  The following is a list of the top 10 things that annoy programmers, compiled from the results of my recent question on StackOverflow along with some of my own experiences as a programmer: &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.kevinwilliampang.com%2fpost%2fTop-10-Things-That-Annoy-Programmers.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.kevinwilliampang.com%2fpost%2fTop-10-Things-That-Annoy-Programmers.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Top_10_Things_That_Annoy_Programmers</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Top_10_Things_That_Annoy_Programmers</guid>
      <pubDate>Thu, 28 Aug 2008 20:46:03 GMT</pubDate>
    </item>
    <item>
      <title>Scraping, or Programatically Accessing, a Secure Webpage</title>
      <description>There are many secure websites out there that provide useful information but do not have a public API to access it's data. A prime example of this is the LinkedIn website. You might love to gather some info from LinkedIn, but their promise to deliver a public API has yet to come to fruition. The problem is, the pages with all the good data are secure, requiring the user to log in before accessing these pages. Let's say we want to scrape this data from these pages programatically? We need to authenticate to access these pages. We can do that by reusing the authentication cookie from the site that we receive when we log in with a browser. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fryanfarley.com%2fblog%2farchive%2f2008%2f08%2f25%2fscraping-or-programatically-accessing-a-secure-webpage.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fryanfarley.com%2fblog%2farchive%2f2008%2f08%2f25%2fscraping-or-programatically-accessing-a-secure-webpage.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Scraping_or_Programatically_Accessing_a_Secure_Webpage</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Scraping_or_Programatically_Accessing_a_Secure_Webpage</guid>
      <pubDate>Wed, 27 Aug 2008 08:46:11 GMT</pubDate>
    </item>
    <item>
      <title>URL rewriting in ASP.NET web applications</title>
      <description>

So, you hate such URLs
Or you'll hate it after you realize how easy it is to make it nicer. Besides all, URL rewriting will improve your rankings on search engines. Search engines like Google will easily index your &amp;quot;static&amp;quot; URLs, instead of dynamic URLs.

There are several ways to accomplish URL Rewriting. I'll explain how to do this by using HttpModule and how to overcome the postback bug that is the outcome of URL rewriting. 

Suppose you have a content management system that stores entire pages in the database. So you can have a Home page, and Home page can have sections Products and Services, and each one of these can have their own child pages or sections, and so on. 

So we want dynamic URL like this: Default.aspx?SectionID=5&amp;amp;ItemID=22 to look like /catalogue/furniture/chairs/chair5.aspx or whatever the business logic requirement is. 

In the example in this article I will not use a database in order to keep it simple, but you imagine there is a database that keeps the URL for each page. I'll use hard-coded Dictionary that will keep some sample pages. 

Note: You can download the full code in the attachment. 

First, we'll make a data access object that will search the database for requested url and return its dynamic url. These are the methods in SampleDAO that will simulate the database and getting the url from there: 

public string GetRealPath(string requestedUrl)
{
    string path = &amp;quot;&amp;quot;;
    Dictionary&amp;lt;string, string&amp;gt; paths = GetPathsFromDatabase();
    if (paths.ContainsKey(requestedUrl))
        paths.TryGetValue(requestedUrl, out path); 
    return path;
}

private static Dictionary&amp;lt;string, string&amp;gt; GetPathsFromDatabase()
{
    Dictionary&amp;lt;string, string&amp;gt; paths = new Dictionary&amp;lt;string, string&amp;gt;();
    paths.Add(&amp;quot;/URLRewrite/FirstSection/Default.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=1&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/SecondSection/Default.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=2&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/FirstSection/Page1.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=1&amp;amp;Item=1&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/FirstSection/Page2.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=1&amp;amp;Item=2&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/SecondSection/Page1.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=2&amp;amp;Item=1&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/SecondSection/SubSection/AnotherOne/Page5.aspx&amp;quot;.ToLower(), &amp;quot;/URLRewrite/Default.aspx?SectionID=2&amp;amp;Item=5&amp;quot;);
    paths.Add(&amp;quot;/URLRewrite/Default.aspx&amp;quot;.ToLo &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.jankoatwarpspeed.com%2fpost%2f2008%2f08%2f24%2fURL-rewriting-in-ASPNET-web-applications.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.jankoatwarpspeed.com%2fpost%2f2008%2f08%2f24%2fURL-rewriting-in-ASPNET-web-applications.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/URL_rewriting_in_ASP_NET_web_applications</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/URL_rewriting_in_ASP_NET_web_applications</guid>
      <pubDate>Mon, 25 Aug 2008 18:31:05 GMT</pubDate>
    </item>
    <item>
      <title>Roland WeigeIt's GhostDoc for Visual Studio</title>
      <description>I have been using Roland WeigeIt's GhostDoc 2.1.3 for both Visual Studio 2005 and 2008 for about six months, and I am hooked. Here's a quick tutorial to get up and running with this free tool. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.alvinashcraft.com%2f2008%2f08%2f23%2froland-weigelts-ghostdoc-for-visual-studio%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.alvinashcraft.com%2f2008%2f08%2f23%2froland-weigelts-ghostdoc-for-visual-studio%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/visualstudio/Roland_WeigeIt_s_GhostDoc_for_Visual_Studio</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/visualstudio/Roland_WeigeIt_s_GhostDoc_for_Visual_Studio</guid>
      <pubDate>Sun, 24 Aug 2008 15:31:12 GMT</pubDate>
    </item>
    <item>
      <title>How To Inject a Managed Assembly (DLL) into Another Process</title>
      <description>An easy way to inject a .NET assembly (class library, etc.) into the address space of another application, even an unmanaged application. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.codingthewheel.com%2farchives%2fhow-to-inject-a-managed-assembly-dll"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.codingthewheel.com%2farchives%2fhow-to-inject-a-managed-assembly-dll" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/clr/How_To_Inject_a_Managed_Assembly_DLL_into_Another_Process</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/clr/How_To_Inject_a_Managed_Assembly_DLL_into_Another_Process</guid>
      <pubDate>Sat, 23 Aug 2008 11:12:11 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET Futures: Generating Dynamic Images w/ HttpHandlers Gets Easier</title>
      <description>I've done a lot of HttpHandlers that generate images. It's usually pretty tedious. When I was working banking, I wrote an example HttpHandler that would take two Check Images (back and front) and composite them into a single image on the server side, then serving up the composite. Usually you're messing around in with MemoryStreams and Images, and then you serialize the result out to the Response.OutputStream, making sure the MIME Types are set appropriately. If you're really clever, you'll remember to do some client-side and appropriate caching, but I rarely see that in the wild.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.hanselman.com%2fblog%2fASPNETFuturesGeneratingDynamicImagesWithHttpHandlersGetsEasier.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.hanselman.com%2fblog%2fASPNETFuturesGeneratingDynamicImagesWithHttpHandlersGetsEasier.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/ASP_NET_Futures_Generating_Dynamic_Images_w_HttpHandlers_Gets_Easier</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/ASP_NET_Futures_Generating_Dynamic_Images_w_HttpHandlers_Gets_Easier</guid>
      <pubDate>Sun, 24 Aug 2008 09:31:12 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET Dynamic Data - Simple 5 Table Northwind Example</title>
      <description>Excellent summary of what you can do with Dynamic Data - a huge timesaver for most common CRUD-style sites &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fmattberseth.com%2fblog%2f2008%2f08%2faspnet_dynamic_data_simple_5_t.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmattberseth.com%2fblog%2f2008%2f08%2faspnet_dynamic_data_simple_5_t.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/ASP_NET_Dynamic_Data_Simple_5_Table_Northwind_Example</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/ASP_NET_Dynamic_Data_Simple_5_Table_Northwind_Example</guid>
      <pubDate>Fri, 22 Aug 2008 03:31:09 GMT</pubDate>
    </item>
    <item>
      <title>Exploring System.Web.Routing</title>
      <description>An overview of the new System.Web.Routing namespace that was included in .net 3.5 SP1. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.codethinked.com%2fpost%2f2008%2f08%2f20%2fExploring-SystemWebRouting.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.codethinked.com%2fpost%2f2008%2f08%2f20%2fExploring-SystemWebRouting.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Exploring_System_Web_Routing</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Exploring_System_Web_Routing</guid>
      <pubDate>Thu, 21 Aug 2008 18:31:11 GMT</pubDate>
    </item>
    <item>
      <title>Starting with jQuery - Effects</title>
      <description>This is second post in a string of posts where I chronicle my adventure in learning jQuery from having no previous experience with the framework.  This week, we look at basic animation effects that affect an element's visibility that are available &amp;quot;out of the box&amp;quot; with jQuery. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f08%2fstarting-with-jquery-effects.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2frandomactsofcoding.blogspot.com%2f2008%2f08%2fstarting-with-jquery-effects.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Starting_with_jQuery_Effects</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Starting_with_jQuery_Effects</guid>
      <pubDate>Sat, 23 Aug 2008 09:31:09 GMT</pubDate>
    </item>
  </channel>
</rss>