<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Rajesh Pillai</title>
        <link>http://geekswithblogs.net/rajeshpillai/Default.aspx</link>
        <description> My experiments with asp.net mvc, jquery, wpf, silverlight, sharepoint, tdd and design patterns.</description>
        <language>en-US</language>
        <copyright>Rajesh Pillai</copyright>
        <managingEditor>thinkrajesh@yahoo.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <image>
            <title>Rajesh Pillai</title>
            <url>http://geekswithblogs.net/images/RSS2Image.gif</url>
            <link>http://geekswithblogs.net/rajeshpillai/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <item>
            <title>Learning to learn!</title>
            <category>vision</category>
            <category>Self Development</category>
            <category>Skills</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2012/01/19/learning-to-learn.aspx</link>
            <description>This is my first post in this new year and was thinking about a topic to write on.  Lately I have been working on varied things that flexes the brain muscles and things which I haven't done before.  So a lot of learning and some unlearning this new year.  One of the big issue which most people faces is learning to learn!.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, today I will share my experience of how I go about learning a technology,  a skill or anything you want.  The first and foremost thing is the motivation.  This thing is very personal and varies with person to person.  But whatever your preferred way, get motivate to learn something new.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As for me "Necessity is the mother of motivation".  If I need something badly, I need to be motivated to do things to achieve the end goals.  And the way I may find motivation may differ from the way you find.  So, don't bother, find your motivation and stick to it.  Make it a habit.  It will be a bit painful, but will pay in the long term.  (How long, that needs to be fixed by you, as you are the master of your own destiny :)).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Since most of the target audience will be developers, both fresh and experienced, I will outline my take on the subjects which are absolutely must for future proof learning.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What every software developer, project leaders, architects, system support people should know.&lt;/div&gt;&lt;div&gt;1.  Understanding basic operating system, memory management, I/O etc.&lt;/div&gt;&lt;div&gt;2.  Through understanding of Disk IO.  &lt;/div&gt;&lt;div&gt;3.  TCP/IP, HTTP protocol and how it works.&lt;/div&gt;&lt;div&gt;4.  Good understanding of database.&lt;/div&gt;&lt;div&gt;5.  How programming language works?  Build your own toy language in your favorite language if possible.  This may not be production quality, but will involve a lot of learning points.&lt;/div&gt;&lt;div&gt;6.  Thorough understanding of object oriented programming, functional programming.&lt;/div&gt;&lt;div&gt;7.  Client side scripting foundation&lt;/div&gt;&lt;div&gt;8.  Data structures &lt;/div&gt;&lt;div&gt;9.  Design patterns&lt;/div&gt;&lt;div&gt;10. Foundational maths (not advanced maths)&lt;/div&gt;&lt;div&gt;11. Basic physics (most useful for game programmers and interaction designers).&lt;/div&gt;&lt;div&gt;12.  Economics (will be useful if you need to startup your own venture and understand the demand/supply in the market)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The above list are always taken for granted.  The above items are always ignored by almost 95% of computer science graduates and almost always never revisited by about 99% of developers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Why?  Because things work, project gets done, even without knowing all these details. But the the problem lies in the solutions you provide without knowing these foundational skills.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These foundational skills are the differentiating factor between you and the next programmer in your cubicle.  These skills providers you with vistas of opportunities to think outside the box and provide efficient solutions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is what differentiate between a true programmer and a copy-paste scripter.  So, spend some time learning this.  Get your hands dirty.  Set up your own server, your own webserver, your own proxy server etc.  You will learn a lot and will build up a solid foundation to tackle any thing that comes your way.  It could be WCF, it could be ajax, it could be a NOSQL, jquery  etc..&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You will have enough knowledge to know how things work under the hood.  Once you have this knowledge you can contribute back to the community.  Build something that doesn't work in your favorite library.  Blog it.  Sharing is caring and also enriching.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Many of you may think, whats the use of this.  In day to day programming you are never required to know this.  This is what I think is ignorant thinking.  Unless you don't know how things work under the hood, how can you improve it?  How can you extend it?  Think about it for a moment. Once you realize this it will be kind of a-ha moment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are some pain in learning the basics.  Its not easy.  It may sound easy theoritically, but when you try to apply it , you may face issues falling from all corners of the world.  That's when you learn the most.  So, don't give up and stick to your learning schedule.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What can you do, once you have these basic foundational skill?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.  You can build your own DSL for your area of application.&lt;/div&gt;&lt;div&gt;2.  You can build your own client side library extending the one you love.&lt;/div&gt;&lt;div&gt;3.  Your knowledge of WCF will extend the mere configuration and binding.  You may able to diagnose the issue from the root.&lt;/div&gt;&lt;div&gt;4.  You can build a truly RIA once you know how things work under the hood, and then work with your favorite library.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was trying this approach for the past 4 months in my free time and am very happy with the end result.  Though still I have a long way to go to master all the things required.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For e.g.  in the past couple of months, I have build up the following things.&lt;/div&gt;&lt;div&gt;-  A custom lightweight MVC framework for PHP&lt;/div&gt;&lt;div&gt;-  A mini Activerecord pattern for PHP&lt;/div&gt;&lt;div&gt;-  A jquery grid widget&lt;/div&gt;&lt;div&gt;-  A custom parser for configuration file&lt;/div&gt;&lt;div&gt;-  A two way model binding in JS (similar to knockoutjs) and much more...&lt;/div&gt;&lt;div&gt;-  A small library to inject code in to assemblies using cecil....&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One thing to observe here is,  most of the above things are developed in my secondary skill set i.e. PHP, jquery etc and not my primary skills i..e c#, asp.net mvc etc.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think you got the point.  Once you are on  your way to master the basics, then languages, frameworks doesn't matter.  You can spin your own tools using the language best suited for your environment.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some of the projects I will be publishing as opensource, once it reaches a feature stable point.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wish all the very best to all the readers in their journey to learn new things!!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Keep sharing.&lt;/div&gt;&lt;div&gt;  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/148420.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2012/01/19/learning-to-learn.aspx</guid>
            <pubDate>Thu, 19 Jan 2012 07:00:33 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/148420.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2012/01/19/learning-to-learn.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/148420.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/148420.aspx</trackback:ping>
        </item>
        <item>
            <title>jQuery 1.6.1 has been released</title>
            <category>jQuery</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2011/05/24/jquery-1-6-1-released.aspx</link>
            <description>&lt;p&gt;For more info refer the below post&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blog.jquery.com/2011/05/12/jquery-1-6-1-released/"&gt;http://blog.jquery.com/2011/05/12/jquery-1-6-1-released/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Some great improvements and fixes.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/145501.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2011/05/24/jquery-1-6-1-released.aspx</guid>
            <pubDate>Tue, 24 May 2011 06:05:22 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/145501.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2011/05/24/jquery-1-6-1-released.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/145501.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/145501.aspx</trackback:ping>
        </item>
        <item>
            <title>VS 2010 SP1 available for download</title>
            <category>VS 2010</category>
            <category>Service Packs</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2011/03/11/vs2010-sp1.aspx</link>
            <description>&lt;p&gt;Grab it from here  &lt;a target="_blank" href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5&amp;amp;displaylang=en&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There's also an ".iso" available which you can find in the above article.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/144311.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2011/03/11/vs2010-sp1.aspx</guid>
            <pubDate>Fri, 11 Mar 2011 06:29:49 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/144311.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2011/03/11/vs2010-sp1.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/144311.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/144311.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF - Automatically create ServiceHost for multiple services</title>
            <category>wcf</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2011/02/24/wcf-automatically-create-service-hosts.aspx</link>
            <description>&lt;h1&gt;WCF - Automatically create ServiceHost for multiple services&lt;/h1&gt;
