<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Software Rockstar &#187; .NET</title>
	<atom:link href="http://www.softwarerockstar.com/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.softwarerockstar.com</link>
	<description>Coaching and mentoring on a journey from a Developer to an IT Leader</description>
	<lastBuildDate>Thu, 12 Nov 2009 18:12:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SubSonic 3.0 Released</title>
		<link>http://www.softwarerockstar.com/2009/07/subsonic-30-released/</link>
		<comments>http://www.softwarerockstar.com/2009/07/subsonic-30-released/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 18:52:15 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Code Generation]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[SubSonic]]></category>

		<guid isPermaLink="false">http://www.softwarerockstar.com/?p=486</guid>
		<description><![CDATA[Finally a new version of SubSonic was released today with a lot of new features.  SubSonic is one of my favorite Data Access Layer (DAL) generators, that makes it super easy to create data access code. As a developer you have a lot of control over what the generated code looks like, which is great [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img class="alignnone size-medium wp-image-487" src="http://softwarerockstar.com/wp-content/uploads/2009/07/subsonic_demo-300x191.png" alt="Subsonic Demo" width="300" height="191" /></div>
<p>Finally a new version of SubSonic was released today with a lot of new features.  SubSonic is one of my favorite Data Access Layer (DAL) generators, that makes it super easy to create data access code.</p>
<p>As a developer you have a lot of control over what the generated code looks like, which is great because I do not like code generators to dictate the essence of my code.  But the beauty of SubSonic is that you never really have to interact with the generated code itself.  It&#8217;s automatically generated and compiled for you &#8212; you just need to learn how to use it, which is pretty simple.  What&#8217;s more, it&#8217;s free, and works with not only SQL Server, but also with MySQL, SQLite, and Oracle databases. <span id="more-486"></span></p>
<p>SubSonic was originally started by Rob Conery as an open source project.  Later, Microsoft hired Rob and asked him to continue working on this project.  The latest 3.0 version took about a year to be completed.  According to Rob&#8217;s blog following are some of the new features:</p>
<blockquote>
<li>A nice <a href="http://subsonicproject.com/docs/IQueryable">Linq engine</a> which parses IQueryable &#8220;stuff&#8221; into SQL (thanks to <a href="http://blogs.msdn.com/mattwar/">Matt Warren&#8217;s</a> excellent  work with the <a href="http://codeplex.com/iqtoolkit">IQToolkit</a>, which we stole mercilessly).</li>
<li>A <a href="http://subsonicproject.com/docs/T4_Templates">templating system</a> which allows you to use <a href="http://subsonicproject.com/docs/Using_ActiveRecord">ActiveRecord</a>, <a href="http://subsonicproject.com/docs/Using_AdvancedTemplates">good  old Linq in Linq to SQL style</a>, or <a href="http://subsonicproject.com/docs/Creating_Your_Own_DAL">whatever floats your boat</a>.</li>
<li>A <a href="http://subsonicproject.com/docs/Using_SimpleRepository">SimpleRepository</a> which is just about zero-drag and even builds  your database for you</li>
<li>A brand-new <a href="http://subsonicproject.com/">project  site</a> that will hopefully answer the question &#8220;is SubSonic dead&#8221;? Or probably  not</li>
<li>A <a href="http://subsonicproject.com/docs">new docs site</a> that has  permanently crushed my ability to type. It&#8217;s a wiki so if you feel like being  helpful and like SubSonic and want to help&#8230; nudge&#8230; nudge</li>
</blockquote>
<div>
<p>If you have never used SubSonic before you owe it to yourself to check out this <a href="http://subsonicproject.com/docs/The_5_Minute_Demo" target="_blank">5-minute demo</a>.</div>
<div>
<p>You can get more information on SubSonic and download it for free at the <a href="http://subsonicproject.com/" target="_blank">SubSonic project site</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/07/subsonic-30-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn ASP.NET MVC</title>
		<link>http://www.softwarerockstar.com/2009/03/learn-aps-net-mvc/</link>
		<comments>http://www.softwarerockstar.com/2009/03/learn-aps-net-mvc/#comments</comments>
		<pubDate>Sat, 14 Mar 2009 05:38:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2009/03/13/learn-aps-net-mvc/</guid>
		<description><![CDATA[ScottGu  just made available a free downloadable eBook in PDF format as well as a simple and easy-to-understand sample project called Nerddinner. The eBook is actually a chapter from his upcoming book on MVC, but it is an end-to-end tutorial that walks through building a small but complete ASP.NET MVC application from scratch. Download eBook. [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><a href="http://www.amazon.com/gp/product/0470384611?ie=UTF8&amp;tag=softwrocks-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470384611"><img style="border: 0px;" src="http://ecx.images-amazon.com/images/I/41vsFoLZq9L._BO2,204,203,200_PIsitb-sticker-arrow-big-search,TopRight,35,-76_AA240_SH20_OU01_.jpg" border="0" alt="" width="216" height="216" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.com/e/ir?t=softwrocks-20&amp;l=as2&amp;o=1&amp;a=0470384611" border="0" alt="" width="1" height="1" /></div>
<p>ScottGu  just made available a free downloadable eBook in PDF format as well as a simple and easy-to-understand sample project called Nerddinner.</p>
<p>The eBook is actually a chapter from his upcoming book on MVC, but it is an end-to-end tutorial that walks through building a small but complete ASP.NET MVC application from scratch.</p>
<p><a href="http://aspnetmvcbook.s3.amazonaws.com/aspnetmvc-nerdinner_v1.pdf" target="_blank">Download eBook</a>.</p>
<p><a href="http://nerddinner.codeplex.com/" target="_blank">Download Nerddinner sample code</a>.</p>
<p><a href="http://www.amazon.com/gp/product/0470384611?ie=UTF8&amp;tag=softwrocks-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470384611">Buy ASP.NET MVC 1.0 Book at Amazon.com</a>. </p>
<p>If you do decide to read this book, please do not forget to share your thoughts with me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/03/learn-aps-net-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# 3.0 Automatic Properties</title>
		<link>http://www.softwarerockstar.com/2009/03/c-3-0-automatic-properties/</link>
		<comments>http://www.softwarerockstar.com/2009/03/c-3-0-automatic-properties/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 19:08:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[WinFX (.NET 3.0)]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2009/03/12/c-3-0-automatic-properties/</guid>
		<description><![CDATA[OK, so better later than never! Somehow I missed the automatic properties feature of C# 3.0, and just discovered it while I was reading up on something unrelated. It’s a nice feature of C# 3.0 that saves you a few key strokes hence enhances developer productivity as well as allows for more clear and concise [...]]]></description>
			<content:encoded><![CDATA[<p>OK, so better later than never!  Somehow I missed the automatic properties feature of C# 3.0, and just discovered it while I was reading up on something unrelated.  It’s a nice feature of C# 3.0 that saves you a few key strokes hence enhances developer productivity as well as allows for more clear and concise code.</p>
<p>Using this new feature, instead of defining private variables and creating explicit getters and setters, you can create properties like this:</p>
<pre class="brush: csharp">
public class Employee
{
   public string ID { get; set; }
   public string LastName { get; set; }
   public string FirstName { get; set; }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/03/c-3-0-automatic-properties/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Visual Studio 2008 Productivity Add-in</title>
		<link>http://www.softwarerockstar.com/2009/03/free-visual-studio-2008-productivity-add-in/</link>
		<comments>http://www.softwarerockstar.com/2009/03/free-visual-studio-2008-productivity-add-in/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 19:30:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Rants & Raves]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2009/03/11/free-visual-studio-2008-productivity-add-in/</guid>
		<description><![CDATA[Developer Express and Microsoft provide a new version of CodeRush licensed exclusively for C# developers working in Visual Studio. The new product is called CodeRush Xpress, and it includes a slew of useful features to boost your productivity under Visual Studio. You can download CodeRush Xpress here.]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2009/03/vs2008.png" alt="" width="141" /></div>
<p>Developer Express and Microsoft provide a new version of CodeRush licensed exclusively for C# developers working in Visual Studio. The new product is called CodeRush Xpress, and it includes a slew of useful features to boost your productivity under Visual Studio.</p>
<p><a title="Download CodeRush Xpress" href="http://msdn.microsoft.com/en-us/vcsharp/dd218053.aspx" target="_blank">You can download CodeRush Xpress here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2009/03/free-visual-studio-2008-productivity-add-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improved .NET Code Analysis: FxCop 1.36</title>
		<link>http://www.softwarerockstar.com/2007/10/improved-net-code-analysis-fxcop-1-36/</link>
		<comments>http://www.softwarerockstar.com/2007/10/improved-net-code-analysis-fxcop-1-36/#comments</comments>
		<pubDate>Thu, 01 Nov 2007 01:51:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Code Analysis]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Rants & Raves]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/10/31/improved-net-code-analysis-fxcop-1-36/</guid>
		<description><![CDATA[The latest beta version of FxCop 1.36 was recently made available for download. This new version includes various features and fixes that include: 200+ bug fixes that reduce noise, missing analysis and rule crashes Support for analyzing anonymous methods and lambda expressions New option for skipping analysis over tool generated code Better support for C++/CLI [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2007/10/fxcoprules.jpg" width="233" height="293" /></div>
<p>The latest beta version of FxCop 1.36 was recently made available for <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3389f7e4-0e55-4a4d-bc74-4aeabb17997b&amp;displaylang=en">download</a>.  This new version includes various features and fixes that include:</p>
<ul>
<li>200+ bug fixes that reduce noise, missing analysis and rule crashes </li>
<li>Support for <a href="http://blogs.msdn.com/fxcop/archive/2007/09/21/new-for-visual-studio-2008-support-for-anonymous-methods-and-lambda-expressions.aspx">analyzing anonymous methods and lambda expressions</a> </li>
<li>New option for skipping analysis over tool generated code </li>
<li>Better support for C++/CLI and the Compact Framework </li>
<li>Language &#8216;friendly&#8217; API names in the UI and resolutions</li>
<li>New globalization, design and usage rules </li>
<li>Performance improvements that cut analysis by 2x and use half as much memory</li>
<li>Documentation that is <a href="http://msdn2.microsoft.com/en-us/library/bb429476(VS.80).aspx">now available on MSDN</a> </li>
</ul>
<p>FxCop is an excellent free <a title="Static code analysis" href="http://en.wikipedia.org/wiki/Static_code_analysis">static code analysis</a> tool from <a title="Microsoft" href="http://en.wikipedia.org/wiki/Microsoft">Microsoft</a> that checks <a title=".NET Framework" href="http://en.wikipedia.org/wiki/.NET_Framework">.NET</a> <a title="Managed code" href="http://en.wikipedia.org/wiki/Managed_code">managed code</a> <a title=".NET assembly" href="http://en.wikipedia.org/wiki/.NET_assembly">assemblies</a> for conformance to Microsoft&#8217;s .NET Framework Design Guidelines.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/10/improved-net-code-analysis-fxcop-1-36/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Astoria and Jasper: Old Ideas New Technology</title>
		<link>http://www.softwarerockstar.com/2007/10/astoria-and-jasper-old-ideas-new-technology/</link>
		<comments>http://www.softwarerockstar.com/2007/10/astoria-and-jasper-old-ideas-new-technology/#comments</comments>
		<pubDate>Fri, 19 Oct 2007 01:19:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ADO.NET]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Cool Tools]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/10/18/astoria-and-jasper-old-ideas-new-technology/</guid>
		<description><![CDATA[SubSonic is an excellent open source DAL generation tool developed by Rob Conery that has been around for almost a year. In most cases SubSonic can just be added to your project, pointed to a databse, and you magically and immediately gain access to a rich and strongly typed object model that can be used [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2007/10/dotnet.png" alt="Microsoft .NET" title="Microsoft .NET" width="189" height="100" /></div>
<p><a href="http://www.subsonicproject.com/">SubSonic</a> is an excellent open source <a href="http://en.wikipedia.org/wiki/Data_access_layer">DAL</a> generation tool developed by Rob Conery that has been around for almost a year. In most cases <a href="http://www.subsonicproject.com/">SubSonic</a> can just be added to your project, pointed to a databse, and you magically and immediately gain access to a rich and strongly typed object model that can be used to query and persist data to and from your relational data source.</p>
<p><a href="http://www.subsonicproject.com/">SubSonic</a> also has a cool feature called the <a href="http://en.wikipedia.org/wiki/REST">REST</a> handler that essentially allows one to use <a href="http://en.wikipedia.org/wiki/Http">HTTP</a> protocol as an interface to data stored in a back-end relational database. It is <a href="http://en.wikipedia.org/wiki/Uniform_Resource_Identifier">URI</a> based and returns data back in <a href="http://en.wikipedia.org/wiki/Xml">XML</a> format. This data can then be used by decoupled client applications as they see fit. If you have never looked at <a href="http://www.subsonicproject.com/">SubSonic</a>, you owe it to yourself to checkout this very cool tool.</p>
<p>Recently Microsoft unveiled their plans to release similar features codenamed <a href="http://astoria.mslivelabs.com/">Astoria</a> and <a href="http://msdn2.microsoft.com/en-us/data/bb419139.aspx">Jasper</a> with <a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx">.NET framework 3.5 and Visual Studio 2008</a>. The CTP of <a href="http://astoria.mslivelabs.com/">Astoria</a> and <a href="http://msdn2.microsoft.com/en-us/data/bb419139.aspx">Jasper</a> are available for download from Microsoft.</p>
<p>Jasper is described by Microsoft as:</p>
<blockquote><p>Project Jasper is geared towards iterative and agile development. You can<br />
start interacting with the data in your database without having to create<br />
mapping files or define classes. You can build user interfaces by naming<br />
controls according to your model without worrying about binding code. Project<br />
Jasper is also extensible, allowing you to provide your own business logic and<br />
class model. Since Project Jasper is built on top of the ADO.NET Entity<br />
Framework, it supports rich queries and complex mapping.
</p></blockquote>
<p>Pablo Castro, the mastermind behind Astoria describes it as:</p>
<blockquote><p>The goal of Microsoft Codename Astoria is to enable applications to expose data as a data service that can be consumed by web clients within a corporate network and across the internet. The data service is reachable over HTTP, and URIs are used to identify the various pieces of information available through the service. Interactions with the data service happens in terms of HTTP verbs such as GET, POST, PUT and DELETE, and the data exchanged in those interactions is represented in simple formats such as XML and JSON.</p></blockquote>
<p>The <a href="http://astoria.mslivelabs.com/">Astoria</a> web site also includes <a href="http://astoria.mslivelabs.com/OnlineService.aspx">sample online services</a> that showcases how this new technology can be used. It also allows anyone with a Passport account to design and host their own experimental data services .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/10/astoria-and-jasper-old-ideas-new-technology/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Silverlight &#8211; A Rich User Interface For The Web</title>
		<link>http://www.softwarerockstar.com/2007/09/silverlight-a-rich-user-interface-for-the-web/</link>
		<comments>http://www.softwarerockstar.com/2007/09/silverlight-a-rich-user-interface-for-the-web/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 11:54:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[WinForms]]></category>
		<category><![CDATA[WinFX (.NET 3.0)]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/09/11/silverlight-a-rich-user-interface-for-the-web/</guid>
		<description><![CDATA[The first version of Silverlight (formerly WPF/e) was recently released and can be downloaded from Microsoft&#8217;s web site. Contrary to what many people believe, Silverlight is not simply a rich media player for the web. Nor is it just a replacement or a competing product for Adobe Flash. Silverlight is a technology that allows developers [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2007/09/silverlight_pic.png" alt="Microsoft Silverlight" title="Microsoft Silverlight" width="289" height="320"/></div>
<p>The first version of <a href="http://www.microsoft.com/silverlight/default_ns.aspx">Silverlight</a> (formerly WPF/e) was recently released and can be <a href="http://www.microsoft.com/silverlight/default_ns.aspx">downloaded</a> from Microsoft&#8217;s web site.</p>
<p>Contrary to what many people believe, Silverlight is not simply a rich media player for the web.  Nor is it just a replacement or a competing product for <a href="http://www.adobe.com/products/flash/">Adobe Flash</a>.  <a href="http://www.microsoft.com/silverlight/default_ns.aspx">Silverlight</a> is a technology that allows developers to deliver Windows-like rich user experience to the web.  This includes animations, vector graphics, music, movies, etc., but it also includes the ability to develop WinForms-like applications with grids, treeviews, toolbars, and so on and so forth.</p>
<p>To get started with Silverlight, checkout <a href="http://silverlight.net/Learn/LearnVideos.aspx#video262">these videos</a>, or see <a href="http://msdn.microsoft.com/theshow/episode.aspx?xml=theshow/en/episode063/manifest.xml">this demo</a> by Scott Guthrie and Jason Zander on the <a href="http://msdn.microsoft.com/theshow/default.aspx">.NET Show</a>.  If you are looking to develop a WinForms-like user experience, you may also appreciate <a href="http://community.netikatech.com/demos/">GOA WinForms</a> which is an implementation of standard System.Windows.Forms .NET library for both <a href="http://www.adobe.com/products/flash/">Adobe Flash</a> and <a href="http://www.microsoft.com/silverlight/default_ns.aspx">Silverlight</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/09/silverlight-a-rich-user-interface-for-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Castle Project</title>
		<link>http://www.softwarerockstar.com/2007/08/the-castle-project/</link>
		<comments>http://www.softwarerockstar.com/2007/08/the-castle-project/#comments</comments>
		<pubDate>Fri, 17 Aug 2007 20:37:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[Architecture]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Design Principles]]></category>
		<category><![CDATA[OOA/OOD]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/08/17/the-castle-project/</guid>
		<description><![CDATA[In the last couple of years I have noticed a steadily growing interest in the .NET community around the&#160;Inversion of Control (IoC) and Dependency Injection (DI) patterns.&#160; This is partly due to the fact that a number of excellent frameworks have emerged and gained popularity that allow us to use these designs in our applications [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2007/08/castleinabox1.gif" alt="Castle Project" title="Castle Project" width="191" height="108" /></div>
<p>In the last couple of years I have noticed a steadily growing interest in the .NET community around the&nbsp;<a href="http://en.wikipedia.org/wiki/Inversion_of_control">Inversion of Control (IoC)</a> and <a href="http://en.wikipedia.org/wiki/Dependency_injection">Dependency Injection (DI)</a> patterns.&nbsp; This is partly due to the fact that a number of excellent frameworks have emerged and gained popularity that allow us to use these designs in our applications relatively painlessly.&nbsp; One such framework is the open source <a href="http://www.castleproject.org/">Castle Project</a>.&nbsp; In my opinion <a href="http://www.castleproject.org/">Castle</a> is the best implementation of IoC and DI among many others that I have come across including <a href="http://www.springframework.net/">Spring.NET</a>, <a href="http://ninject.org/">NInject</a>, and&nbsp;<a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=ObjectBuilder">ObjectBuilder</a>.&nbsp; This is however my opinion; which framework you use largely depends upon your requirements and your preferences.</p>
<p>If you are just getting started with Castle or are curious about why the heck one should use IoC and DI, I strongly suggest you check out the <a href="http://dotnetslackers.com/articles/designpatterns/InversionOfControlAndDependencyInjectionWithCastleWindsorContainerPart1.aspx">3-part article series</a> by&nbsp;<a href="http://dotnetslackers.com/community/blogs/simoneb">Simone Busoli</a>.&nbsp; I just came across <a href="http://dotnetslackers.com/articles/designpatterns/InversionOfControlAndDependencyInjectionWithCastleWindsorContainerPart1.aspx">these articles</a> and I can&#8217;t stress enough how well they are written.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/08/the-castle-project/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Temporary ASP.NET Files</title>
		<link>http://www.softwarerockstar.com/2007/05/temporary-asp-net-files/</link>
		<comments>http://www.softwarerockstar.com/2007/05/temporary-asp-net-files/#comments</comments>
		<pubDate>Tue, 22 May 2007 18:55:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Visual Studio]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/05/22/temporary-asp-net-files/</guid>
		<description><![CDATA[ASP.NET generates temporary files from the code-behind and aspx files that it compiles into assemblies behind the scenes. These temporary files are stored in %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files folder. Sometimes these files get out-of-sync with the user code and modifications to the code have no effect while debugging. In such situations it is safe to delete [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2009/03/vs2008.png" alt="Visual Studio Image" width="199" height="122" /></div>
<p><a href="http://www.asp.net/">ASP.NET</a> generates temporary files from the code-behind and aspx files that it compiles into assemblies behind the scenes.  These temporary files are stored in %WINDIR%\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files folder.  Sometimes these files get out-of-sync with the user code and modifications to the code have no effect while debugging.  In such situations it is safe to delete the contents of this folder and force ASP.NET to regenerate these files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/05/temporary-asp-net-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JScript Eval Method In C#</title>
		<link>http://www.softwarerockstar.com/2007/02/jscript-eval-method-in-c/</link>
		<comments>http://www.softwarerockstar.com/2007/02/jscript-eval-method-in-c/#comments</comments>
		<pubDate>Wed, 07 Feb 2007 04:15:00 +0000</pubDate>
		<dc:creator>SoftwareRockstar</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[JScript]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[Reflection]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://mharoon.wordpress.com/2007/02/06/jscript-eval-method-in-c/</guid>
		<description><![CDATA[JavaScript and JScript languages provide a convenient Eval method that allows for dynamic evaluation of expressions. This functionality can be duplicated in C# using Microsoft&#8217;s JScript CodeDomProvider and Reflection. Following class automatically compiles an in-memory assembly using JScript CodeDomProvider. The Eval method uses this assembly to dynamically evaluate specified expressions: using System; using System.CodeDom.Compiler; using [...]]]></description>
			<content:encoded><![CDATA[<div class="imageleft"><img src="http://softwarerockstar.com/wp-content/uploads/2007/02/jscript-file-256x256_21.png" alt="JScript" width="184" height="184" class="alignnone size-full wp-image-315" /></div>
<p><a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a> and <a href="http://en.wikipedia.org/wiki/JScript">JScript</a> languages provide a convenient <a href="http://javascript.about.com/od/reference/g/seval.htm">Eval</a> method that allows for dynamic evaluation of expressions. This functionality can be duplicated in C# using Microsoft&#8217;s JScript <a href="http://msdn2.microsoft.com/en-us/system.codedom.compiler.codedomprovider.aspx">CodeDomProvider</a> and <a href="http://msdn2.microsoft.com/en-us/library/system.reflection.aspx">Reflection</a>.</p>
<p>Following class automatically compiles an in-memory assembly using JScript CodeDomProvider. The Eval method uses this assembly to dynamically evaluate specified expressions:</p>
<pre class="brush: csharp">
using System;
using System.CodeDom.Compiler;
using System.Reflection;
using Microsoft.JScript;

///
/// Implements JScript/JavaScript Eval like
/// functionality in C# to allow dynamic evaluation
/// of expressions.
///
public static class ExpressionEvaluator
{
    #region Private Members

    private static Type _evaluatorType;
    private static object _evaluatorInstance;
    private static readonly string _jscriptEvalClass =
    @&quot;import System;
class JScriptEvaluator
{
public static function Eval(expression : String) : String
{
return eval(expression);
}
}&quot;;

    #endregion

    #region Private Methods

    ///
    /// Creates a dynamic in-memory assembly using JScript.NET
    /// to evaluate expressions.
    ///
    private static void Initialize()
    {

        CodeDomProvider compiler = new JScriptCodeProvider();

        CompilerParameters parameters = new CompilerParameters();
        parameters.GenerateInMemory = true;
        parameters.ReferencedAssemblies.Add(&quot;system.dll&quot;);

        CompilerResults results = compiler.CompileAssemblyFromSource(parameters, _jscriptEvalClass);

        Assembly assembly = results.CompiledAssembly;
        _evaluatorType = assembly.GetType(&quot;JScriptEvaluator&quot;);
        _evaluatorInstance = Activator.CreateInstance(_evaluatorType);
    }

    #endregion

    #region Public Methods

    ///
    /// Evaluates specified expression using reflection
    /// on the assembly generated in Initialize() method.
    ///
    /// The expression.
    /// A string representing evaluated expression.
    public static string Eval(string expression)
    {
        if (_evaluatorInstance == null)
            Initialize();

        object result = _evaluatorType.InvokeMember(
        &quot;Eval&quot;,
       BindingFlags.InvokeMethod,
        null,
       _evaluatorInstance,
        new object[] { expression }
       );

        return (result == null) ? null : result.ToString();

    }

    #endregion
}
</pre>
</p>
<p>Using this class, we can execute statements such as:
</p>
<pre class="brush: csharp">
        Console.WriteLine(ExpressionEvaluator.Eval(&quot;2 + 9&quot;));
        Console.WriteLine(ExpressionEvaluator.Eval(&quot;System.DateTime&quot;));
        Console.WriteLine(ExpressionEvaluator.Eval(&quot;Environment.OSVersion.VersionString&quot;));
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.softwarerockstar.com/2007/02/jscript-eval-method-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->