<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>DotNetKicks.com : Stories kicked by samdnp</title>
    <description>Stories kicked by samdnp</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>Using TDD to create a new Feature for DimeCasts.net</title>
      <description>A pairing session where Kyle and Derik use TDD to create a new Feature for DimeCasts.net &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.dimecasts.net%2fCasts%2fCastDetails%2f65"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.dimecasts.net%2fCasts%2fCastDetails%2f65" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Using_TDD_to_create_a_new_Feature_for_DimeCasts_net</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Using_TDD_to_create_a_new_Feature_for_DimeCasts_net</guid>
      <pubDate>Thu, 20 Nov 2008 16:31:03 GMT</pubDate>
    </item>
    <item>
      <title>Testing is hard but debugging just sucks A$$</title>
      <description>&amp;quot;At the users group I asked the question to the group 'who creates automated tests as part of their daily development cycle?'.  After I asked this question I followed it up with, and if you don't WHY, WHY, WHY, WHY......  Below are some of the answers I received (btw, not the first time I have heard these reasons).&amp;quot; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdevlicio.us%2fblogs%2fderik_whittaker%2farchive%2f2008%2f11%2f14%2ftesting-is-hard-but-debugging-just-sucks-a.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdevlicio.us%2fblogs%2fderik_whittaker%2farchive%2f2008%2f11%2f14%2ftesting-is-hard-but-debugging-just-sucks-a.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/unittesting/Testing_is_hard_but_debugging_just_sucks_A</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/unittesting/Testing_is_hard_but_debugging_just_sucks_A</guid>
      <pubDate>Mon, 17 Nov 2008 19:31:02 GMT</pubDate>
    </item>
    <item>
      <title>ScottG:Styling a Silverlight Twitter Application with Expression Blend</title>
      <description>&amp;quot;One of the things that makes Silverlight so powerful is the ease with which developers and designers can collaborate together on projects.  Developers can use Visual Studio to open and edit Silverlight 2 projects and get a powerful code-focused .NET development environment, and designers can use Expression Blend 2 SP1 to open and edit the exact same project and use a creative tool to sculpt and create optimal user experience designs.&amp;quot; &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%2f11%2f14%2fstyling-a-silverlight-twitter-application-with-expression-blend-2.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fweblogs.asp.net%2fscottgu%2farchive%2f2008%2f11%2f14%2fstyling-a-silverlight-twitter-application-with-expression-blend-2.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/silverlight/ScottG_Styling_a_Silverlight_Twitter_Application_with_Expression_Blend</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/silverlight/ScottG_Styling_a_Silverlight_Twitter_Application_with_Expression_Blend</guid>
      <pubDate>Fri, 14 Nov 2008 16:31:02 GMT</pubDate>
    </item>
    <item>
      <title>Breaking changes to the String class in .NET 4.0</title>
      <description>This change will affect the behavior of the String.StartsWith, String.EndsWith, String.IndexOf and String.LastIndexOf methods by changing them to perform an ordinal (byte-for-byte) comparison by default instead of a culture-sensitive comparison using CultureInfo.CurrentCulture. In addition, the default overloads of String.ToUpper, String.ToLower, Char.ToUpper and Char.ToLower will be changed to use CultureInfo.InvariantCulture instead of CultureInfo.CurrentCulture. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdavesbox.com%2farchive%2f2008%2f11%2f12%2fbreaking-changes-to-the-string-class.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdavesbox.com%2farchive%2f2008%2f11%2f12%2fbreaking-changes-to-the-string-class.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/clr/Breaking_changes_to_the_String_class_in_NET_4_0</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/clr/Breaking_changes_to_the_String_class_in_NET_4_0</guid>
      <pubDate>Fri, 14 Nov 2008 13:31:13 GMT</pubDate>
    </item>
    <item>
      <title>jQuery Intellisense Updates from Microsoft</title>
      <description>With Microsoft's recent releases of the jQuery Intellisense file plus the hotfix released this week using jQuery in Visual Studio has become a lot easier and more convenient. Here is a little more detail on what you need and how it works. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.west-wind.com%2fweblog%2fposts%2f536756.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.west-wind.com%2fweblog%2fposts%2f536756.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/jquery/jQuery_Intellisense_Updates_from_Microsoft</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/jquery/jQuery_Intellisense_Updates_from_Microsoft</guid>
      <pubDate>Mon, 10 Nov 2008 15:46:21 GMT</pubDate>
    </item>
    <item>
      <title>Suspicious DNK Accounts</title>
      <description>Conclusion