&lt;p&gt;Welcome back readers!  This blog post is about a small tip that may make working with WCF servicehost a bit easier, if you have lots of services and you need to quickly host them for testing.&lt;br /&gt;
Recently I was encountered a situation where we were faced to create multiple service host quickly for testing.  Here is the code snippet which is pretty self explanatory.  You can put this code in your service host which in this case is  a console application.&lt;/p&gt;
&lt;pre class="default prettyprint"&gt;&lt;code&gt;&lt;span class="kwd"&gt;class&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Program&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span class="kwd"&gt;static&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;void&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Main&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="kwd"&gt;string&lt;/span&gt;&lt;span class="pun"&gt;[]&lt;/span&gt;&lt;span class="pln"&gt; args&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span class="pun"&gt;{                        &lt;br /&gt;           // Stores all hosts&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="typ"&gt;List&lt;/span&gt;&lt;span class="pun"&gt;&amp;lt;&lt;/span&gt;&lt;span class="typ"&gt;ServiceHost&lt;/span&gt;&lt;span class="pun"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pln"&gt; hosts &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;List&lt;/span&gt;&lt;span class="pun"&gt;&amp;lt;&lt;/span&gt;&lt;span class="typ"&gt;ServiceHost&lt;/span&gt;&lt;span class="pun"&gt;&amp;gt;();&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="kwd"&gt;try&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;{                                   &lt;br /&gt;               // Get the services element from the serviceModel element in the config file&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="kwd"&gt;var&lt;/span&gt;&lt;span class="pln"&gt; section &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ConfigurationManager&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;GetSection&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="str"&gt;"system.serviceModel/services"&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;as&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ServicesSection&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;section &lt;/span&gt;&lt;span class="pun"&gt;!=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;null&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="kwd"&gt;foreach&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ServiceElement&lt;/span&gt;&lt;span class="pln"&gt; element &lt;/span&gt;&lt;span class="kwd"&gt;in&lt;/span&gt;&lt;span class="pln"&gt; section&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Services&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;{ &lt;/span&gt;&lt;span class="pln"&gt;                                               &lt;br /&gt;                       // NOTE : If the assembly is in another namespace, provide a fully qualified name here in the form&lt;br /&gt;                       // &amp;lt;typename, namespace&amp;gt;                        &lt;br /&gt;                       // For e.g. Business.Services.CustomerService, Business.Services&lt;br /&gt;&lt;br /&gt;                       &lt;/span&gt;&lt;span class="kwd"&gt;var&lt;/span&gt;&lt;span class="pln"&gt; serviceType &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;Type&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;GetType&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;element&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Name&lt;/span&gt;&lt;span class="pun"&gt;);  // Get the typeName &lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                       &lt;/span&gt;&lt;span class="kwd"&gt;var&lt;/span&gt;&lt;span class="pln"&gt; host &lt;/span&gt;&lt;span class="pun"&gt;=&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="kwd"&gt;new&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;ServiceHost&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;serviceType&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;                       hosts&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Add&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;host&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;  // Add to the host collection&lt;br /&gt;                       host&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Open&lt;/span&gt;&lt;span class="pun"&gt;();      // Open the host&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="typ"&gt;Console&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;ReadLine&lt;/span&gt;&lt;span class="pun"&gt;();&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="kwd"&gt;catch&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;Exception&lt;/span&gt;&lt;span class="pln"&gt; e&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="typ"&gt;Console&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;WriteLine&lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;e&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Message&lt;/span&gt;&lt;span class="pun"&gt;);&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="typ"&gt;Console&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;ReadLine()&lt;/span&gt;&lt;span class="pun"&gt;;&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="kwd"&gt;finally&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="kwd"&gt;foreach&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="typ"&gt;ServiceHost&lt;/span&gt;&lt;span class="pln"&gt; host &lt;/span&gt;&lt;span class="kwd"&gt;in&lt;/span&gt;&lt;span class="pln"&gt; hosts&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="kwd"&gt;if&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;(&lt;/span&gt;&lt;span class="pln"&gt;host&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;State&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="pun"&gt;==&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;span class="typ"&gt;CommunicationState&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Opened&lt;/span&gt;&lt;span class="pun"&gt;)&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                       host&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Close&lt;/span&gt;&lt;span class="pun"&gt;();&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="kwd"&gt;else&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;{&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                       host&lt;/span&gt;&lt;span class="pun"&gt;.&lt;/span&gt;&lt;span class="typ"&gt;Abort&lt;/span&gt;&lt;span class="pun"&gt;();&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;                   &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;               &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;           &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;       &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span class="pun"&gt;}&lt;/span&gt;&lt;span class="pln"&gt; &lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;I hope you find this useful.  You can make this as a windows service if required.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/144094.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2011/02/24/wcf-automatically-create-service-hosts.aspx</guid>
            <pubDate>Thu, 24 Feb 2011 06:06:49 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/144094.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2011/02/24/wcf-automatically-create-service-hosts.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/144094.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/144094.aspx</trackback:ping>
        </item>
        <item>
            <title>Raphel - Cool JavaScript Vector Graphics Library</title>
            <category>javascript</category>
            <category>Animation</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/08/26/raphel-javascript-vector-drawing-library.aspx</link>
            <description>&lt;p&gt;&lt;span class="status-body"&gt;&lt;span class="status-content"&gt;                              &lt;span class="actions"&gt;
&lt;div&gt;&lt;a title="favorite this tweet" class="fav-action non-fav" id="status_star_22198466444"&gt;  &lt;/a&gt;&lt;/div&gt;
&lt;/span&gt;             &lt;span class="entry-content"&gt;Another cool vector drawing JavaScript Library. Introducing Raphel&lt;a target="_blank" rel="nofollow" class="tweet-url web" href="http://raphaeljs.com/"&gt;http://raphaeljs.com/&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.  Seems promising (Added to my R&amp;amp;D todo list :)).&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/141503.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/08/26/raphel-javascript-vector-drawing-library.aspx</guid>
            <pubDate>Thu, 26 Aug 2010 18:25:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/141503.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/08/26/raphel-javascript-vector-drawing-library.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/141503.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/141503.aspx</trackback:ping>
        </item>
        <item>
            <title>Free jQuery ebook online</title>
            <category>jQuery</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/06/27/free-jquery-ebook-online.aspx</link>
            <description>&lt;p&gt;jQuery fundametal online book  is available at &lt;a href="http://www.rebeccamurphey.com/jqfundamentals/book/release/html/"&gt;http://www.rebeccamurphey.com/jqfundamentals/book/release/html/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy :)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140637.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/06/27/free-jquery-ebook-online.aspx</guid>
            <pubDate>Sun, 27 Jun 2010 13:39:40 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140637.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/06/27/free-jquery-ebook-online.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140637.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140637.aspx</trackback:ping>
        </item>
        <item>
            <title>Essential Skills for Web Development</title>
            <category>career</category>
            <category>Skills</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/06/21/essential-skills-for-web-development.aspx</link>
            <description>&lt;p&gt;Many times in the Career advice section at &lt;a href="http://www.dotnetfunda.com/advices/"&gt;http://www.dotnetfunda.com/advices/&lt;/a&gt; we are asked this question&lt;/p&gt;
&lt;p&gt;What are the essential skills for a web developer?  &lt;/p&gt;
&lt;p&gt;Rather than posting/reposting time and again, thought of writing a post about it.  This post details what according to me and some of the well established people I know think about essential skills that a web developer should posses.&lt;/p&gt;
&lt;p&gt;You can find similar entry at &lt;a href="http://francisshanahan.com/index.php/2010/essential-skills-for-web-developers-in-2010/"&gt;Essential Skills for Web Developer in 2010&lt;/a&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;HTTP/TCP protocol from a very high overview perspective&lt;/li&gt;
    &lt;li&gt;JavaScript/CSS/XHTML&lt;/li&gt;
    &lt;li&gt;ASP.NET  of-course (since you will be opting for MS technologies)&lt;/li&gt;
    &lt;li&gt;Authentication/  Authorization techniques&lt;/li&gt;
    &lt;li&gt;WCF/Web Services&lt;/li&gt;
    &lt;li&gt;AJAX&lt;/li&gt;
    &lt;li&gt;jQuery  (and similar javascript libraries like Prototype, ExtJS etc.)&lt;/li&gt;
    &lt;li&gt;Unit  Testing / Integration Testing (NUnit, MBUnit, Selenium, WatiN etc or VS  Test)&lt;/li&gt;
    &lt;li&gt;Silverlight awareness&lt;/li&gt;
    &lt;li&gt;Common design  patterns&lt;/li&gt;
    &lt;li&gt;Strong Object Oriented skills&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Happy Programming !!!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140537.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/06/21/essential-skills-for-web-development.aspx</guid>
            <pubDate>Mon, 21 Jun 2010 15:38:14 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140537.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/06/21/essential-skills-for-web-development.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140537.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140537.aspx</trackback:ping>
        </item>
        <item>
            <title>What did you learn today?</title>
            <category>Time Management</category>
            <category>Self Development</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/what-did-you-learn-today.aspx</link>
            <description>&lt;h2&gt;What did you learn today?&lt;/h2&gt;
&lt;p&gt;Everyday teaches you something, some  lesson or the other.  Some day you learn a new language, a new skill or a  new hobby or visit some new place, learn music,   have a different  dining experience, learn swimming,  make some good friends, get in touch  with some old friend etc. etc….  Each of these things teaches you  something…&lt;/p&gt;
&lt;p&gt;So, what did you learn today? Some of the learnings from my past  weeks are outlined below…&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Respect others.  Don’t underestimate them.  (Though I never  consciously do so)&lt;/li&gt;
    &lt;li&gt;Be careful with your words because words have different meanings if  the context is not clear.&lt;/li&gt;
    &lt;li&gt;Spend some time for your personal stuff and allow others do so.&lt;/li&gt;
    &lt;li&gt;Every individual is different, their skills different, their  thoughts are different, their perceptions are different.  So, be polite.&lt;/li&gt;
    &lt;li&gt;Time management.  (This is a tough skill to master).  At the end of  the day I keep looking for more time so may be you.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So, again What did you learn today?  This reflection is important  because if you don’t know what you are learning at every stage in your  life, then your are not learning and not growing.  In short you are not  living.  Learning is not memorization but it is self realization…..&lt;/p&gt;
&lt;p&gt;Happy learning!!!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140452.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/what-did-you-learn-today.aspx</guid>
            <pubDate>Wed, 16 Jun 2010 19:07:05 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140452.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/what-did-you-learn-today.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140452.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140452.aspx</trackback:ping>
        </item>
        <item>
            <title>Personal Development : Time, Planning , Repairs &amp; Maintenance</title>
            <category>Time Management</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/personal-development-time-planning-repairs-maintenance-again.aspx</link>
            <description>&lt;div class="snap_preview"&gt;
&lt;h2&gt;Personal Development : Time, Planning, Repairs &amp;amp; Maintenance&lt;/h2&gt;
&lt;p&gt;These are just my thoughts, but some you  may find something interesting in it.  Please think over it.  We may  know many things, but still we always keeps procrastinating it.  I have  written this as I have heard many people coming back and saying they  don’t have time to do things they like.  These are my thoughts  buy may  be useful to someone else too.&lt;/p&gt;
&lt;p&gt;Certain things in life needs periodic repairs and maintenance.  To  cite some examples , your CAR, your HOUSE, your personal laptop/desktop,  your health etc.&lt;/p&gt;
&lt;p&gt;Likewise there are certain other things in professional life that  requires repair/ maintenance /or some kind of polishing, so that you  always stay on top of it.  But they are not always obvious.  Some of  them  are&lt;/p&gt;
&lt;p&gt;-          Improving your communication skills&lt;br /&gt;
-           Increasing your vocabulary&lt;br /&gt;
-          Upgrading your technical skills&lt;br /&gt;
-           Pursuing your hobby&lt;br /&gt;
-          Increasing your  knowledge/awareness etc… etc…&lt;/p&gt;
&lt;p&gt;And then there are certain things that we are always short of…. one  is   &lt;span style="font-weight: bold;"&gt;TIME&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;We all know TIME is one of the most precious things in life and yet  we all are very miserable at managing it.  Remember you can only manage  it and not control it.  You can only control which you own or which you  create.  In theory time is infinite.  So, there should be abundant of  it.  But remember one thing, you know this, it’s not reversible.  Once  it has elapsed you cannot live it again.  Think over it.&lt;/p&gt;
&lt;p&gt;So, how do find that &lt;span style="font-weight: bold;"&gt;golden 25th  hour&lt;/span&gt; every day.&lt;/p&gt;
&lt;p&gt;To find the 25th hour you need to reflect back on your current daily  activities.  Analyze them and see where you are spending most of your  time and is it really important.  Even the 8 hours that you spent in the  office, is it spent fruitfully.  At the end of the day is the 8  precious hour that you spent was worth it.  Just reflect back on your  activities.  Did you learn something?  If yes did you make a point to  NOTE IT.  If you didn’t NOTED  it then was the time you spent really  worth it.  Just ponder over it.&lt;/p&gt;
&lt;p&gt;Some calculations of your daily activities where most of the time is  spent.  Let’s start (in no particular order though)&lt;/p&gt;
&lt;p&gt;-          Sleep (6.5  hours)  [Remember you only require 6 good  hours of sleep every day].   Some may thing it is 8, but it’s a myth. &lt;br /&gt;
  o    To achive 6 hours of sleep  and be in good health you can practice 15  minutes of daily meditation.  So effectively you can    round it to 6.5  hours.&lt;br /&gt;
-          Morning chores(2 hours)  :  Some may need to  prepare breakfast and all other things.&lt;br /&gt;
-          Office commuting  (avg. to and fro 3 hours)&lt;br /&gt;
-          Office Work (avg 9.5 hours)&lt;/p&gt;
&lt;p&gt;Total Hours:  21 hours effective time which is spent irrespective of  what you do.  There may be some variations here and there.&lt;/p&gt;
&lt;p&gt;Still you have &lt;span style="font-weight: bold;"&gt;3 hours EXTRA&lt;/span&gt;.     Where do these 3 hours go?&lt;/p&gt;
&lt;p&gt;If you can find it, then you may get that golden 25th hour out of  these 3 hours.  Let’s discount 2 hours for contingencies, still you have  1 hour with you.&lt;/p&gt;
&lt;p&gt;If you can’t find it then you are living a direction less life.&lt;/p&gt;
&lt;p&gt;As you can see, the 25th Hour lies within the 24 hours of the day.   It’s upto each one of us to find and make use of it.&lt;/p&gt;
&lt;p&gt;Now what can you do with that 25th hour i.e. 1 hour extra of your  life.  Imagine the possibility.&lt;/p&gt;
&lt;p&gt;Again some calculations&lt;/p&gt;
&lt;p&gt;1 hour daily * 30 days = 30 hours every month&lt;br /&gt;
30 hours pm * 12  month = 360 hours every year.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-style: italic;"&gt;360 hours every year seems very  promising.  Let’s add some contingencies, say, let’s be optimistic and  say 50 % contingency.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Still you have 180 hours every year.  That leaves with 30 minutes  every day of extra time.  That’s hell a lot of time, if you could manage  it.&lt;/p&gt;
&lt;p&gt;These may sound like a high talk [yes, it is, unless you apply these  simple rules and rationalize your everyday living and stop  procrastinating].&lt;/p&gt;
&lt;p&gt;NOTE:  I haven’t taken weekend, holidays and leaves into account.   So, that leaves us with a lot of buffer time.  You can meet family  friends, relatives, other tasks, and yet have these 180 pure hours of  joy every year.  Do whatever you want to do with it.&lt;/p&gt;
&lt;p&gt;So,  how important is this 180 hours per year to you?  Just think  over it.  You may use it the way you like&lt;/p&gt;
&lt;p&gt;-          50 hours [pursue your hobby like drawing, crafting, learn  dance, learn juggling, learn swimming,  travelling hmm..  anything you  like doing and you didn’t had time to do it.]&lt;br /&gt;
-          30 hours you  can learn a new programming language or technology (i.e. you can get  comfortable with it)&lt;br /&gt;
-          50 hours [improve existing skills]&lt;br /&gt;
-           20 hours [improve you communication skill].  Do some light  reading.&lt;br /&gt;
-          30 hours  [YOU DECIDE WHAT TO DO]?&lt;/p&gt;
&lt;p&gt;So, if you had done this for one year you would have learnt  a new  programming language, upgraded existing skills, improved you  communication etc..&lt;/p&gt;
&lt;p&gt;If you had done this for two years.. imagine the level of personal  development or growth which you may have attained…..&lt;/p&gt;
&lt;p&gt;If you had done this for three years….. NOW I think I don’t need to  mention this…&lt;/p&gt;
&lt;p&gt;So, you still have TIME, as they say TIME is infinite.   So, make  judicious use of this precious thing.  And never ever comeback saying “I  don’t have time”.  So, if you are RICH in TIME, everything else will be  automatically taken care of, as those things may just be a byproduct of  how you spend your time…&lt;/p&gt;
&lt;p&gt;So, happy TIMING your TIME everyday.&lt;/p&gt;
&lt;/div&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140451.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/personal-development-time-planning-repairs-maintenance-again.aspx</guid>
            <pubDate>Wed, 16 Jun 2010 19:03:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140451.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/06/17/personal-development-time-planning-repairs-maintenance-again.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140451.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140451.aspx</trackback:ping>
        </item>
        <item>
            <title>30 Steps to Master ASP.NET MVC Application development</title>
            <category>asp.net mvc</category>
            <category>Application Development</category>
            <category>VS 2010</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/06/10/30-steps-to-master-aspnet-mvc.aspx</link>
            <description>&lt;p class="MsoNormal"&gt;Welcome Readers!,&lt;/p&gt;
&lt;p class="MsoNormal"&gt; I am starting out a new series on ASP.NET  MVC skill building which will be posted over the next couple of weeks.  Let me know your thoughts on the content, which I have planned and a couple of them has been taken from ASP.NET MVC2 Cookbook. (NOTE: Only the heading has been taken, the content will be not :)).   Do let me know what you would like to see, or any additional inputs or ideas to cover in this topics.  The 30 steps are oultined below for quick reference.  Will start filling this out quickly.&lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Outlined is the ‘30’ step to master ASP.NET MVC.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;br /&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="1"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A Peek Into Model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;What is a model?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Different types of model&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Presentation/ViewModel&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Model Mapping (AutoMapper)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="2"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A Peak into View&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;How view works in ASP.NET MVC?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;View Engine Design&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Custom View Engine&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;View Best Practices&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Templated Helpers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Partial Views&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="3"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;A Peak into Controller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Introduction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Controller Design&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Controller Best Practices&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Asynchronous Controller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Custom Action Result&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Action Filters&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Controller Factory to use with IOC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="4"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Routes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Explanation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Routes from the database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Routes from XML&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;More complex routing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="5"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Master Pages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Basics&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Setting Master Page Dynamically&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="6"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Working with data in the view&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Repeating Views &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Array of check boxes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Array of radio buttons&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Paged data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;CRUD&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Client side action&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Confirmation Dialog (modal window)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;jqGrid &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="7"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Working with Forms&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="8"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Validation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Model Validation with DataAnnotations&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using the xVal validation framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Client side validation with jQuery Validation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Fluent Validation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Model Binders&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="9"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Templating&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Create strongly typed helper using T4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Custom View Templates with T4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Create custom MVC project template using T4&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="10"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;IOC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AutoFac&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Ninject&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Unity Application&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="11"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Areas&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="12"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;jQuery, &lt;st1:city w:st="on"&gt;&lt;st1:place w:st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt;      and jQuery Plugins&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="13"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;State Maintenance&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;st1:place w:st="on"&gt;&lt;st1:placename w:st="on"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Application&lt;/span&gt;&lt;/st1:placename&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt; &lt;st1:placetype w:st="on"&gt;State&lt;/st1:placetype&gt;&lt;/span&gt;&lt;/st1:place&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;User state&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Cookies&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Webfarm&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="14"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Error Handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;View error handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Controller error handling&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;ELMAH (Error Logging Modules and Handlers)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="15"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Authentication and Authorization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;User Registration form&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;SignOn Process&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Password Reminder&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Membership and Roles&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Windows authentication&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Restricting access to all pages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Restricting access to selected pages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Restricting access to pages by role&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Restricting access to a controller&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Restricting access to selected area&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="16"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Profiles and Themes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using Profiles&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Inheriting a Profile&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Migrating an anonymous profile&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Creating custom themes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using themes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;User personalized themes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="17"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Configuration&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Adding custom application settings in web.config&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Displaying custom error messages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Accessing other web.config configuration elements&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Adding custom configuration elements to web.config&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Encrypting web.config sections&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="18"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Tracing, Debugging and Logging&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="19"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching a whole page&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching pages based on route details&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching pages based on browser type and version&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching pages based custom strings&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching partial pages&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Caching application data&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Object Caching&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using Microsoft Velocity&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using MemCache&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Using AppFabric cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="20"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Localization&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="21"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;HTTP Handlers and Modules&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="22"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Security&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;XSS/CSRF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;AnitForgery&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Encoding&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.75in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="23"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;HtmlHelpers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;
    &lt;ol type="a" style="margin-top: 0in;" start="1"&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Strongly typed helpers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
        &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Writing custom helpers&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="24"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Repository Pattern (Data access)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="25"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;WF/WCF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="26"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Unit Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="27"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Mocking Framework&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="28"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Integration Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="29"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Load / Performance Testing&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol type="1" style="margin-top: 0in;" start="30"&gt;
    &lt;li class="MsoNormal" style=""&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;Deployment&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; Once again let me know your thoughts on this.&lt;br /&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;  Till then&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt;, Enjoy MVC'ing!!!&lt;br /&gt;
&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140329.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/06/10/30-steps-to-master-aspnet-mvc.aspx</guid>
            <pubDate>Thu, 10 Jun 2010 11:19:11 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140329.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/06/10/30-steps-to-master-aspnet-mvc.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140329.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140329.aspx</trackback:ping>
        </item>
        <item>
            <title>BDD using SpecFlow on ASP.NET MVC Application</title>
            <category>asp.net mvc</category>
            <category>TDD</category>
            <category>BDD</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/05/22/bdd-using-specflow-on-asp.net-mvc-application.aspx</link>
            <description>&lt;p&gt;I usually love doing TDD and am moving towards understanding BDD  (Behaviour Driven Development).  My learnings are documented in the form  of an article at CodeProject.&lt;/p&gt;
&lt;p&gt;The URL is  &lt;a href="http://www.codeproject.com/KB/architecture/BddWithSpecFlow.aspx"&gt;http://www.codeproject.com/KB/architecture/BddWithSpecFlow.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I  will keep this updated as and when I learn a couple of more things.&lt;/p&gt;
&lt;p&gt;Hope  you like it.&lt;/p&gt;
&lt;p&gt;Cheers !!!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/140010.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/05/22/bdd-using-specflow-on-asp.net-mvc-application.aspx</guid>
            <pubDate>Sat, 22 May 2010 14:19:35 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/140010.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/05/22/bdd-using-specflow-on-asp.net-mvc-application.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/140010.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/140010.aspx</trackback:ping>
        </item>
        <item>
            <title>ASP.NET MVC Application In Action - I (DailyJournal)</title>
            <category>jQuery</category>
            <category>asp.net mvc</category>
            <category>Application Development</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/05/21/mvcinaction.aspx</link>
            <description>&lt;p&gt;Its been long due I was planning to write an article on creating some useful ASP.NET MVC application. I have code named it "DailyJournal". Its a simple application which allows creation of multiple activities and assign tasks to these activities. Its' kind of "Yet another Task/Todo application". &lt;br /&gt;