There is an incentive for publishers that use DNK to setup phony accounts that will help get stories from certain domains on the front page.  So guess what happens ... it would appear that a certain number of people are doing this. &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%2f11%2fincentives_cheating_teachers_a.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmattberseth.com%2fblog%2f2008%2f11%2fincentives_cheating_teachers_a.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Suspicious_DNK_Accounts</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Suspicious_DNK_Accounts</guid>
      <pubDate>Thu, 06 Nov 2008 16:31:29 GMT</pubDate>
    </item>
    <item>
      <title>ScottGu:Nov 6th Links: ASP.NET, AJAX, jQuery, ASP.NET MVC, Silverlight</title>
      <description>Great collection of links. Again. &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%2f11%2f06%2fnov-6th-links-asp-net-asp-net-ajax-jquery-asp-net-mvc-silverlight-and-wpf.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fweblogs.asp.net%2fscottgu%2farchive%2f2008%2f11%2f06%2fnov-6th-links-asp-net-asp-net-ajax-jquery-asp-net-mvc-silverlight-and-wpf.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/ScottGu_Nov_6th_Links_ASP_NET_AJAX_jQuery_ASP_NET_MVC_Silverlight</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/ScottGu_Nov_6th_Links_ASP_NET_AJAX_jQuery_ASP_NET_MVC_Silverlight</guid>
      <pubDate>Thu, 06 Nov 2008 15:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Donut Caching in ASP.Net MVC - Revisited by Phil Haack</title>
      <description>In this article Phil makes an improvement to the Maarten Balliauw's MVC OutputCache substitution ActionFilter Attribute &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fhaacked.com%2farchive%2f2008%2f11%2f05%2fdonut-caching-in-asp.net-mvc.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fhaacked.com%2farchive%2f2008%2f11%2f05%2fdonut-caching-in-asp.net-mvc.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/adonet/Donut_Caching_in_ASP_Net_MVC_Revisited_by_Phil_Haack</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/adonet/Donut_Caching_in_ASP_Net_MVC_Revisited_by_Phil_Haack</guid>
      <pubDate>Thu, 06 Nov 2008 21:01:04 GMT</pubDate>
    </item>
    <item>
      <title>C# Structs</title>
      <description>What are the benefit of structs in C#? When can they improve performance and memory use? See examples and benchmarks as well as screens from CLRProfiler and the Visual Studio debugger. Is this is the best struct article in the world? Maybe! &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnetperls.com%2fContent%2fStruct-Examples.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnetperls.com%2fContent%2fStruct-Examples.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/C_Structs</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/C_Structs</guid>
      <pubDate>Mon, 10 Nov 2008 17:16:02 GMT</pubDate>
    </item>
    <item>
      <title>Pavel Nikolov's blog: Visual Studio 2010</title>
      <description>My first look at Visual Studio 2010 codename &amp;quot;Rosario&amp;quot;. I showed some screen shots and and some new features of the new visual studio. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fpavkata.blogspot.com%2f2008%2f10%2fvisual-studio-2010.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fpavkata.blogspot.com%2f2008%2f10%2fvisual-studio-2010.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/visualstudio/Pavel_Nikolov_s_blog_Visual_Studio_2010</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/visualstudio/Pavel_Nikolov_s_blog_Visual_Studio_2010</guid>
      <pubDate>Fri, 31 Oct 2008 16:31:06 GMT</pubDate>
    </item>
    <item>
      <title>C# -- IndexOf String Examples</title>
      <description>I look at how IndexOf and friends can be used. Also provide benchmarks against regular string character testing. I found some interesting stuff re: performance. Also it has a nice purple chart. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnetperls.com%2fContent%2fIndexOf.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnetperls.com%2fContent%2fIndexOf.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/C_IndexOf_String_Examples</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/C_IndexOf_String_Examples</guid>
      <pubDate>Sat, 18 Oct 2008 03:18:23 GMT</pubDate>
    </item>
    <item>
      <title>Capacity Property on Collections</title>
      <description>I really wanted to know if it is worth the bother to set the Capacity of Dictionary or List in C#. This page provides some benchmarks and analysis. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnetperls.com%2fContent%2fCapacity.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnetperls.com%2fContent%2fCapacity.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Capacity_Property_on_Collections</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Capacity_Property_on_Collections</guid>
      <pubDate>Thu, 11 Sep 2008 03:51:27 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>Measuring Programming Progress By Lines Of Code </title>
      <description>Software Managers all around the globe, need to have some metric to estimate their workers. Sometimes the management event wants to create a precise and measurable way to know the programming progress and the developers productivity and performance. One of those methods is called SLOC - Source Lines Of Code. This metric is used measure the size of the software by counting... &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.dev102.com%2f2008%2f09%2f09%2fmeasuring-programming-progress-by-lines-of-code%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.dev102.com%2f2008%2f09%2f09%2fmeasuring-programming-progress-by-lines-of-code%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/architecture/Measuring_Programming_Progress_By_Lines_Of_Code</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/architecture/Measuring_Programming_Progress_By_Lines_Of_Code</guid>
      <pubDate>Wed, 10 Sep 2008 05:46:02 GMT</pubDate>
    </item>
    <item>
      <title>The Death of Software Engineering</title>
      <description>Why software engineering is fading away. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fmonstersgotmy.net%2fpost%2fThe-Death-of-Software-Engineering.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fmonstersgotmy.net%2fpost%2fThe-Death-of-Software-Engineering.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/The_Death_of_Software_Engineering</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/The_Death_of_Software_Engineering</guid>
      <pubDate>Wed, 10 Sep 2008 21:31:03 GMT</pubDate>
    </item>
    <item>
      <title>Expose New Linq Operations from the HashSet&amp;lt;T&amp;gt; Performance Monster</title>
      <description>Linq is not just about databases. It's about reading the registry, your hard-disk, or even a list of function pointers to be invoked. Linq is about more event then sets (collections). It's about making tasks easier in many cases and vastly more powerful (and most importantly your code more readable and maintainable at the same time).     It's astounding just how fast the HashSet&amp;lt;T&amp;gt; collection is. This post will show how to gain additional power that is fully supported from Microsoft which is often overlooked, yet it can solve some of the hardest problems (especially around performance however don't prematurely optimize!).