&lt;br /&gt;
The credentials which you can use with the attached demo application is shown below. &lt;br /&gt;
&lt;br /&gt;
 &lt;/p&gt;
&lt;div id="premain0" class="small-text" style="width: 100%"&gt;&lt;img id="preimg0" src="http://www.codeproject.com/images/minus.gif" width="9" height="9" preid="0" style="cursor: pointer" alt="" /&gt;&lt;span id="precollapse0" preid="0" style="margin-bottom: 0px; cursor: pointer"&gt; Collapse&lt;/span&gt;&lt;img src="http://www.codeproject.com/images/copy_16.png" width="16" height="16" style="margin-left: 35px" alt="" /&gt;&lt;a href="#" preid="0"&gt; Copy Code&lt;/a&gt;&lt;/div&gt;
&lt;pre id="pre0" style="margin-top: 0px"&gt;
User Name : admin 
Password   : admin123
&lt;/pre&gt;
&lt;h2&gt;&lt;a id="heading0001" name="heading0001"&gt;Framework/Libraries Used&lt;/a&gt;&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;ASP.NET MVC&lt;/li&gt;
    &lt;li&gt;jQuery + jQuery UI (for ajax and UI)&lt;/li&gt;
    &lt;li&gt;ELMAH for Error logging&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;&lt;a id="heading0002" name="heading0002"&gt;Warning Ahead&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;This is just a rough draft and so I am putting down some of the known limitation. &lt;br /&gt;
Some points of warning before we move further with this application. This is just an early prototype. As such many of the design principles have been ignored. But, I try to cover that up in the next update once I get my head around this.&lt;/p&gt;
&lt;p&gt;The application in its current state supports the following features&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Create users&lt;/li&gt;
    &lt;li&gt;Assign Activities to users&lt;/li&gt;
    &lt;li&gt;Assign tasks to activities&lt;/li&gt;
    &lt;li&gt;Assign a status to a task&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The user creation/authentication is being done by the default Membership provider. Most of the activities are highly visual i.e. you can drag-drop task to different areas, in-place edition of task details and so on.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;The following are the current issues with the design which I promise to refactor in the second version.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;No Validations&lt;/li&gt;
    &lt;li&gt;Fat Controller&lt;/li&gt;
    &lt;li&gt;XSS/CSS vulnerable&lt;/li&gt;
    &lt;li&gt;No Service model/abstraction yet. For the demo LINQ to SQL is implemented.&lt;/li&gt;
    &lt;li&gt;No separation of layers&lt;/li&gt;
    &lt;li&gt;UI Design&lt;/li&gt;
    &lt;li&gt;et el...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is just an extract.  For source code and more information proceed to&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.codeproject.com/KB/aspnet/mvcinaction.aspx"&gt;http://www.codeproject.com/KB/aspnet/mvcinaction.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hope you like this!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/139983.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/05/21/mvcinaction.aspx</guid>
            <pubDate>Fri, 21 May 2010 02:27:44 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/139983.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/05/21/mvcinaction.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/139983.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/139983.aspx</trackback:ping>
        </item>
        <item>
            <title>VS 2010 IDE Features in a nutshell</title>
            <category>.NET 4</category>
            <category>VS 2010</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/03/29/vs-2010-ide-features-in-a-nutshell.aspx</link>
            <description>&lt;div&gt;Going through a VS 2010 IDE Features.  We will explore each feature  in subsequent posts.  The post are documented as being reviewed by me.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;