Linq, HashSet, ORM, NHibernate, Linq to NHibernate, Linq Undocumented, Functional Programming, .NET 3.5 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f09%2f08%2fthe_fastest_dot_net_hash_set_collection_with_linq_extended_features%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.domaindotnet.com%2f2008%2f09%2f08%2fthe_fastest_dot_net_hash_set_collection_with_linq_extended_features%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/Expose_New_Linq_Operations_from_the_HashSet_T_Performance_Monster</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/Expose_New_Linq_Operations_from_the_HashSet_T_Performance_Monster</guid>
      <pubDate>Tue, 09 Sep 2008 17:46:02 GMT</pubDate>
    </item>
    <item>
      <title>Randomly reorder an ArrayList and update ComboBox contents at runtime</title>
      <description>In this short article, we will take a look at how to randomly reorder an arraylist and update the contents of the ComboBox at runtime, each time the contents of the ArrayList changes. By default, If your control is bound to a data source that does not implement the IBindingList interface, such as an ArrayList then changes to the list will NOT reflect as changes in the combobox. We will see a workaround in this article to achieve 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%3d90"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.dotnetcurry.com%2fShowArticle.aspx%3fID%3d90" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/winforms/Randomly_reorder_an_ArrayList_and_update_ComboBox_contents_at_runtime</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/winforms/Randomly_reorder_an_ArrayList_and_update_ComboBox_contents_at_runtime</guid>
      <pubDate>Tue, 09 Sep 2008 11:46:03 GMT</pubDate>
    </item>
    <item>
      <title>Path to .NET 3.5 Developer Certification</title>
      <description>If you are trying to figure out the new certification exams for Microsoft Certified Professional Developer (MCPD) or Microsoft Certified Technical Specialist (MCTS) for .NET Framework 3.5 / Visual Studio 2008 then you may be interested in a diagram that I put together to helped me to visualize the path through the required certification exams. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.thearchitect.co.uk%2fweblog%2farchives%2f2008%2f08%2fpath_to_net_35_developer_certification.html"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.thearchitect.co.uk%2fweblog%2farchives%2f2008%2f08%2fpath_to_net_35_developer_certification.html" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Path_to_NET_3_5_Developer_Certification</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Path_to_NET_3_5_Developer_Certification</guid>
      <pubDate>Thu, 11 Sep 2008 03:31:05 GMT</pubDate>
    </item>
    <item>
      <title>Chrome didn't survive long...</title>
      <description>I uninstalled Google Chrome after considering the potential threads for privacy &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fblog.andreloker.de%2fpost%2f2008%2f09%2f03%2fChrome-didnt-survive-long.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fblog.andreloker.de%2fpost%2f2008%2f09%2f03%2fChrome-didnt-survive-long.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/other/Chrome_didn_t_survive_long</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/other/Chrome_didn_t_survive_long</guid>
      <pubDate>Thu, 04 Sep 2008 03:31:07 GMT</pubDate>
    </item>
    <item>
      <title>Google Chrome is here</title>
      <description>not much to say except download it. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fwww.google.com%2fchrome"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fwww.google.com%2fchrome" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Google_Chrome_is_here</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Google_Chrome_is_here</guid>
      <pubDate>Wed, 03 Sep 2008 01:16:02 GMT</pubDate>
    </item>
    <item>
      <title>Dynamically Create a Zip File Your Users Can Then Download</title>
      <description>I recently had a requirement to allow users to select a group of files and then dynamically create a zip file on the server of the selected files that they could then download. &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%2f07%2f02%2fDynamically-Create-a-Zip-File-Your-Users-Can-Then-Download.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fbeckelman.net%2fpost%2f2008%2f07%2f02%2fDynamically-Create-a-Zip-File-Your-Users-Can-Then-Download.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Dynamically_Create_a_Zip_File_Your_Users_Can_Then_Download</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Dynamically_Create_a_Zip_File_Your_Users_Can_Then_Download</guid>
      <pubDate>Tue, 02 Sep 2008 08:46:03 GMT</pubDate>
    </item>
    <item>
      <title>Render ASP.NET Control as String</title>
      <description>Some simple tips and a handy extension method for rendering any ASP.NET control as a string, which can then be passed via a web service to an AJAX call. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fstevesmithblog.com%2fblog%2frender-control-as-string%2f"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fstevesmithblog.com%2fblog%2frender-control-as-string%2f" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/Render_ASP_NET_Control_as_String</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/Render_ASP_NET_Control_as_String</guid>
      <pubDate>Mon, 01 Sep 2008 13:16:02 GMT</pubDate>
    </item>
    <item>
      <title>How to respond with code 404 (Not Found) in ASP.NET</title>
      <description>Quick tip on using HttpException  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnettipoftheday.org%2ftips%2fhow-to-respond-with-code-404-not-found-in-aspnet.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnettipoftheday.org%2ftips%2fhow-to-respond-with-code-404-not-found-in-aspnet.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/aspnet/How_to_respond_with_code_404_Not_Found_in_ASP_NET</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/aspnet/How_to_respond_with_code_404_Not_Found_in_ASP_NET</guid>
      <pubDate>Tue, 26 Aug 2008 23:01:01 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>C# Cheat Sheet</title>
      <description>Contains lots of samples, examples, and templates for your C# code. Includes arrays, strings, classes, singleton, sorting, 2d arrays, etc. Useful for people new to the language. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http%3a%2f%2fdotnetperls.com%2fContent%2fCheat-Sheet.aspx"&gt;&lt;img src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http%3a%2f%2fdotnetperls.com%2fContent%2fCheat-Sheet.aspx" border="0" alt="kick it on DotNetKicks.com" /&gt;&lt;/a&gt;
</description>
      <link>http://www.dotnetkicks.com/csharp/C_Cheat_Sheet</link>
      <guid isPermaLink="true">http://www.dotnetkicks.com/csharp/C_Cheat_Sheet</guid>
      <pubDate>Thu, 21 Aug 2008 05:41:59 GMT</pubDate>
    </item>
  </channel>
</rss>