&lt;table border="1" style="display: inline; border-collapse: collapse; font-size: 1em;"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td class="ms-rtetablecells" style="vertical-align: top;"&gt;
            &lt;ul&gt;
                &lt;li&gt;Breakpoint Labeling&lt;/li&gt;
                &lt;li&gt;Breakpoint Searching&lt;/li&gt;
                &lt;li&gt;Breakpoint Import/Export&lt;/li&gt;
                &lt;li&gt;Dynamic Data Tooling&lt;/li&gt;
                &lt;li&gt;WPF Tree Visualizer&lt;/li&gt;
                &lt;li&gt;Call Hierarchy&lt;/li&gt;
                &lt;li&gt;Improved WPF Tooling&lt;/li&gt;
                &lt;li&gt;Historical Debugging&lt;/li&gt;
                &lt;li&gt;Mini-Dump Debugging&lt;/li&gt;
                &lt;li&gt;Quick Search&lt;/li&gt;
                &lt;li&gt;Better Multi-Monitor Support&lt;/li&gt;
                &lt;li&gt;Highlight References&lt;/li&gt;
            &lt;/ul&gt;
            &lt;/td&gt;
            &lt;td class="ms-rtetablecells" style="vertical-align: top;"&gt;
            &lt;ul&gt;
                &lt;li&gt;Parallel Stacks Window&lt;/li&gt;
                &lt;li&gt;Parallel Tasks Window&lt;/li&gt;
                &lt;li&gt;Document Map Margin&lt;/li&gt;
                &lt;li&gt;Generate from Usage&lt;/li&gt;
                &lt;li&gt;Concurrency Profiler&lt;/li&gt;
                &lt;li&gt;Inline Call Tree&lt;/li&gt;
                &lt;li&gt;Extensible Test Runner&lt;/li&gt;
                &lt;li&gt;MVC Tooling&lt;/li&gt;
                &lt;li&gt;Web Deploy&lt;/li&gt;
                &lt;li&gt;JQuery IntelliSense&lt;/li&gt;
                &lt;li&gt;SharePoint Tooling&lt;/li&gt;
                &lt;li&gt;HTML Snippets&lt;/li&gt;
                &lt;li&gt;Web.config Transformation&lt;/li&gt;
                &lt;li&gt;ClickOnce Enhancements for MS Office&lt;/li&gt;
            &lt;/ul&gt;
            &lt;p&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;VS is an editor as well as a platform for development and this is  only more true with VS 2010.  As an editor there is improved forcus on  writing code, understanding code, navigating and publishing code.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;VS Shell has been completely rewritten using WPF extending huge  benefits.  The start page has been rewritten using XAML, so it is easy  to customize.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Support new support for Silverlight, MFC, F# , Azure and extended  support for Office 2010, Sharepoint.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Has a good Extension Manager as well.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Enjoy Coding !!! &lt;/div&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/138967.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/03/29/vs-2010-ide-features-in-a-nutshell.aspx</guid>
            <pubDate>Mon, 29 Mar 2010 10:42:55 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/138967.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/03/29/vs-2010-ide-features-in-a-nutshell.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/138967.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/138967.aspx</trackback:ping>
        </item>
        <item>
            <title>jQuery 1.4 Released</title>
            <category>jQuery</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx</link>
            <description>&lt;p&gt;jQuery 1.4 released.  You can find more info at http://api.jquery.com/category/version/1.4/&lt;/p&gt;
&lt;p&gt;Also celebrate jQuery 1.4 release with 14 days of jquery at &lt;a href="http://jquery14.com/pre-release-1"&gt;jquery14.com/pre-release-1&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Learn about 15 new features of jQuery you must know &lt;a href="http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/"&gt;net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy jQuerying.....&lt;/p&gt;
&lt;p&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137518.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx</guid>
            <pubDate>Sun, 17 Jan 2010 17:26:42 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137518.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2010/01/17/jquery_1_4_released.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137518.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137518.aspx</trackback:ping>
        </item>
        <item>
            <title>WCF 2 - Building Blocks</title>
            <category>wcf</category>
            <category>SOA</category>
            <link>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx</link>
            <description>&lt;h2&gt;Building Blocks of Service&lt;/h2&gt;
&lt;p&gt;Service is a&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Collection of operations that are exposed to the clients.&lt;/li&gt;
    &lt;li&gt;Service contract defines what operations are available and how clients use them.&lt;/li&gt;
    &lt;li&gt;Data contract describes data that the client and service can exchange.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Service Contracts&lt;/h2&gt;
&lt;p&gt;Service Contracts&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Describe the operations supported by a service, the message exhange pattern used and format of each&lt;br /&gt;
    message.&lt;/li&gt;
    &lt;li&gt;ServiceContract attribute marks an interface as a service contract.&lt;/li&gt;
    &lt;li&gt;OperationContract attribute exposes methods of the interface.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;u&gt;Code snippet&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;
&lt;pre&gt;
[ServiceContract]
public interface IHelloService 
{
     [OperationContract]
     string SayHello (string yourName);
}&lt;/pre&gt;
&lt;h2&gt;Data Contracts&lt;/h2&gt;
&lt;p&gt;A data contracts&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Describes how CLR types are mapped to XSD schema definitions.&lt;/li&gt;
    &lt;li&gt;Enable complex types to be serialized and deserialized so it can be passed across.&lt;/li&gt;
    &lt;li&gt;DataContract attribute identiifes each class that can be serialized.&lt;/li&gt;
    &lt;li&gt;DataMember attribute identifies members that needs to be exposed to the clients.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;&lt;u&gt;Code snippet&lt;/u&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Here's an example of a data contract for a account class.&lt;/p&gt;
&lt;pre&gt;
[DataContract]

public class Account

{

    [DataMember]

    public sting AccountNo { get; set; }
&lt;div&gt;    [DataMember]&lt;br /&gt;&lt;br /&gt;    public sting AccountType { get; set; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; &lt;/div&gt;&lt;/pre&gt;
&lt;div&gt;The DataContract is applied at the class level and the DataMember is applied at the individual member level.  &lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;h2&gt;Endpoints&lt;/h2&gt;
&lt;p&gt;The client communicates with service  via endpoints.&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Host application makes the service available by providing one or more endpoints to the clients.&lt;/li&gt;
    &lt;li&gt;Endpoint consist of&lt;br /&gt;
    - Address of service (Where?)&lt;br /&gt;
    - Binding (How?)&lt;br /&gt;
    - Contract (What?)&lt;/li&gt;
    &lt;li&gt;Client and Service use the same endpoint.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Address-Binding-Contract are the ABC's of service. &lt;/p&gt;
&lt;h2&gt;Bindings&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;Specify how a service endpoint communicates with client endpoints.&lt;/li&gt;
    &lt;li&gt;Consist of binding elements describing some essential aspect of communication like&lt;br /&gt;
    - Transport (HTTP, TCP, etc)&lt;br /&gt;
    - Protocol (security, reliability, transctions, sessions etc)&lt;br /&gt;
    - Messge encoding (text, binary etc)&lt;/li&gt;
    &lt;li&gt;Can be declared programatically or declaratively in the config file.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Out of box Bindings&lt;/h2&gt;
&lt;ul&gt;
    &lt;li&gt;BasicHttpBinding&lt;br /&gt;
    Compatible with ASMX Web Services.&lt;/li&gt;
    &lt;li&gt;WSHttpBinding&lt;br /&gt;
    - Conforms to WS* specifications for reliability, security and transactions.&lt;br /&gt;
    - Default&lt;/li&gt;
    &lt;li&gt;WS2007HttpBinding&lt;br /&gt;
    - Conforms to OASIS specifications for reliability, security and transactions.&lt;/li&gt;
    &lt;li&gt;WSDualHttpBinding&lt;br /&gt;
    - Supports WS-* + two-way communication&lt;/li&gt;
    &lt;li&gt;WSFederationBinding&lt;br /&gt;
    - Supports the WS-Federation specification for sharing identities across multiple systems.&lt;/li&gt;
    &lt;li&gt;WS2007FederationBinding&lt;br /&gt;
    - Supports federated security.&lt;/li&gt;
    &lt;li&gt;NetTcpBinding&lt;br /&gt;
    - Communicates across processes and machines.&lt;/li&gt;
    &lt;li&gt;NetNamedPipeBinding&lt;br /&gt;
    - Communicates on same machine&lt;/li&gt;
    &lt;li&gt;NetPeerBinding&lt;br /&gt;
    - Peer to peer communications over TCP&lt;/li&gt;
    &lt;li&gt;NetMsmqBinding&lt;br /&gt;
    - Uses MSMQ to transmit messages&lt;/li&gt;
    &lt;li&gt;MsmqIntegrationBinding&lt;br /&gt;
    - Service can send or receive messages from a MSMQ queue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The most frequently used binding is the BasicHttpBinding, the WSHttpBinding and the NetTcpBinding.&lt;/p&gt;
&lt;p&gt;That's it for now!!!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/rajeshpillai/aggbug/137140.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Rajesh Pillai</dc:creator>
            <guid>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx</guid>
            <pubDate>Sun, 20 Dec 2009 15:44:13 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rajeshpillai/comments/137140.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rajeshpillai/archive/2009/12/20/wcf_2_building_blocks.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/rajeshpillai/comments/commentRss/137140.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rajeshpillai/services/trackbacks/137140.aspx</trackback:ping>
        </item>
    </channel>
</rss>
