<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Geekswithblogs.net</title><link>http://geekswithblogs.net/MainFeed.aspx</link><description>Geekswithblogs.net</description><generator>Subtext Version 0.0.0.0</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/geekswithblogs" /><feedburner:info uri="geekswithblogs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Read the Comments!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/bv0076ppEEs/read-the-comments.aspx</link><pubDate>Tue, 18 Jun 2013 12:18:03 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/blogofbob/archive/2013/06/18/read-the-comments.aspx</guid><wfw:comment>http://geekswithblogs.net/blogofbob/comments/153158.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/blogofbob/comments/commentRss/153158.aspx</wfw:commentRss><comments>http://geekswithblogs.net/blogofbob/archive/2013/06/18/read-the-comments.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/blogofbob/services/trackbacks/153158.aspx</trackback:ping><source url="http://geekswithblogs.net/blogofbob/rss.aspx">BlogOfBob</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/blogofbob/archive/2013/06/18/read-the-comments.aspx'&gt;http://geekswithblogs.net/blogofbob/archive/2013/06/18/read-the-comments.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Sorry, I have been lax in posting for quite some time. Hopefully this will be the start of a renewed posting binge!&lt;/p&gt;
&lt;p&gt;A piece of advice, if you are searching for a solution to an issue, or a recommendation, or anything else on the web, when you find a post or a forum thread do 2 things. &lt;/p&gt;
&lt;p&gt;First, check the date on the post of thread. If it is older it may no longer be fully up to date and or inaccurate. Bear that in mind. &lt;/p&gt;
&lt;p&gt;Second, READ THE COMMENTS! Often small omissions or other issues in the post itself are resolved in the comments. If the solution to your issue does not appear to work check the comments. There may be a step missing or something else relavent that was raised by a prior reader or the author themselves.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Robert Porter &lt;/p&gt; &lt;img src="http://geekswithblogs.net/blogofbob/aggbug/153158.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/bv0076ppEEs" height="1" width="1"/&gt;</description><dc:creator>Bob Porter</dc:creator><feedburner:origLink>http://geekswithblogs.net/blogofbob/archive/2013/06/18/read-the-comments.aspx</feedburner:origLink></item><item><title>BizTalk 360 Alarms, How do you configure yours?</title><category>BizTalk</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kXrSiJI2Ycs/153157.aspx</link><pubDate>Tue, 18 Jun 2013 15:19:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2013/06/18/153157.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/153157.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/153157.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2013/06/18/153157.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/153157.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">Michael Stephenson</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/michaelstephenson/archive/2013/06/18/153157.aspx'&gt;http://geekswithblogs.net/michaelstephenson/archive/2013/06/18/153157.aspx&lt;/a&gt;&lt;/p&gt;Ive recently written a guest post for BizTalk 360 on their blog about how customers may configure BizTalk 360 Alarms to optimize getting the right information to the right type of support people.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is my thoughts on how users of BTS 360 can get the best value out of BizTalk 360 alarms&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.biztalk360.com/what-are-the-different-types-of-alarms-alerts-you-should-configure-in-biztalk360/"&gt;http://blogs.biztalk360.com/what-are-the-different-types-of-alarms-alerts-you-should-configure-in-biztalk360/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/153157.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kXrSiJI2Ycs" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2013/06/18/153157.aspx</feedburner:origLink></item><item><title>Is It Time To Specialize?</title><category>Misc</category><category>Rant</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PcpHiaENAWI/is-it-time-to-specialize.aspx</link><pubDate>Tue, 18 Jun 2013 01:29:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2013/06/18/is-it-time-to-specialize.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/153156.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/153156.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2013/06/18/is-it-time-to-specialize.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/153156.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Tim Murphy's .NET Software Architecture Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/tmurphy/archive/2013/06/18/is-it-time-to-specialize.aspx'&gt;http://geekswithblogs.net/tmurphy/archive/2013/06/18/is-it-time-to-specialize.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Is-It-Time-To-Specialize_A539/ComputerWorker_2.png" rel="lightbox"&gt;&lt;img title="ComputerWorker" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="ComputerWorker" src="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Is-It-Time-To-Specialize_A539/ComputerWorker_thumb.png" width="197" height="188" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Over my career I have made a living as a generalist.  I have been a jack of all trades and a master of none.  It has served me well in that I am able to move from one technology to the other quickly and make myself productive.  Where it becomes a problem is deep knowledge.  I am constantly digging for the things that aren’t basic knowledge.  How do you make a product like WCF or Windows RT do more than just “Hello World”?&lt;/p&gt;  &lt;p&gt;As an architect I need to be a jack of all trades.  This is what helps me to bring the big picture of a project into focus for developers with different skills to accomplish the goals of the project. It is a key when the mix technologies crosses Windows, Unix and Mainframe with different languages and databases.  The larger the company that the project is for the more likely this scenario will arise.&lt;/p&gt;  &lt;p&gt;As a consultant and a developer I need to have specialized skills in order to get the job done efficiently.  if I have a SharePoint or Windows Phone project knowing the object model details and possible roadblocks of the technology allow me to stay within budgets as well as better advise the client on technology decisions.&lt;/p&gt;  &lt;p&gt;What is the solution?  Constant learning and associating with developers who specialize in a variety of technologies is the best thing you can do.  You may have thought you were done with classes when you left college, but in this industry you need to constantly be learning new products and languages.  The ultimate answer is you must generally specialize.  Learn as many subject areas as possible, but go deep when ever you can.  Sleep is overrated.  Good luck.&lt;/p&gt;  &lt;div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:68ba9ff3-b825-4417-8691-15f903307bb8" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/software+development" rel="tag"&gt;software development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/software+architecture" rel="tag"&gt;software architecture&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/specialization" rel="tag"&gt;specialization&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/generalist" rel="tag"&gt;generalist&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/153156.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PcpHiaENAWI" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2013/06/18/is-it-time-to-specialize.aspx</feedburner:origLink></item><item><title>Stright Talk Nokia Lumia 920 MMS Fix</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/T7xM04NpIX8/stright-talk-nokia-lumia-920-mms-fix.aspx</link><pubDate>Mon, 17 Jun 2013 14:22:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mrad/archive/2013/06/17/stright-talk-nokia-lumia-920-mms-fix.aspx</guid><wfw:comment>http://geekswithblogs.net/mrad/comments/153150.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mrad/comments/commentRss/153150.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mrad/archive/2013/06/17/stright-talk-nokia-lumia-920-mms-fix.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mrad/services/trackbacks/153150.aspx</trackback:ping><source url="http://geekswithblogs.net/mrad/rss.aspx">Mark J Radacz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/mrad/archive/2013/06/17/stright-talk-nokia-lumia-920-mms-fix.aspx'&gt;http://geekswithblogs.net/mrad/archive/2013/06/17/stright-talk-nokia-lumia-920-mms-fix.aspx&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Was enjoying my Stright Talk service until receiving several MMS messages.. &lt;div&gt;that showed &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Get media content now (1KB)" and then upon selecting the message would get "Media content not available" &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;here is the fix: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. go to "Settings / cellular / edit mms apn" and make sure you got this&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-top: 0px; margin-bottom: 15px; font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; background-color: rgb(255, 255, 255); "&gt;MMS APN: att.mvno&lt;br /&gt;User name: leave blank&lt;br /&gt;Password: leave blank&lt;br /&gt;WAP gateway (URL): 66.209.11.33&lt;br /&gt;WAP gateway port: 80&lt;/p&gt;&lt;/div&gt;&lt;div&gt;Btw, &lt;/div&gt;&lt;div&gt;here are the Interned settings for "edit internet apn"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="background-color: rgb(255, 255, 255); font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; "&gt;Internet APN: att.mvno&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; background-color: rgb(255, 255, 255); "&gt;User Name: leave blank&lt;/span&gt;&lt;br style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; " /&gt;&lt;span style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; background-color: rgb(255, 255, 255); "&gt;Password: leave blank&lt;/span&gt;&lt;br style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; " /&gt;&lt;span style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; background-color: rgb(255, 255, 255); "&gt;Proxy server (URL): proxy.mvno.tracfone.com&lt;/span&gt;&lt;br style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; " /&gt;&lt;span style="font-family: arial, lucinda, verdana, geneva, sans-serif; font-size: 13px; line-height: 20px; text-align: left; background-color: rgb(255, 255, 255); "&gt;Proxy port: 80&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;video from Mark  (http://thenokiablog.com)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;


&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/Jqxxo0H8_ZU" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;

 &lt;img src="http://geekswithblogs.net/mrad/aggbug/153150.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/T7xM04NpIX8" height="1" width="1"/&gt;</description><dc:creator>mrad</dc:creator><feedburner:origLink>http://geekswithblogs.net/mrad/archive/2013/06/17/stright-talk-nokia-lumia-920-mms-fix.aspx</feedburner:origLink></item><item><title>Creating a Training Lab on Windows Azure</title><category>Azure</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/hLFmFotycXk/153149.aspx</link><pubDate>Tue, 18 Jun 2013 02:19:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2013/06/17/153149.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/153149.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/153149.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2013/06/17/153149.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/153149.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">Michael Stephenson</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/michaelstephenson/archive/2013/06/17/153149.aspx'&gt;http://geekswithblogs.net/michaelstephenson/archive/2013/06/17/153149.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;This week we are preparing for a training course that Alan Smith will be running for the support teams at one of my customers around Windows Azure.  In order to facilitate the training lab we have a few prerequisites we need to handle.  One of the biggest ones is that although the support team all have MSDN accounts the local desktops they work on are not ideal for running most of the labs as we want to give them some additional developer background training around Azure.
&lt;/p&gt;&lt;p&gt;Some recent Azure announcements really help us in this area:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;MSDN software can now be used on Azure VM
&lt;/li&gt;&lt;li&gt;You don't pay for Azure VM's when they are no longer used
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Since the support team only have limited experience of Windows Azure and the organisation also have an Enterprise Agreement we decided it would be best value for money to spin up a training lab in a subscription on the EA and then we can turn the machines off when we are done.  At the same time we would be able to spin them back up when the users need to do some additional lab work once the training course is completed.
&lt;/p&gt;&lt;p&gt;In order to achieve this I wanted to create a powershell script which would setup my training lab.  The aim was to create 18 VM's which would be based on a prebuilt template with Visual Studio and the Azure development tools.
&lt;/p&gt;&lt;p&gt;The script I used is described below
&lt;/p&gt;&lt;h1&gt;The Start &amp;amp; Variables
&lt;/h1&gt;&lt;p&gt;The below text will setup the powershell environment and some variables which I will use elsewhere in the script.  It will also import the Azure Powershell cmdlets.
&lt;/p&gt;&lt;p&gt;You can see below that I will need to download my publisher settings file and know some details from my Azure account.  At this point I will assume you have a basic understanding of Azure &amp;amp; Powershell so already know how to do this.
&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Set-ExecutionPolicy&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;Unrestricted&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;cls&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$startTime&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;get-date&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Import-Module&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"C:\Program Files (x86)\Microsoft SDKs\Windows Azure\PowerShell\Azure\Azure.psd1"&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;# Azure Publisher Settings&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$azurePublisherSettings&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;Your settings file&amp;gt;.publishsettings'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;# Subscription Details&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$subscriptionName&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&amp;lt;Your subscription name&amp;gt;"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$defaultStorageAccount&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&amp;lt;Your default storage account&amp;gt;"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;# Affinity Group Details&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$affinityGroup&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;Your affinity group&amp;gt;'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$dataCenter&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'West Europe'&lt;/span&gt;
			&lt;span style="color:darkgreen"&gt;# From Get-AzureLocation&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;# VM Details&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$baseVMName&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'TRN'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$adminUserName&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;Your admin username&amp;gt;'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$password&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;Your admin password&amp;gt;'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$size&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'Medium'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$vmTemplate&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;The name of your VM template image&amp;gt;'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$rdpFilePath&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;File path to save RDP files to&amp;gt;'&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$machineSettingsPath&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;'&amp;lt;File path to save machine info to&amp;gt;' 
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;h1&gt;Functions
&lt;/h1&gt;&lt;p&gt;In the next section of the script I have some functions which are used to perform certain actions.  The first is called CreateVM.  This will do the following actions:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;If the VM already exists it will be deleted
&lt;/li&gt;&lt;li&gt;Create the cloud service
&lt;/li&gt;&lt;li&gt;Create the VM from the template I have created
&lt;/li&gt;&lt;li&gt;Add an endpoint so we can RDP to them all over the same port
&lt;/li&gt;&lt;li&gt;Download the RDP file so there is a short cut the trainees can easily access the machine via
&lt;/li&gt;&lt;li&gt;Write settings for the machine to a log file
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkblue"&gt;function&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;CreateVM&lt;/span&gt;(&lt;span style="color:orangered"&gt;$machineNo&lt;/span&gt;)
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;# Specify a name for the new VM  &lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$machineName&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$baseVMName&lt;span style="color:darkred"&gt;-&lt;span style="color:orangered"&gt;$machineNo&lt;span style="color:darkred"&gt;"&lt;/span&gt;
						&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Creating VM: &lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;&lt;span style="color:darkgreen"&gt;# Get the Azure VM Image &lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;&lt;span style="color:orangered"&gt;$myImage&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;Get-AzureVMImage&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$vmTemplate&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt; 
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;#If the VM already exists delete and re-create it&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$existingVm&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;Get-AzureVM&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$machineName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkblue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;if&lt;/span&gt;(&lt;span style="color:orangered"&gt;$existingVm&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;-ne&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$null&lt;/span&gt;)
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"VM already exists so deleting it"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt;Remove-AzureVM&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$machineName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkred"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;"Creating Service"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$serviceName&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"bupa-azure-train-&lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Remove-AzureService&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Force&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;New-AzureService&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Location&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$dataCenter&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;    
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Creating VM: &lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;New-AzureQuickVM&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Windows&lt;/span&gt;
			&lt;span style="color:navy"&gt;-name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$machineName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ImageName&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;&lt;/span&gt;&lt;span style="color:orangered"&gt;$myImage&lt;span style="color:darkgray"&gt;.&lt;/span&gt;ImageName &lt;span style="color:navy"&gt;-InstanceSize&lt;/span&gt; $size&lt;/span&gt;
			&lt;span style="color:navy"&gt;-AdminUsername&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$adminUserName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Password&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$password&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;&lt;p style="background: white"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Updating the RDP endpoint for &lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Get-AzureVM&lt;/span&gt;
			&lt;span style="color:navy"&gt;-name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$machineName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt; `
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgray"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt;|&lt;/span&gt;
			&lt;span style="color:blue"&gt;Add-AzureEndpoint&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Name&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;RDP&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Protocol&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;TCP&lt;/span&gt;
			&lt;span style="color:navy"&gt;-LocalPort&lt;/span&gt;
			&lt;span style="color:purple"&gt;3389&lt;/span&gt;
			&lt;span style="color:navy"&gt;-PublicPort&lt;/span&gt;
			&lt;span style="color:purple"&gt;550&lt;/span&gt; `
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgray"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;		&lt;/span&gt;|&lt;/span&gt;
			&lt;span style="color:blue"&gt;Update-AzureVM&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;  &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Get the RDP File for machine &lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$machineRDPFilePath&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$rdpFilePath&lt;span style="color:darkred"&gt;\&lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;.rdp"&lt;/span&gt;
						&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Get-AzureRemoteDesktopFile&lt;/span&gt;
			&lt;span style="color:navy"&gt;-name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$machineName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$serviceName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-LocalPath&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$machineRDPFilePath&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;    
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;WriteMachineSettings&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$machineName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
					&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$serviceName&lt;span style="color:darkred"&gt;"&lt;/span&gt;
						&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;} 
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p&gt;The delete machine settings function is used to delete the log file before we start re-running the process.
&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkblue"&gt;function&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;DeleteMachineSettings&lt;/span&gt;()
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Deleting the machine settings output file"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgray"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;[&lt;span style="color:teal"&gt;System.IO.File&lt;span style="color:darkgray"&gt;]::&lt;/span&gt;Delete(&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$machineSettingsPath&lt;span style="color:darkred"&gt;"&lt;/span&gt;);    
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;} 
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;The write machine settings function will get the VM and then record its details to the log file.  The importance of the log file is that I can easily provide the information for all of the VM's to our infrastructure team to be able to configure access to all of the VM's
&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkblue"&gt;function&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;WriteMachineSettings&lt;/span&gt;(&lt;span style="color:darkgray"&gt;[&lt;span style="color:teal"&gt;string&lt;span style="color:darkgray"&gt;]&lt;span style="color:orangered"&gt;$vmName&lt;span style="color:darkgray"&gt;,&lt;/span&gt;
							&lt;span style="color:darkgray"&gt;[&lt;span style="color:teal"&gt;string&lt;span style="color:darkgray"&gt;]&lt;span style="color:orangered"&gt;$vmServiceName&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;Write-Host&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"Writing to the machine settings output file"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$vm&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;Get-AzureVM&lt;/span&gt;
			&lt;span style="color:navy"&gt;-name&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$vmName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-ServiceName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$vmServiceName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$vmEndpoint&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;Get-AzureEndpoint&lt;/span&gt;
			&lt;span style="color:navy"&gt;-VM&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$vm&lt;/span&gt;
			&lt;span style="color:navy"&gt;-Name&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;RDP&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;new-object&lt;/span&gt;
			&lt;span style="color:blueviolet"&gt;System.Text.StringBuilder&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;"Service Name: "&lt;/span&gt;);  
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append($vm&lt;span style="color:darkgray"&gt;.&lt;/span&gt;ServiceName);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;", "&lt;/span&gt;);  
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;"VM: "&lt;/span&gt;);  
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append($vm&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Name);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;", "&lt;/span&gt;); 
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;"RDP Public Port: "&lt;/span&gt;);  
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append($vmEndpoint&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Port);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;", "&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append(&lt;span style="color:darkred"&gt;"Public DNS: "&lt;/span&gt;);  
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Append($vmEndpoint&lt;span style="color:darkgray"&gt;.&lt;/span&gt;Vip);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;AppendLine(&lt;span style="color:darkred"&gt;""&lt;/span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgray"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;[&lt;span style="color:teal"&gt;System.IO.File&lt;span style="color:darkgray"&gt;]::&lt;/span&gt;AppendAllText(&lt;span style="color:orangered"&gt;$machineSettingsPath&lt;span style="color:darkgray"&gt;,&lt;/span&gt; $sb&lt;span style="color:darkgray"&gt;.&lt;/span&gt;ToString());
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="color:darkgreen; font-family:Lucida Console; font-size:9pt"&gt;# end functions 
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Rest of Script
&lt;/h1&gt;&lt;p&gt;In the rest of the script it is really just the bit that orchestrates the actions we want to happen.  It will load the publisher settings, select the Azure subscription and then loop around the CreateVM function and create 16 VM's
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Import-AzurePublishSettingsFile&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$azurePublisherSettings&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Set-AzureSubscription&lt;/span&gt;
			&lt;span style="color:navy"&gt;-SubscriptionName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$subscriptionName&lt;/span&gt;
			&lt;span style="color:navy"&gt;-CurrentStorageAccount&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$defaultStorageAccount&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Select-AzureSubscription&lt;/span&gt;
			&lt;span style="color:navy"&gt;-SubscriptionName&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$subscriptionName&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;DeleteMachineSettings&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;   &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkred"&gt;"Starting creating Bupa International Azure Training Lab"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$numberOfVMs&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:purple"&gt;16&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkblue"&gt;for&lt;/span&gt; (&lt;span style="color:orangered"&gt;$index&lt;span style="color:darkgray"&gt;=&lt;span style="color:purple"&gt;1&lt;/span&gt;; &lt;span style="color:orangered"&gt;$index&lt;/span&gt; -le&lt;/span&gt; $numberOfVMs&lt;/span&gt;; &lt;span style="color:orangered"&gt;$index&lt;span style="color:darkgray"&gt;++&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;{
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;$vmNo&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:darkred"&gt;"&lt;span style="color:orangered"&gt;$index&lt;span style="color:darkred"&gt;"&lt;/span&gt;
				&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;	&lt;/span&gt;CreateVM&lt;/span&gt;(&lt;span style="color:orangered"&gt;$vmNo&lt;/span&gt;);
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkred"&gt;"Finished creating Bupa International Azure Training Lab"&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkgreen"&gt;# Give it a Minute&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:blue"&gt;Start-Sleep&lt;/span&gt;
			&lt;span style="color:navy"&gt;-s&lt;/span&gt;
			&lt;span style="color:purple"&gt;60&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;
 &lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:orangered"&gt;$endTime&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;=&lt;/span&gt;
			&lt;span style="color:blue"&gt;get-date&lt;/span&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="background: white"&gt;&lt;span style="font-family:Lucida Console; font-size:9pt"&gt;&lt;span style="color:darkred"&gt;"Script run time "&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;+&lt;/span&gt; (&lt;span style="color:orangered"&gt;$endTime&lt;/span&gt;
			&lt;span style="color:darkgray"&gt;-&lt;/span&gt;
			&lt;span style="color:orangered"&gt;$startTime&lt;/span&gt;) 
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;h1&gt;Conclusion
&lt;/h1&gt;&lt;p&gt;As you can see there is nothing too fancy about this script but in our case of creating a small isolated training lab which is not connected to our corporate network then we can easily use this to provision the lab.  Im sure if this is of use to anyone you can easily modify it to do other things with the lab environment too.
&lt;/p&gt;&lt;p&gt;A couple of points to note are that there are some soft limits in Azure about the number of cores and services your subscription can use.  You may need to contact the Azure support team to be able to increase this limit.
&lt;/p&gt;&lt;p&gt;In terms of the real business value of this approach, it was not possible to use the existing desktops to do the training on, and getting some internal virtual machines would have been relatively expensive and time consuming for our ops team to do.  With the Azure option we are able to spin these machines up for a temporary period during the training course and then throw them away when we are done.  We expect the costing of this test lab to be very small, especially considering we have EA pricing.
&lt;/p&gt;&lt;p&gt;As a ball park I think my 18 lab VM training environment will cost in the region of $80 per day on our EA.  This is a fraction of the cost of the creation of a single VM on premise.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/153149.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/hLFmFotycXk" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2013/06/17/153149.aspx</feedburner:origLink></item><item><title>JQGrdi PDF Export</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/i7aY3STb0t0/jqgrdi-pdf-export.aspx</link><pubDate>Mon, 17 Jun 2013 22:20:15 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/thanigai/archive/2013/06/17/jqgrdi-pdf-export.aspx</guid><wfw:comment>http://geekswithblogs.net/thanigai/comments/153151.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/thanigai/comments/commentRss/153151.aspx</wfw:commentRss><comments>http://geekswithblogs.net/thanigai/archive/2013/06/17/jqgrdi-pdf-export.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/thanigai/services/trackbacks/153151.aspx</trackback:ping><source url="http://geekswithblogs.net/thanigai/rss.aspx">Thanigainathan Siranjeevi</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/thanigai/archive/2013/06/17/jqgrdi-pdf-export.aspx'&gt;http://geekswithblogs.net/thanigai/archive/2013/06/17/jqgrdi-pdf-export.aspx&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;h2 class="western"&gt;&lt;a href="https://c2blogs.cognizant.com/blogs/195231/2013/06/17/jqgrid-pdf-export/"&gt;&lt;font color="#356AA0"&gt;&lt;span style="text-decoration: none"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="4" style="font-size: 13pt"&gt;&lt;span style="font-style: normal"&gt;&lt;b&gt;JQGrid PDF Export&lt;/b&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;The aim of this article is to address the PDF export from client side grid frameworks. The solution is done using the ASP.Net MVC 4 and VisualStudio 2012. The article assumes the developer to have a fair amount of knowledge on ASP.Net MVC and C#.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;u&gt;Tools Used&lt;/u&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Visual Studio 2012&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;ASP.Net MVC 4&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Nuget Package Manager&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="border: none; padding: 0in;text-align:left"&gt; &lt;a href="http://www.trirand.net/"&gt;&lt;font color="#356AA0"&gt;&lt;span style="text-decoration: none"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;JQGrid&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt; is one of the client grid framework built on top of the JQuery framework. It helps in building a beautiful grid with paging, sorting and exiting options. There are also other features available as extension plugins and developers can write their own if needed. You can download the JQgrid from the &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;a href="http://www.trirand.net/"&gt;&lt;font color="#356AA0"&gt;&lt;span style="text-decoration: none"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;JQGrid&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/a&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt; homepage or as NUget package. I have given below the command to download the JQGrid through the package manager console. From the tools menu select “Library Package Manager” and then select “Package Manager Console”. I have given the screenshot below.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;This command will pull down the latest JQGrid package and adds them in the script folder.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;Once the script is downloaded and referenced in the project update the bundleconfig file to add the script reference in the pages. Bundleconfig can be found in the &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;App_Start&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt; folder in the project structure.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;bundles &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;Add &lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;StyleBundle&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#D69D85"&gt;“~/Content/jqgrid”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;)&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;Include &lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#D69D85"&gt;“~/Content/ui.jqgrid.css”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;));&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;bundles&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Add&lt;/font&gt;( &lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;ScriptBundle&lt;/font&gt;( &lt;font color="#D69D85"&gt;“~/bundles/jquerygrid”&lt;/font&gt;) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Include&lt;/font&gt;(  &lt;font color="#D69D85"&gt;“~/Scripts/jqGrid/jquery.jqGrid*”&lt;/font&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Once added the config’s refer the bundles to the Views/Shared/LayoutPage.cshtml. Add the following lines to the head section of the page.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;@&lt;/span&gt;&lt;font color="#4EC9B0"&gt;&lt;span style="background: #000000"&gt;Styles&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;Render&lt;/span&gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“~/Content/jqgrid”&lt;/span&gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Add the following lines to the end of the page before html close tags.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="573"&gt;&lt;col width="569" /&gt;&lt;tr&gt;&lt;td valign="top" width="569"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;@&lt;/span&gt;&lt;font color="#4EC9B0"&gt;&lt;span style="background: #000000"&gt;Scripts&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;Render&lt;/span&gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“~/bundles/jquery”&lt;/span&gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#000000"&gt;&lt;span style="background: #ffff00"&gt;@&lt;/span&gt;&lt;/font&gt;&lt;font color="#4EC9B0"&gt;&lt;span style="background: #000000"&gt;Scripts&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;Render&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“~/bundles/jqueryui”&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;@Scripts.Render(“ ~/bundles/jquerygrid”)             &lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="margin-bottom: 0in"&gt; &lt;br /&gt; &lt;/p&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;That’s all to be done from the view perspective. Once these steps are done the developer can start coding for the JQGrid. In this example we will modify the HomeController for the demo. The index action will be the default action. We will add an argument for this index action. Let it be nullable bool. It’s just to mark the pdf request. In the Index.cshtml we will add a table tag with an id “&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#C8C8C8"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;span style="background: #000000"&gt;gridTable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;“. We will use this table for making the grid. Since JQGrid is an extension for the JQUery we will initialize the grid setting at the &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt; section of the page. This script section is marked at the end of the page to improve performance. The script section is placed just below the bundle reference for JQuery and JQueryUI. This is the one of improvement factors from “ why slow” provided by yahoo.&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="571"&gt;&lt;col width="567" /&gt;&lt;tr&gt;&lt;td valign="top" width="567"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#808080"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;lt; &lt;font color="#569CD6"&gt;table&lt;/font&gt;&lt;font color="#9CDCFE"&gt;id&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“gridTable”&lt;/font&gt;&lt;font color="#9CDCFE"&gt;class&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“scroll”&lt;/font&gt;&amp;gt;&amp;lt;/ &lt;font color="#569CD6"&gt;table&lt;/font&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#808080"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;lt; &lt;font color="#569CD6"&gt;input&lt;/font&gt;&lt;font color="#9CDCFE"&gt;type&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“button”&lt;/font&gt;&lt;font color="#9CDCFE"&gt;value&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“Export PDF”&lt;/font&gt;&lt;font color="#9CDCFE"&gt;onclick&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“&lt;/font&gt;&lt;font color="#ffffff"&gt;exportPDF&lt;/font&gt;&lt;font color="#B4B4B4"&gt;();&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;/&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;@section scripts&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#808080"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#569CD6"&gt;script&lt;/font&gt;&lt;font color="#9CDCFE"&gt;type&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#C8C8C8"&gt;“text/javascript”&lt;/font&gt;&lt;font color="#808080"&gt;&amp;gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;$&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;document&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;).&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;ready&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#569CD6"&gt;&lt;span style="background: #000000"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;()&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;$&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“#gridTable”&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;).&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;jqGrid&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;datatype&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“json”&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;url&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;‘&lt;/span&gt;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;span style="background: #ffff00"&gt;@&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;Url&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;Action&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“GetCustomerDetails”&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;‘&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;mtype&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;‘GET’&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;colNames&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:[&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerID"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerName"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"Location"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"PrimaryBusiness"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;],&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;colModel&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:[&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;name&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerID"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;width&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;40&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;index&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerID"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;align&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"center"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;},{&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;name&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerName"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;width&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;40&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;index&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"CustomerName"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;align&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"center"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;},&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;name&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"Location"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;width&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;40&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;index&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"Location"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;align&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"center"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;},&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;name&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"PrimaryBusiness"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;width&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;40&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;index&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"PrimaryBusiness"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;align&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;"center"&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;},],&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;height&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;250&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;autowidth&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#569CD6"&gt;&lt;span style="background: #000000"&gt;true&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;sortorder&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“asc”&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;rowNum&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;10&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;rowList&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:[&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;5&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;10&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;15&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;font color="#B5CEA8"&gt;&lt;span style="background: #000000"&gt;20&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;],&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;sortname&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;span style="background: #000000"&gt;“CustomerID”&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#ffffff"&gt;&lt;span style="background: #000000"&gt;viewrecords&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;:&lt;/span&gt;&lt;/font&gt;&lt;font color="#569CD6"&gt;&lt;span style="background: #000000"&gt;true&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;);}&lt;/span&gt;&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&lt;span style="background: #000000"&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt;  &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;function&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;exportPDF&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;document&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;location&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;=&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;‘&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;@&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Url&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Action&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;“Index”&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;?pdf=true’&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#808080"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;lt;/&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;script&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#808080"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#000000"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #ffff00"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;The exportPDF methos just sets the document location to the Index action method with PDF Boolean as true just to mark for download PDF.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;An inmemory list collection is used for demo purpose. The  &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;GetCustomerDetails&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;method is the server side action method that will provide the data as JSON list. We will see the method explanation below.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="571"&gt;&lt;col width="567" /&gt;&lt;tr&gt;&lt;td valign="top" width="567"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;[ &lt;font color="#4EC9B0"&gt;HttpGet&lt;/font&gt;] &lt;br /&gt;&lt;font color="#569CD6"&gt;public&lt;/font&gt;&lt;font color="#4EC9B0"&gt;JsonResult&lt;/font&gt;&lt;font color="#ffffff"&gt;GetCustomerDetails&lt;/font&gt;(){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;var&lt;/font&gt;&lt;font color="#ffffff"&gt;result&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt; { &lt;font color="#ffffff"&gt;total&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#B5CEA8"&gt;1&lt;/font&gt;, &lt;font color="#ffffff"&gt;page&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#B5CEA8"&gt;1&lt;/font&gt;, &lt;br /&gt;&lt;font color="#ffffff"&gt;records&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#ffffff"&gt;customerList&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Count&lt;/font&gt;(), &lt;br /&gt;&lt;font color="#ffffff"&gt;rows&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;( &lt;font color="#ffffff"&gt;customerList&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Select&lt;/font&gt;( &lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&amp;gt;&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt; { &lt;font color="#ffffff"&gt;id&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;CustomerID&lt;/font&gt;, &lt;font color="#ffffff"&gt;cell&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;br /&gt;&lt;font color="#569CD6"&gt;string&lt;/font&gt;[]{ &lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;CustomerID&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;ToString&lt;/font&gt;(), &lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;CustomerName&lt;/font&gt;, &lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Location&lt;/font&gt;, &lt;font color="#ffffff"&gt;e&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;PrimaryBusiness&lt;/font&gt;}})) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;ToArray&lt;/font&gt;()}; &lt;br /&gt;&lt;font color="#569CD6"&gt;return&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;Json&lt;/font&gt;( &lt;font color="#ffffff"&gt;result&lt;/font&gt;,  &lt;font color="#B8D7A3"&gt;JsonRequestBehavior&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;AllowGet&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;JQGrid can understand the response data from server in certain format. The server method shown above is taking care of formatting the response so that JQGrid understand the data properly. The response data should contain totalpages, current page, full record count, rows of data with id and remaining columns as string array. The response is built using an anonymous object and will be sent as a MVC JsonResult. Since we are using HttpGet it’s better to mark the attribute as HttpGet and also the JSON requestbehavious as AllowGet. The inmemory list is initialized in the homecontroller constructor for reference.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="2"&gt;&lt;col width="0" /&gt;&lt;tr&gt;&lt;td valign="top"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Public class  &lt;font color="#4EC9B0"&gt;HomeController&lt;/font&gt;&lt;font color="#DCDCDC"&gt; : &lt;/font&gt;&lt;font color="#4EC9B0"&gt;Controller&lt;/font&gt;&lt;font color="#DCDCDC"&gt;{&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;private readonly&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;font color="#B8D7A3"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Ilist&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;lt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;CustomerViewModel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;customerList&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;; &lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;public&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;HomeController&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;customerList&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;List&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#4EC9B0"&gt;CustomerViewModel&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;gt;&lt;/font&gt;() {&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;CustomerViewModel&lt;/font&gt;{ &lt;font color="#ffffff"&gt;CustomerID&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#B5CEA8"&gt;100&lt;/font&gt;, &lt;font color="#ffffff"&gt;CustomerName&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Sundar”&lt;/font&gt;, &lt;font color="#ffffff"&gt;Location&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Chennai”&lt;/font&gt;, &lt;font color="#ffffff"&gt;PrimaryBusiness&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Teacing”&lt;/font&gt;},&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;CustomerViewModel&lt;/font&gt;{ &lt;font color="#ffffff"&gt;CustomerID&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#B5CEA8"&gt;101&lt;/font&gt;, &lt;font color="#ffffff"&gt;CustomerName&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Sudhagar”&lt;/font&gt;, &lt;font color="#ffffff"&gt;Location&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Chennai”&lt;/font&gt;, &lt;font color="#ffffff"&gt;PrimaryBusiness&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Software”&lt;/font&gt;},&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;CustomerViewModel&lt;/font&gt;{ &lt;font color="#ffffff"&gt;CustomerID&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#B5CEA8"&gt;102&lt;/font&gt;, &lt;font color="#ffffff"&gt;CustomerName&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“Thivagar”&lt;/font&gt;, &lt;font color="#ffffff"&gt;Location&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“China”&lt;/font&gt;, &lt;font color="#ffffff"&gt;PrimaryBusiness&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#D69D85"&gt;“SAP”&lt;/font&gt;},&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;};&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#569CD6"&gt;public&lt;/font&gt;&lt;font color="#4EC9B0"&gt;ActionResult&lt;/font&gt;&lt;font color="#ffffff"&gt;Index&lt;/font&gt;( &lt;font color="#569CD6"&gt;bool&lt;/font&gt;&lt;font color="#B4B4B4"&gt;?&lt;/font&gt;&lt;font color="#ffffff"&gt;pdf&lt;/font&gt;){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;if&lt;/font&gt; ( &lt;font color="#B4B4B4"&gt;!&lt;/font&gt;&lt;font color="#ffffff"&gt;pdf&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;HasValue&lt;/font&gt;){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;return&lt;/font&gt;&lt;font color="#ffffff"&gt;View&lt;/font&gt;( &lt;font color="#ffffff"&gt;customerList&lt;/font&gt;);}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;else&lt;/font&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;string&lt;/font&gt;&lt;font color="#ffffff"&gt;filePath&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#ffffff"&gt;Server&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;MapPath&lt;/font&gt;( &lt;font color="#D69D85"&gt;“Content”&lt;/font&gt;)  &lt;font color="#B4B4B4"&gt;+&lt;/font&gt;&lt;font color="#D69D85"&gt;“Sample.pdf”&lt;/font&gt;; &lt;br /&gt;&lt;font color="#ffffff"&gt;ExportPDF&lt;/font&gt;( &lt;font color="#ffffff"&gt;customerList&lt;/font&gt;,  &lt;font color="#569CD6"&gt;new string&lt;/font&gt;[]{  &lt;font color="#D69D85"&gt;“CustomerID”&lt;/font&gt;,  &lt;font color="#D69D85"&gt;“CustomerName”&lt;/font&gt;,  &lt;font color="#D69D85"&gt;“Location”&lt;/font&gt;,  &lt;font color="#D69D85"&gt;“PrimaryBusiness”&lt;/font&gt; },  &lt;font color="#ffffff"&gt;filePath&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;return&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;File&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;filePath&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;, &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;“application/pdf”&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;,&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#D69D85"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;“list.pdf”&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt;}&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;The index actionmethod has a Boolean argument named “pdf”. It’s used to indicate for PDF download. When the application starts this method is first hit for initial page request. For PDF operation a filename is generated and then sent to the &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;ExportPDF &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;method&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;which&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;will take care of generating the PDF from the datasource. The &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;strong&gt;&lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;ExportPDF&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/strong&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="font-style: normal"&gt;&lt;span style="font-weight: normal"&gt;method is listed below. &lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="569"&gt;&lt;col width="565" /&gt;&lt;tr&gt;&lt;td valign="top" width="565"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Private static void  &lt;font color="#ffffff"&gt;ExportPDF&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#ffffff"&gt;TSource&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#B8D7A3"&gt;IList&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;TSource&lt;/font&gt;&lt;font color="#B4B4B4"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;customerList&lt;/font&gt;&lt;font color="#DCDCDC"&gt;,&lt;/font&gt;string &lt;font color="#DCDCDC"&gt;[] &lt;/font&gt;&lt;font color="#ffffff"&gt;columns&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;string &lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;&lt;font color="#ffffff"&gt;filePath&lt;/font&gt;&lt;font color="#DCDCDC"&gt;){&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;Font&lt;/font&gt;&lt;font color="#ffffff"&gt;headerFont&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#4EC9B0"&gt;FontFactory&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetFont&lt;/font&gt;( &lt;font color="#D69D85"&gt;“Verdana”&lt;/font&gt;,  &lt;font color="#B5CEA8"&gt;10&lt;/font&gt;,  &lt;font color="#4EC9B0"&gt;Color&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;WHITE&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;Font&lt;/font&gt;&lt;font color="#ffffff"&gt;rowfont&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;FontFactory&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetFont&lt;/font&gt;( &lt;font color="#D69D85"&gt;“Verdana”&lt;/font&gt;,  &lt;font color="#B5CEA8"&gt;10&lt;/font&gt;,  &lt;font color="#4EC9B0"&gt;Color&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BLUE&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;Document&lt;/font&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Document&lt;/font&gt;( &lt;font color="#4EC9B0"&gt;PageSize&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;A4&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt;  &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;PdfWriter&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;  &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;writer&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;=&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;PdfWriter&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;GetInstance&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;document&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;, &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;new&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;FileStream&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;filePath&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;, &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B8D7A3"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;FileMode&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;OpenOrCreate&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Open&lt;/font&gt;(); &lt;br /&gt;&lt;font color="#4EC9B0"&gt;PdfPTable&lt;/font&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;PdfPTable&lt;/font&gt;( &lt;font color="#ffffff"&gt;columns&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Length&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;foreach&lt;/font&gt; ( &lt;font color="#569CD6"&gt;var&lt;/font&gt;&lt;font color="#ffffff"&gt;column&lt;/font&gt;&lt;font color="#569CD6"&gt;in&lt;/font&gt;&lt;font color="#ffffff"&gt;columns&lt;/font&gt;){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;&lt;font color="#ffffff"&gt;cell&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;( &lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Phrase&lt;/font&gt;( &lt;font color="#ffffff"&gt;column&lt;/font&gt;,  &lt;font color="#ffffff"&gt;headerFont&lt;/font&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;cell&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BackgroundColor&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Color&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BLACK&lt;/font&gt;;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;AddCell&lt;/font&gt;( &lt;font color="#ffffff"&gt;cell&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt;  &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;foreach&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt; (&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;var&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;item&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;in&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;customerList&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;foreach&lt;/font&gt; ( &lt;font color="#569CD6"&gt;var&lt;/font&gt;&lt;font color="#ffffff"&gt;column&lt;/font&gt;&lt;font color="#569CD6"&gt;in&lt;/font&gt;&lt;font color="#ffffff"&gt;columns&lt;/font&gt;){ &lt;br /&gt;&lt;font color="#569CD6"&gt;string&lt;/font&gt;&lt;font color="#ffffff"&gt;value&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;item&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetType&lt;/font&gt;() &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetProperty&lt;/font&gt;( &lt;font color="#ffffff"&gt;column&lt;/font&gt;) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetValue&lt;/font&gt;( &lt;font color="#ffffff"&gt;item&lt;/font&gt;) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;ToString&lt;/font&gt;();&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;&lt;font color="#ffffff"&gt;cell5&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;( &lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Phrase&lt;/font&gt;( &lt;font color="#ffffff"&gt;value&lt;/font&gt;,  &lt;font color="#ffffff"&gt;rowfont&lt;/font&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;AddCell&lt;/font&gt;( &lt;font color="#ffffff"&gt;cell5&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Add&lt;/font&gt;( &lt;font color="#ffffff"&gt;table&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Close&lt;/font&gt;();&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;iTextSharp is one of the pioneer in PDF export. It’s an opensource library readily available as NUget library.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;This command will pulldown latest available library. I am using the version 4.1.2.0. The latest version may have changed. There are three main things in this library.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="background: #ffffff"&gt;Document&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="background: #ffffff; font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;This is the document class which takes care of creating the document sheet with particular size. We have used A4 size. There is also an option to define the rectangle size. This document instance will be further used in next methods for reference.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="background: #ffffff"&gt;PdfWriter&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="background: #ffffff; font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;PdfWriter takes the filename and the document as the reference. This class enables the document class to generate the PDF content and save them in a file.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;&lt;span style="background: #ffffff"&gt;Font&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="background: #ffffff; font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Using the FONT class the developer can control the font features. Since I need a nice looking font I am giving the Verdana font.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Following this PdfPTable and PdfPCell are used for generating the normal table layout. We have created two set of fonts for header and footer.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="546"&gt;&lt;col width="542" /&gt;&lt;tr&gt;&lt;td valign="top" width="542"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Font  &lt;font color="#ffffff"&gt;headerFont&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;FontFactory &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetFont&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#D69D85"&gt;“Verdana”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;&lt;font color="#B5CEA8"&gt;10&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;Color &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;WHITE&lt;/font&gt;&lt;font color="#DCDCDC"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Font  &lt;font color="#ffffff"&gt;rowfont&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;FontFactory &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetFont&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#D69D85"&gt;“Verdana”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;&lt;font color="#B5CEA8"&gt;10&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;Color &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BLUE&lt;/font&gt;&lt;font color="#DCDCDC"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;We are getting the header columns as string array. Columns argument array is looped and header is generated. We are using the headerfont for this purpose.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="547"&gt;&lt;col width="543" /&gt;&lt;tr&gt;&lt;td valign="top" width="543"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#4EC9B0"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;PdfWriter  &lt;font color="#ffffff"&gt;writer&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;PdfWriter &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetInstance&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#DCDCDC"&gt;&lt;br /&gt;&lt;/font&gt;FileStream &lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#ffffff"&gt;filePath&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;&lt;font color="#B8D7A3"&gt;FileMode&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;OpenOrCreate&lt;/font&gt;&lt;font color="#DCDCDC"&gt;));&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;document&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Open&lt;/font&gt;(); &lt;br /&gt;&lt;font color="#4EC9B0"&gt;PdfPTable&lt;/font&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;PdfPTable&lt;/font&gt;( &lt;font color="#ffffff"&gt;columns&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;Length&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#569CD6"&gt;foreach&lt;/font&gt; ( &lt;font color="#569CD6"&gt;var&lt;/font&gt;&lt;font color="#ffffff"&gt;column&lt;/font&gt;&lt;font color="#569CD6"&gt;in&lt;/font&gt;&lt;font color="#ffffff"&gt;columns&lt;/font&gt;){&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;&lt;font color="#ffffff"&gt;cell&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;( &lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;br /&gt;&lt;font color="#4EC9B0"&gt;Phrase&lt;/font&gt;( &lt;font color="#ffffff"&gt;column&lt;/font&gt;,  &lt;font color="#ffffff"&gt;headerFont&lt;/font&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;cell&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BackgroundColor&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Color&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;BLACK&lt;/font&gt;;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;AddCell&lt;/font&gt;( &lt;font color="#ffffff"&gt;cell&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Then reflection is used to generate the row wise details and form the grid.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="549"&gt;&lt;col width="545" /&gt;&lt;tr&gt;&lt;td valign="top" width="545"&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;foreach &lt;font color="#DCDCDC"&gt; (&lt;/font&gt;var  &lt;font color="#ffffff"&gt;item&lt;/font&gt; in  &lt;font color="#ffffff"&gt;customerList&lt;/font&gt;&lt;font color="#DCDCDC"&gt;){&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;foreach&lt;/font&gt; ( &lt;font color="#569CD6"&gt;var&lt;/font&gt;&lt;font color="#ffffff"&gt;column&lt;/font&gt;&lt;font color="#569CD6"&gt;in&lt;/font&gt;&lt;font color="#ffffff"&gt;columns&lt;/font&gt;) {&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#569CD6"&gt;string&lt;/font&gt;&lt;font color="#ffffff"&gt;value&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;br /&gt;&lt;font color="#ffffff"&gt;item&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetType&lt;/font&gt;() &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetProperty&lt;/font&gt;( &lt;font color="#ffffff"&gt;column&lt;/font&gt;) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;GetValue&lt;/font&gt;( &lt;font color="#ffffff"&gt;item&lt;/font&gt;) &lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;ToString&lt;/font&gt;();&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;&lt;font color="#ffffff"&gt;cell5&lt;/font&gt;&lt;font color="#B4B4B4"&gt;=&lt;/font&gt;&lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;PdfPCell&lt;/font&gt;( &lt;font color="#569CD6"&gt;new&lt;/font&gt;&lt;font color="#4EC9B0"&gt;Phrase&lt;/font&gt;( &lt;font color="#ffffff"&gt;value&lt;/font&gt;,  &lt;font color="#ffffff"&gt;rowfont&lt;/font&gt;));&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;&lt;font color="#ffffff"&gt;table&lt;/font&gt;&lt;font color="#B4B4B4"&gt;.&lt;/font&gt;&lt;font color="#ffffff"&gt;AddCell&lt;/font&gt;( &lt;font color="#ffffff"&gt;cell5&lt;/font&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0.2in; border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;document&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Add&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;(&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;table&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;); &lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;document&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#B4B4B4"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;.&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#ffffff"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Close&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;font color="#DCDCDC"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;();&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Once the process id done the pdf table is added to the document and document is closed to write all the changes to the filepath given. Then the control moves to the controller which will take care of sending the response as a JSON result with a filename. If the file name is not given then the PDF will open in the same page otherwise a popup will open up asking whether to save the file or open file.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;table bgcolor="#000000" border="0" cellpadding="2" cellspacing="0" width="549"&gt;&lt;col width="545" /&gt;&lt;tr&gt;&lt;td valign="top" width="545"&gt;&lt;p style="border: 1px solid #000000; padding: 0.02in 0.07in"&gt; &lt;font color="#569CD6"&gt;&lt;font face="Consolas"&gt;&lt;font size="2" style="font-size: 9pt"&gt;&lt;span style="background: #000000"&gt;Return  &lt;font color="#ffffff"&gt;File&lt;/font&gt;&lt;font color="#DCDCDC"&gt;(&lt;/font&gt;&lt;font color="#ffffff"&gt;filePath&lt;/font&gt;&lt;font color="#DCDCDC"&gt;, &lt;/font&gt;&lt;font color="#D69D85"&gt;“application/pdf”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;,&lt;/font&gt;&lt;font color="#D69D85"&gt;“list.pdf”&lt;/font&gt;&lt;font color="#DCDCDC"&gt;);&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p style=";text-align:left"&gt; &lt;font color="#666666"&gt; &lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;The final result screen is shown below.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;PDF file opened below to show the output.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;Conclusion:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="font-style: normal; font-weight: normal;text-align:left"&gt; &lt;font color="#666666"&gt;&lt;font face="Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="1" style="font-size: 8pt"&gt;This is how the export pdf is done for JQGrid. The problem area that is addressed here is the clientside grid frameworks won’t support PDF’s export. In that time it’s better to have a fine grained control over the data and generated PDF. iTextSharp has helped us to achieve our goal.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;&lt;p style="margin-bottom: 0in"&gt; &lt;br /&gt; &lt;/p&gt;&lt;br clear="left" /&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/thanigai/aggbug/153151.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/i7aY3STb0t0" height="1" width="1"/&gt;</description><dc:creator>thanigai</dc:creator><feedburner:origLink>http://geekswithblogs.net/thanigai/archive/2013/06/17/jqgrdi-pdf-export.aspx</feedburner:origLink></item><item><title>IIS 7&amp;rsquo;s Sneaky Secret to Get COM-InterOp to Run</title><category>C#</category><category>COM-InterOp</category><category>Integration</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/KaGE9DHQueU/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx</link><pubDate>Mon, 17 Jun 2013 08:36:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DavidHoerster/archive/2013/06/17/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx</guid><wfw:comment>http://geekswithblogs.net/DavidHoerster/comments/153148.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DavidHoerster/comments/commentRss/153148.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DavidHoerster/archive/2013/06/17/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DavidHoerster/services/trackbacks/153148.aspx</trackback:ping><source url="http://geekswithblogs.net/DavidHoerster/rss.aspx">The Reluctant Blogger</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/DavidHoerster/archive/2013/06/17/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx'&gt;http://geekswithblogs.net/DavidHoerster/archive/2013/06/17/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;If you’re like me, you don’t really do a lot with COM components these days.  For me, I’ve been ‘lucky’ to stay in the managed world for the past 6 or 7 years.&lt;/p&gt;  &lt;p&gt;Until last week.&lt;/p&gt;  &lt;p&gt;I’m running a project to upgrade a web interface to an older COM-based application.  The old web interface is all classic ASP and lots of tables, in-line styles and a bunch of other late 90’s and early 2000’s goodies.  So in addition to updating the UI to be more modern looking and responsive, I decided to give the server side an update, too.  So I built some COM-InterOp DLL’s (easily through VS2012’s Add Reference feature…nothing new here) and built a test console line app to make sure the COM DLL’s were actually built according to the COM spec.  There’s a document management system that I’m thinking of whose COM DLLs were not proper COM DLLs and crashed and burned every time .NET tried to call them through a COM-InterOp layer.&lt;/p&gt;  &lt;p&gt;Anyway, my test app worked like a champ and I felt confident that I could build a nice façade around the COM DLL’s and wrap some functionality internally and only expose to my users/clients what they really needed.&lt;/p&gt;  &lt;p&gt;So I did this, built some tests and also built a test web app to make sure everything worked great.  It did.  It ran fine in IIS Express via Visual Studio 2012, and the timings were very close to the pure Classic ASP calls, so there wasn’t much overhead involved going through the COM-InterOp layer.&lt;/p&gt;  &lt;p&gt;You know where this is going, don’t you?&lt;/p&gt;  &lt;p&gt;So I deployed my test app to a DEV server running IIS 7.5.  When I went to my first test page that called the COM-InterOp layer, I got this pretty message:&lt;/p&gt;  &lt;p&gt;&lt;i&gt;Retrieving the COM class factory for component with CLSID {81C08CAE-1453-11D4-BEBC-00500457076D} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;It worked as a console app and while running under IIS Express, so it must be permissions, right?  I gave every account I could think of all sorts of COM+ rights and nothing, nada, zilch!&lt;/p&gt;  &lt;p&gt;Then I came across &lt;a href="http://www.experts-exchange.com/Software/Server_Software/Web_Servers/Microsoft_IIS/Q_27456679.html" target="_blank"&gt;this question&lt;/a&gt; on Experts Exchange, and at the bottom of the page, someone mentioned that the app pool should be running to allow 32-bit apps to run.  Oh yeah, my machine is 64-bit; these COM DLL’s I’m using are old and are definitely 32-bit.  I didn’t check for that and didn’t even think about that.  But I went ahead and looked at the app pool that my web site was running under and what did I see?  Yep, select your app pool in IIS 7.x, click on Advanced Settings and check for “Enable 32-bit Applications”.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/davidhoerster/Windows-Live-Writer/f291c19bc825_D5DC/image_4.png" rel="lightbox"&gt;&lt;img title="image" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/davidhoerster/Windows-Live-Writer/f291c19bc825_D5DC/image_thumb_1.png" width="423" height="439" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I went ahead and set it to &lt;strong&gt;True&lt;/strong&gt; and my test application suddenly worked.&lt;/p&gt;  &lt;p&gt;Hope this helps somebody out there from pulling out your hair.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/DavidHoerster/aggbug/153148.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/KaGE9DHQueU" height="1" width="1"/&gt;</description><dc:creator>David Hoerster</dc:creator><feedburner:origLink>http://geekswithblogs.net/DavidHoerster/archive/2013/06/17/iis-7rsquos-sneaky-secret-to-get-com-interop-to-run.aspx</feedburner:origLink></item><item><title>Announcement: Employee Info Starter Kit (v6.0–ASP.NET MVC Edition) is Released</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/SYjKwK-IXGA/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx</link><pubDate>Sun, 16 Jun 2013 04:07:37 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/joycsharp/archive/2013/06/16/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx</guid><wfw:comment>http://geekswithblogs.net/joycsharp/comments/153139.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/joycsharp/comments/commentRss/153139.aspx</wfw:commentRss><comments>http://geekswithblogs.net/joycsharp/archive/2013/06/16/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/joycsharp/services/trackbacks/153139.aspx</trackback:ping><source url="http://geekswithblogs.net/joycsharp/rss.aspx">.NETTER Characters...</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/joycsharp/archive/2013/06/16/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx'&gt;http://geekswithblogs.net/joycsharp/archive/2013/06/16/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;After a long wait, the next version of Employee Info Starter Kit is released! This starter kit is basically a project template that contains code samples targeting a specific technology, such as ASP.NET Web Form, ASP.NET MVC etc. &lt;/p&gt;  &lt;p&gt;Since its first release, this open source project gained a huge popularity in the developer community and had 250K+ combined downloads. This starter kit is honored to be placed at the &lt;a href="http://www.asp.net/web-forms/samples" target="_blank"&gt;official ASP.NET site&lt;/a&gt;, along with other asp.net starter kits, which all are being considered as the “best” ASP.NET coding standards, recommended by Microsoft. EISK is showcased in Microsoft’s &lt;a href="http://channel9.msdn.com/Shows/This+Week+On+Channel+9/TWC9-New-Mix-Sessions-announced-dissecting-IE9-Performance-Azure-Toolkit-for-WP7" target="_blank"&gt;Channel 9’s Weekly Show&lt;/a&gt;, as well.&lt;/p&gt;  &lt;p&gt;The &lt;a href="https://eisk.codeplex.com/releases/view/82905" target="_blank"&gt;ASP.NET MVC Edition of the new version&lt;/a&gt; 6.0 bundles most of the greatest and successful platforms, frameworks and technologies together, to enable web developers to learn and build manageable and high performance web applications with rich user experience effectively and quickly.&lt;/p&gt;  &lt;h5&gt;User End Specifications&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Creating a new employee record &lt;/li&gt;    &lt;li&gt;Read existing employee records &lt;/li&gt;    &lt;li&gt;Update an existing employee record &lt;/li&gt;    &lt;li&gt;Delete existing employee records &lt;/li&gt;    &lt;li&gt;Role based security model &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;Key Technology Areas&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;ASP.NET MVC 4 &lt;/li&gt;    &lt;li&gt;Entity Framework 4.3.1 &lt;/li&gt;    &lt;li&gt;Sql Server Compact Edition 4 &lt;/li&gt;    &lt;li&gt;Visual Studio 2012 &lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;QuickStart Guide&lt;/h5&gt;  &lt;p&gt;   &lt;br /&gt;Getting started with EISK 6.0 ASP.NET is pretty easy. Once you've Visual Studio 2012 installed, then just follow the steps as provided below:&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;img src="http://weblogs.asp.net/blogs/ashraful/image_28DA2EC0.png" /&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Download the &lt;a href="http://eisk.codeplex.com/releases/view/82905#DownloadId=346822"&gt;EISK 6.0 MVC&lt;/a&gt; version. &lt;/li&gt;    &lt;li&gt;Extract the file. From the extracted folder, click the solution file "Eisk.MVC-VS2012.sln". Right click the "Eisk.MVC" project node and select "Select set as StartUp Project". &lt;/li&gt;    &lt;li&gt;Hit Ctrl+F5 and explore! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/ashraful/image_5E0E85DB.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="image" src="http://weblogs.asp.net/blogs/ashraful/image_thumb_428983D8.png" width="329" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Architectural Overview&lt;/h5&gt;  &lt;ul&gt;   &lt;li&gt;Overall architecture is based on Model-View-Controller pattern &lt;/li&gt;    &lt;li&gt;Support for desktop &amp;amp; mobile browsers. &lt;/li&gt;    &lt;li&gt;Usage of Domain Model, Repository and Unit of Work pattern from Domain Driven Development approach &lt;/li&gt;    &lt;li&gt;Usage of Data Annotations in model (entity) classes to centralize basic validation mechanism that facilitates DRY principle &lt;/li&gt;    &lt;li&gt;Usage of IValidatableObject interface in model (entity) classes that isolates custom business logic from application layer &lt;/li&gt;    &lt;li&gt;Usage of OOP inheritance and Value Object pattern in model (entity) classes that provides reusability in application architecture &lt;/li&gt;    &lt;li&gt;Usage of View Model, Editor Model pattern that provides mechanism for testable view rendering logic &lt;/li&gt;    &lt;li&gt;Several helper classes and extension methods to enable developers build application with reduced code &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;   &lt;br /&gt;If you want to learn more about it in details, just check the following links:&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://eisk.codeplex.com/wikipage?title=v6.0%20-%20ASP.NET%20MVC%20Edition%3a%20Getting%20Started"&gt;Getting Started&lt;/a&gt; - &lt;a href="http://eisk.codeplex.com/wikipage?title=v6.0%20-%20ASP.NET%20MVC%20Edition%3a%20Hands%20on%20Coding%20Walk%20through"&gt;Hands on Coding Walkthrough&lt;/a&gt; – &lt;a href="http://eisk.codeplex.com/wikipage?title=v6.0%20-%20ASP.NET%20MVC%20Edition%3a%20Technologies"&gt;Technology Stack&lt;/a&gt; - &lt;a href="http://eisk.codeplex.com/wikipage?title=v6.0%20-%20ASP.NET%20MVC%20Edition%3a%20Architectural%20Reference"&gt;Design &amp;amp; Architecture&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/joycsharp/aggbug/153139.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/SYjKwK-IXGA" height="1" width="1"/&gt;</description><dc:creator>Mohammad Ashraful Alam</dc:creator><feedburner:origLink>http://geekswithblogs.net/joycsharp/archive/2013/06/16/announcement-employee-info-starter-kit-v6.0asp.net-mvc-edition-is-released.aspx</feedburner:origLink></item><item><title>LINQ to Twitter Maintenance Feedback</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-0cZkBbXrZc/linq-to-twitter-maintenance-feedback.aspx</link><pubDate>Sun, 16 Jun 2013 07:43:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/153144.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/153144.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/153144.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Joe Mayo</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspx'&gt;http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;It’s always fun to receive positive feedback on your work. If you receive a sufficient amount of positive feedback, you know you’re doing something right. Sometimes, people provide negative feedback too. There are a couple ways to handle it: come back fighting or engage for clarification. The way you handle the negative feedback depends on what your goals are.&lt;/p&gt;  &lt;h4&gt;Feedback Approaches&lt;/h4&gt;  &lt;p&gt;If you know the feedback is incorrect and you need to promote your idea or product, you might want to come back fighting. The feedback might just be comments by a troll or competitor wanting to spread FUD. However, this could be the totally wrong approach if you misjudge the source and intentions of the feedback.&lt;/p&gt;  &lt;p&gt;In a lot of cases, feedback is a golden opportunity. Sometimes, a problem exists that you either don’t know about or don’t realize the true impact of the problem. If you decide to come back fighting, you might loose the opportunity to learn something new. However, if you engage the person providing the feedback, looking for clarification, you might learn something very important. Negative feedback and it’s clarification can lead to the collection of useful and actionable data.&lt;/p&gt;  &lt;p&gt;In my case, something that prompted this blog post, I noticed someone who tweeted a negative comment about &lt;a href="http://linqtotwitter.codeplex.com/" target="_blank"&gt;LINQ to Twitter&lt;/a&gt;. Normally, any less than stellar comments are usually from folks that need help – so I help if I can. This was different. I was like “Don’t use LINQ to Twitter”. This is an open source project, the comment didn’t come from a competing project, and  sounded more like an expression of frustration. So I engaged. Not only did the person respond, but I got some decent quality feedback. What’s also interesting is a couple other side conversations sprouted on the subject, which gave me more useful data.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="https://twitter.com/cdeutsch/status/346322575619678208" target="_blank"&gt;LINQ to Twitter Thread&lt;/a&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Actions&lt;/h4&gt;  &lt;p&gt;Essentially, this particular issue centered around maintenance. There are actually several sub-issues at play here: dependencies, error handling, debugging, and visibility. I’ll describe each one and my interpretation.&lt;/p&gt;  &lt;h4&gt;Dependencies&lt;/h4&gt;  &lt;p&gt;Dependencies are where a library has references to other libraries. This means that when you build your application, you need DLLs for the entire dependency graph for your application. There are several potential problems with this that include more libraries for configuration management, potential versioning mismatches, and lack of cross-platform support. &lt;/p&gt;  &lt;p&gt;In the early days of LINQ to Twitter, I allowed developers to contribute and add dependencies, but it became very problematic (for reasons stated). It was like a ball and chain that kept me from moving forward. So, I refactored and pulled other open-source into my project to eliminate external dependencies. This lets me fix the code in my project without relying on someone else to upgrade or fix their DLL. The motivation for this was from early negative feedback that translated as important data and acted on it. Today, LINQ to Twitter has zero dependencies.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Note: Rejecting good code from community members who worked hard to make your project better is a painful experience in itself. I have to point out that any contribution was not in vain because they had a positive influence on my subsequent refactoring that resulted in a better developer experience.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Error Handling&lt;/h4&gt;  &lt;p&gt;Error handling has been a problem in the past. I have this combination of supporting both synchronous and asynchronous (APM) processing that can be complex at times. Within the last 6 months, I did a fair amount of refactoring to detect errors and process them properly. I also refactored TwitterQueryException so it includes important data from Twitter. During this refactoring, I’ve made breaking changes that I felt would improve the development experience (small things like renaming a callback property to Exception, rather than Error). I think the async error handling is much better than it was a year ago. &lt;/p&gt;  &lt;p&gt;For all the work I’ve done, there is more to do. I think that a combination of more error handling support, e.g. improving semantics, and education through documentation and samples will improve the error handling story. Because of what I’ve done so far, it isn’t bad, but I see opportunities for improvement.&lt;/p&gt;  &lt;h4&gt;Debugging&lt;/h4&gt;  &lt;p&gt;Debugging can be painful. Here’s why: you have multiple layers of technology to navigate and figure out where the real problem is – Twitter API, Security, HTTP, LINQ to Twitter, and application. You can probably add your own nuances to that list, but the point is that debugging in this environment can be complex. &lt;/p&gt;  &lt;p&gt;I think that my plans for error handling will contribute to making the debugging process easier. However, there’s more I can do in the way of documentation and guidance. Some of the questions to be answered revolve around when something goes wrong, how does the developer figure out that there is a problem, what the problem is, and what to do about it. &lt;/p&gt;  &lt;p&gt;One example that has gone a long way to helping LINQ to Twitter developers is the 401 FAQ. A 401 Unauthorized is the error that the Twitter API returns when a use isn’t able to authenticate and is one of the most difficult problems faced by LINQ to Twitter developers. What I did was read guidance from Twitter and collect techniques from my own development and actions helping other developers to compile an extensive list of reasons for the 401 and ways to fix the problem. At one time, over half of the questions I answered in the forums were to help solve 401 issues. After publishing the 401 FAQ, I rarely get a 401 question and it’s because the person didn’t know about the FAQ. If the person is too lazy to read the FAQ, that’s not my issue, but the results in support issues have been dramatic. &lt;/p&gt;  &lt;p&gt;I think debugging can benefit from the education and documentation approach, but I’m always open to suggestions on whatever else I can do.&lt;/p&gt;  &lt;h4&gt;Visibility&lt;/h4&gt;  &lt;p&gt;Visibility is a nuance of the error handling/debugging discussion but is deeply rooted in comfort and control. The questions to ask in this area are what is happening as my code runs and how testable is the code. &lt;/p&gt;  &lt;p&gt;In support of these areas, LINQ to Twitter does have logging and TwitterContext properties that help see what’s happening on requests. The logging functionality allows any developer to connect a TextWriter to the Log property of TwitterContext to see what’s happening. Further, TwitterContext has a Headers property to see the headers Twitter returns and a RawResults property to show the Json string Twitter returns. From a testing perspective, I’ve been able to write hundreds of unit tests, over 600 when this post is published, and growing. &lt;/p&gt;  &lt;p&gt;If you write your own library, you have full control over all of these aspects. The tradeoff here is that while you have access to the LINQ to Twitter source code and modify it for all the visibility, LINQ to Twitter *will* change (which is good) and you will have to figure out how to merge that with your changes (which is hard). The fact is that this is a limitation of any 3rd party library, not just LINQ to Twitter. So, it’s a design decision where the tradeoff is between control and productivity. &lt;/p&gt;  &lt;p&gt;That said, there are things I can do with LINQ to Twitter to make the visibility story more compelling. I think there are opportunities to improve diagnostics. This would be a ton of work because it would need to provide multi-level logging that can be tuned for production and support any logging provider you want to attach. I’ve considered approaches such as how the new Semantic Logging application block connects to Windows Error Reporting as a potential target. Whatever I do would need to be extensible without creating native external dependencies. e.g. how many 3rd party libraries force a dependency on a logging framework that you don’t use. So, this won’t be an easy feat, but I believe it can be part of the roadmap. &lt;/p&gt;  &lt;p&gt;I think that a lot of developers are unaware of existing visibility features, so the first step would be to provide more documentation and guidance. My thought are that this would lead to more feedback that will help improve this area.&lt;/p&gt;  &lt;h4&gt;Summary&lt;/h4&gt;  &lt;p&gt;Recent feedback highlights some of items that are important to LINQ to Twitter developers, such as dependencies, error handling, debugging, and visibility. I know that there are maintenance issues that have been problems for LINQ to Twitter developers in the past. I’ve done a lot of work in this area, such as improving error handling, adding visibility features, and providing extensive API documentation. That said, there is more to be done to make LINQ to Twitter the best Twitter API experience available for .NET developers and I welcome anyone’s thoughts on what I’ve written here or new improvements.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/153144.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-0cZkBbXrZc" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2013/06/16/linq-to-twitter-maintenance-feedback.aspx</feedburner:origLink></item><item><title>Data Binding to Attached Properties </title><category>.NET</category><category>C#</category><category>Windows Phone</category><category>Win8</category><category>WinRT</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/x5R0t84vksk/data-binding-to-attached-properties.aspx</link><pubDate>Fri, 14 Jun 2013 08:17:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/freestylecoding/archive/2013/06/14/data-binding-to-attached-properties.aspx</guid><wfw:comment>http://geekswithblogs.net/freestylecoding/comments/153138.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/freestylecoding/comments/commentRss/153138.aspx</wfw:commentRss><comments>http://geekswithblogs.net/freestylecoding/archive/2013/06/14/data-binding-to-attached-properties.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/freestylecoding/services/trackbacks/153138.aspx</trackback:ping><source url="http://geekswithblogs.net/freestylecoding/rss.aspx">Freestyle Coding</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/freestylecoding/archive/2013/06/14/data-binding-to-attached-properties.aspx'&gt;http://geekswithblogs.net/freestylecoding/archive/2013/06/14/data-binding-to-attached-properties.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;
When I was working on my C#/XAML game framework, I discovered I wanted to try to data bind my sprites to background objects. That way, I could update my objects and the draw functionality would take care of the work for me. After a little experimenting and web searching, it appeared this concept was an impossible dream.
&lt;/p&gt;
&lt;p&gt;
Of course, when has that ever stopped me?
&lt;/p&gt;
&lt;p&gt;
In my typical way, I started to massively dive down the rabbit hole. I created a sprite on a canvas, and I bound it to a background object.
&lt;/p&gt;
&lt;div class="code xml"&gt;
	&lt;div class="line"&gt;&lt;span class="markup"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;Canvas&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Name&lt;/span&gt;&lt;span class="value"&gt;="GameField"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Background&lt;/span&gt;&lt;span class="value"&gt;="Black"&lt;/span&gt;&lt;/span&gt;&lt;span class="markup"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
	&lt;div class="indent"&gt;
		&lt;div class="line"&gt;&lt;span class="markup"&gt;&amp;lt;&lt;/span&gt;&lt;span class="tag"&gt;Image&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Name&lt;/span&gt;&lt;span class="value"&gt;="PlayerStrite"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Source&lt;/span&gt;&lt;span class="value"&gt;="Assets/Ship.png"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Width&lt;/span&gt;&lt;span class="value"&gt;="50"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Height&lt;/span&gt;&lt;span class="value"&gt;="50"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Canvas.Left&lt;/span&gt;&lt;span class="value"&gt;="{Binding X}"&lt;/span&gt;&lt;/span&gt; &lt;span class="block"&gt;&lt;span class="attribute"&gt;Canvas.Top&lt;/span&gt;&lt;span class="value"&gt;="{Binding Y}"&lt;/span&gt;&lt;/span&gt;&lt;span class="markup"&gt;/&amp;gt;&lt;/span&gt;&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class="line"&gt;&lt;span class="markup"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="tag"&gt;Canvas&lt;/span&gt;&lt;span class="markup"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Now, we wire the UI item to the background item.
&lt;/p&gt;
&lt;div class="code csharp"&gt;
&lt;div class="line"&gt;&lt;span class="keyword"&gt;public&lt;/span&gt; MainPage() {&lt;/div&gt;
&lt;div class="indent"&gt;
	&lt;div class="line"&gt;&lt;span class="keyword"&gt;this&lt;/span&gt;.InitializeComponent();&lt;/div&gt;
	&lt;div class="line"&gt;&lt;span class="keyword"&gt;this&lt;/span&gt;.Loaded += StartGame;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line"&gt;}&lt;/div&gt;
&lt;div class="line"&gt; &lt;/div&gt;
&lt;div class="line"&gt;&lt;span class="keyword"&gt;void&lt;/span&gt; StartGame( &lt;span class="keyword"&gt;object&lt;/span&gt; sender, &lt;span class="class"&gt;RoutedEventArgs&lt;/span&gt; e ) {&lt;/div&gt;
&lt;div class="indent"&gt;
	&lt;div class="line"&gt;&lt;span class="class"&gt;BindingPlayer&lt;/span&gt; _Player = &lt;span class="keyword"&gt;new&lt;/span&gt; &lt;span class="class"&gt;BindingPlayer&lt;/span&gt;();&lt;/div&gt;
	&lt;div class="line"&gt;_Player.X = &lt;span class="class"&gt;Window&lt;/span&gt;.Current.Bounds.Height - PlayerSprite.Height;&lt;/div&gt;
	&lt;div class="line"&gt;_Player.X = ( &lt;span class="class"&gt;Window&lt;/span&gt;.Current.Bounds.Width - PlayerSprite.Width ) / 2.0;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="line"&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Of course, now we need to actually have our background object.
&lt;/p&gt;
&lt;div class="code csharp"&gt;
	&lt;div class="line"&gt;&lt;span class="keyword"&gt;public class&lt;/span&gt; &lt;span class="class"&gt;BindingPlayer&lt;/span&gt; : &lt;span class="class"&gt;INotifyPropertyChanged&lt;/span&gt; {&lt;/div&gt;
	&lt;div class="indent"&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;private double&lt;/span&gt; m_X;&lt;/div&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;public double&lt;/span&gt; X {&lt;/div&gt;
		&lt;div class="indent"&gt;
			&lt;div class="line"&gt;&lt;span class="keyword"&gt;get&lt;/span&gt; { &lt;span class="keyword"&gt;return&lt;/span&gt; m_X; }&lt;/div&gt;
			&lt;div class="line"&gt;&lt;span class="keyword"&gt;set&lt;/span&gt; {&lt;/div&gt;
			&lt;div class="indent"&gt;
				&lt;div class="line"&gt;m_X = &lt;span class="keyword"&gt;value&lt;/span&gt;;&lt;/div&gt;
				&lt;div class="line"&gt;NotifyPropertyChanged();&lt;/div&gt;
			&lt;/div&gt;
			&lt;div class="line"&gt;}&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class="line"&gt;}&lt;/div&gt;
		&lt;div class="line"&gt; &lt;/div&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;private double&lt;/span&gt; m_Y;&lt;/div&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;public double&lt;/span&gt; Y {&lt;/div&gt;
		&lt;div class="indent"&gt;
			&lt;div class="line"&gt;&lt;span class="keyword"&gt;get&lt;/span&gt; { &lt;span class="keyword"&gt;return&lt;/span&gt; m_Y; }&lt;/div&gt;
			&lt;div class="line"&gt;&lt;span class="keyword"&gt;set&lt;/span&gt; {&lt;/div&gt;
			&lt;div class="indent"&gt;
				&lt;div class="line"&gt;m_Y = &lt;span class="keyword"&gt;value&lt;/span&gt;;&lt;/div&gt;
				&lt;div class="line"&gt;NotifyPropertyChanged();&lt;/div&gt;
			&lt;/div&gt;
			&lt;div class="line"&gt;}&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class="line"&gt;}&lt;/div&gt;
		&lt;div class="line"&gt; &lt;/div&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;public event&lt;/span&gt; &lt;span class="class"&gt;PropertyChangedEventHandler&lt;/span&gt; PropertyChanged;&lt;/div&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;protected void&lt;/span&gt; NotifyPropertyChanged( [&lt;span class="class"&gt;CallerMemberName&lt;/span&gt;] &lt;span class="keyword"&gt;string&lt;/span&gt; p_PropertyName = &lt;span class="keyword"&gt; null&lt;/span&gt; ) {&lt;/div&gt;
		&lt;div class="indent"&gt;
			&lt;div class="line"&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;( PropertyChanged != &lt;span class="keyword"&gt;null&lt;/span&gt; )&lt;/div&gt;
			&lt;div class="indent"&gt;
				&lt;div class="line"&gt;PropertyChanged( &lt;span class="keyword"&gt;this&lt;/span&gt;, &lt;span class="keyword"&gt;new&lt;/span&gt; &lt;span class="class"&gt;PropertyChangedEventArgs&lt;/span&gt;( p_PropertyName ) );&lt;/div&gt;
			&lt;/div&gt;
		&lt;/div&gt;
		&lt;div class="line"&gt;}&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class="line"&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
I fired this baby up, and my sprite was correctly positioned on the screen. Maybe the sky wasn't falling after all.
&lt;/p&gt;
&lt;p&gt;
Wouldn't it be great if that was the case?
&lt;/p&gt;
&lt;p&gt;
I created some code to allow me to move the sprite, but nothing happened. This seems odd. So, I start debugging the application and stepping through code. Everything appears to be working. Time to dig a little deeper.
&lt;/p&gt;
&lt;p&gt;
After much profanity was spewed, I stumbled upon a breakthrough. The code only looked like it was working. What was really happening is that there was an exception being thrown in the background thread that I never saw. Apparently, the key call was the one to PropertyChanged. If PropertyChanged is not called on the UI thread, the UI thread ignores the call.
&lt;/p&gt;
&lt;p&gt;
Actually, it throws an exception and the background thread silently crashes. Of course, you'll never see this unless you're looking REALLY carefully.
&lt;/p&gt;
&lt;p&gt;
This seemed to be a simple problem. I just need to marshal this to the UI thread. Unfortunately, this object has no knowledge of this mythical UI Thread in which we speak. So, I had to pull the UI Thread out of thin air.
&lt;/p&gt;
&lt;p&gt;
Let's change our PropertyChanged call to look this.
&lt;/p&gt;
&lt;div class="code csharp"&gt;
	&lt;div class="line"&gt;&lt;span class="keyword"&gt;public event&lt;/span&gt; &lt;span class="class"&gt;PropertyChangedEventHandler&lt;/span&gt; PropertyChanged;&lt;/div&gt;
	&lt;div class="line"&gt;&lt;span class="keyword"&gt;protected void&lt;/span&gt; NotifyPropertyChanged( [&lt;span class="class"&gt;CallerMemberName&lt;/span&gt;] &lt;span class="keyword"&gt;string&lt;/span&gt; p_PropertyName = &lt;span class="keyword"&gt; null&lt;/span&gt; ) {&lt;/div&gt;
	&lt;div class="indent"&gt;
		&lt;div class="line"&gt;&lt;span class="keyword"&gt;if&lt;/span&gt;( PropertyChanged != &lt;span class="keyword"&gt;null&lt;/span&gt; )&lt;/div&gt;
		&lt;div class="indent"&gt;
			&lt;div class="line"&gt;Windows.ApplicationModel.Core.&lt;span class="class"&gt;CoreApplication&lt;/span&gt;.MainView.CoreWindow.Dispatcher.RunAsync( Windows.UI.Core.&lt;span class="class"&gt;CoreDispatcherPriority&lt;/span&gt;.Normal, new Windows.UI.Core.&lt;span class="class"&gt;DispatchedHandler&lt;/span&gt;( () =&amp;gt; {&lt;/div&gt;
			&lt;div class="indent"&gt;
				&lt;div class="line"&gt;PropertyChanged( &lt;span class="keyword"&gt;this&lt;/span&gt;, &lt;span class="keyword"&gt;new&lt;/span&gt; &lt;span class="class"&gt;PropertyChangedEventArgs&lt;/span&gt;( p_PropertyName ) );&lt;/div&gt;
			&lt;/div&gt;
			&lt;div class="line"&gt;} ) );&lt;/div&gt;
		&lt;/div&gt;
	&lt;/div&gt;
	&lt;div class="line"&gt;}&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Now, we raised our notification on the UI thread. Everything is fine, people are happy, and the world moves on.
&lt;/p&gt;
&lt;p&gt;
You may have noticed that I didn't await my call to the dispatcher. This was intentional. If I am trying to update a slew of sprites, I don't want thread being hung while I wait my turn. Thus, I send the message and move on.
&lt;/p&gt;
&lt;p&gt;
It is worth nothing that this is NOT the most efficient way to do this for game programming. We'll get to that in another blog post. However, it is perfectly acceptable for a business app that is running a background task that would like to notify the UI thread of progress on a periodic basis.
&lt;/p&gt;
&lt;p&gt;It is worth noting that this code was written for a Windows Store App. You can do the same thing with WP8 and WPF. The call to the marshaler changes, but it is the same idea.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/freestylecoding/aggbug/153138.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/x5R0t84vksk" height="1" width="1"/&gt;</description><dc:creator>Chris Gardner</dc:creator><feedburner:origLink>http://geekswithblogs.net/freestylecoding/archive/2013/06/14/data-binding-to-attached-properties.aspx</feedburner:origLink></item><item><title>NDC Oslo</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/6uP0ewoSwqo/153136.aspx</link><pubDate>Fri, 14 Jun 2013 07:20:58 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/asmith/archive/2013/06/14/153136.aspx</guid><wfw:comment>http://geekswithblogs.net/asmith/comments/153136.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/asmith/comments/commentRss/153136.aspx</wfw:commentRss><comments>http://geekswithblogs.net/asmith/archive/2013/06/14/153136.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/asmith/services/trackbacks/153136.aspx</trackback:ping><source url="http://geekswithblogs.net/asmith/rss.aspx">CloudCasts Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/asmith/archive/2013/06/14/153136.aspx'&gt;http://geekswithblogs.net/asmith/archive/2013/06/14/153136.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;2013 has been a hectic year for conference presentations so far, &lt;a href="http://www.ndcoslo.com/" target="_blank"&gt;NDC in Oslo&lt;/a&gt; has been the 6th conference I have attended, and my session there was my 11th conference presentation this year. I have been meaning to make the short trip over from Stockholm to NDC for a few years, and this was the first time I made it. I have heard a lot of great things about the event, and was impressed with the location, the sessions, and most of all the atmosphere around the event boots and during the party on Thursday evening.&lt;/p&gt;  &lt;p&gt;The session I was delivering was my “Grid Computing with 256 Windows Azure Worker Roles &amp;amp; Kinect” demo, which I have delivered at many events over the past 12 months. The demo went fine. I’m always a little nervous when I try to scale out the application to 256 worker roles, it almost always works well and the application will scale in minutes, but very occasionally there can be a longer delay due to the provisioning process in the Windows Azure data centers. This would not be an issue for many scenarios, but when standing on stage in front of a room full of developers you really want things to run smoothly.&lt;/p&gt;  &lt;p&gt;A number of people have suggested that I should pre-provision an environment so that it is guaranteed to be there when I run the demo during a session. For me the aim has always been to show the rapid scalability on cloud-based platforms live on stage. Pre-provisioning an environment may make for a more reliable demo but to me that would be cheating, and not half as much fun!&lt;/p&gt;  &lt;video controls="controls" src="https://renderlabmedia.blob.core.windows.net/asset-4e16e8fb-7495-4a4c-a159-08de4e46e7c3/2520311022520742323.mp4?sv=2012-02-12&amp;amp;st=2013-06-14T08%3A45%3A58Z&amp;amp;se=2014-06-14T08%3A45%3A58Z&amp;amp;sr=c&amp;amp;si=813d868d-ca86-427d-a7c6-b28ed5ebe2be&amp;amp;sig=vjenN3SLZjQB7fGmFk3KhCe1rhBRykS4HRd%2B8EFEjXw%3D" /&gt; &lt;img src="http://geekswithblogs.net/asmith/aggbug/153136.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/6uP0ewoSwqo" height="1" width="1"/&gt;</description><dc:creator>Alan Smith</dc:creator><feedburner:origLink>http://geekswithblogs.net/asmith/archive/2013/06/14/153136.aspx</feedburner:origLink></item><item><title>Yet Another &amp;ldquo;Why Waterfall Doesn&amp;rsquo;t Work&amp;rdquo; Post</title><category>Architecture</category><category>Design</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/tN0uE2yFe-U/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx</link><pubDate>Fri, 14 Jun 2013 01:25:36 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2013/06/14/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/153137.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/153137.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2013/06/14/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/153137.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Tim Murphy's .NET Software Architecture Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/tmurphy/archive/2013/06/14/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx'&gt;http://geekswithblogs.net/tmurphy/archive/2013/06/14/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Yet-Another-Why-Waterfall-Doesnt-Work-Po_B847/WP_20130611_001_1_2.jpg" rel="lightbox"&gt;&lt;img title="WP_20130611_001_1" style="border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px" border="0" alt="WP_20130611_001_1" src="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Yet-Another-Why-Waterfall-Doesnt-Work-Po_B847/WP_20130611_001_1_thumb.jpg" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Lately I have been plunged back into an extreme waterfall project and it is eating away at my soul.  Don’t get me wrong.  I don’t really believe in a soul and I have never done a text book agile project, but the longer I’m on this project the more I feel like I’m in an infinite loop.  Document.  Review.  Document. Review.  At some point we may do some coding.&lt;/p&gt;  &lt;p&gt;The biggest problem with waterfall projects is that you can always add more detail to design documents.  I have actually seen some documentation which had pseudo code for almost every line that the developer needs to type.  Of course these are extreme cases, but they put a spotlight on the issue.&lt;/p&gt;  &lt;p&gt;All of this would be less costly to refactor as we code than it would be to continue to refine the design document.  A minimum of documentation to make sure we hit all the key requirements and make sure that the overall architecture is sound is really what a project needs.  Spend your time finding the problems by writing code instead of theorizing and discussing.&lt;/p&gt;  &lt;p&gt;Moral: Waterfalls are pretty to look at, not run projects with.&lt;/p&gt;  &lt;div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:174184d7-39d6-468b-b0b5-71fd9be08b17" class="wlWriterEditableSmartContent" style="float: none; padding-bottom: 0px; padding-top: 0px; padding-left: 0px; margin: 0px; display: inline; padding-right: 0px"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Software+Architecture" rel="tag"&gt;Software Architecture&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Agile" rel="tag"&gt;Agile&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Waterfall" rel="tag"&gt;Waterfall&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/software+design" rel="tag"&gt;software design&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/153137.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/tN0uE2yFe-U" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2013/06/14/yet-another-ldquowhy-waterfall-doesnrsquot-workrdquo-post.aspx</feedburner:origLink></item><item><title>Preparing For BUILD 2013</title><category>BUILD</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/s5JhCJB6oQk/preparing-for-build-2012.aspx</link><pubDate>Thu, 13 Jun 2013 09:14:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/tmurphy/archive/2013/06/13/preparing-for-build-2012.aspx</guid><wfw:comment>http://geekswithblogs.net/tmurphy/comments/153132.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/153132.aspx</wfw:commentRss><comments>http://geekswithblogs.net/tmurphy/archive/2013/06/13/preparing-for-build-2012.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/153132.aspx</trackback:ping><source url="http://geekswithblogs.net/tmurphy/rss.aspx">Tim Murphy's .NET Software Architecture Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/tmurphy/archive/2013/06/13/preparing-for-build-2012.aspx'&gt;http://geekswithblogs.net/tmurphy/archive/2013/06/13/preparing-for-build-2012.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Preparing-For-BUILD-2012_966B/logo-build-small_2.png" rel="lightbox"&gt;&lt;img width="244" height="244" title="logo-build-small" style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" alt="logo-build-small" src="https://gwb.blob.core.windows.net/tmurphy/Windows-Live-Writer/Preparing-For-BUILD-2012_966B/logo-build-small_thumb.png" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Going to conferences is a great way to keep up with the industry and recharge the batteries.  As of the writing of this post there are less than two weeks until the start of BUILD 2012.  While I haven’t been to BUILD before the other conferences that I have been to TechEd and Dev Connections in the past give me some expectations.  Normally I would be spending the last couple of weeks going through the session schedule to see which ones I want to attend.  BUILD is a little different.  It doesn’t look like we will get the session list until we get to the registration table so it is going to be a mystery meatloaf of technology.&lt;/p&gt;  &lt;p&gt;So what do we know?  Windows 8.1 is going to to take center stage.  Not only will the preview bits be available, but there should be plenty of sessions on what new and wonderful things we can build with it.  I expect that there will be a fair amount of Windows Phone sessions, but I haven’t seen any good rumors about the Blue release yet to have an idea what the focus will be.  What isn’t in an area that I have put any thought into is the new XBox One.  There are a lot of people who are hoping for XBox One development sessions.&lt;/p&gt;  &lt;p&gt;So what to bring with.  Win8 Laptop.  Windows Phone 8.  Lots of enthusiasm.  This is a week that is really going to rock.  See everyone there.&lt;/p&gt;  &lt;p&gt;   &lt;/p&gt;&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:9e6e8c4a-11e7-4a5b-9d33-2708dbeadd37" style="margin: 0px; padding: 0px; float: none; display: inline;"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/BUILD+2012" rel="tag"&gt;BUILD 2012&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/conferences" rel="tag"&gt;conferences&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+8.1" rel="tag"&gt;Windows 8.1&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone" rel="tag"&gt;Windows Phone&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/XBox+One" rel="tag"&gt;XBox One&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/153132.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/s5JhCJB6oQk" height="1" width="1"/&gt;</description><dc:creator>Tim Murphy</dc:creator><feedburner:origLink>http://geekswithblogs.net/tmurphy/archive/2013/06/13/preparing-for-build-2012.aspx</feedburner:origLink></item><item><title>Chainable Property Pattern</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/OL73DIoTvW8/chainable-property-pattern.aspx</link><pubDate>Thu, 13 Jun 2013 03:47:08 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/PhubarBaz/archive/2013/06/13/chainable-property-pattern.aspx</guid><wfw:comment>http://geekswithblogs.net/PhubarBaz/comments/153131.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/PhubarBaz/comments/commentRss/153131.aspx</wfw:commentRss><comments>http://geekswithblogs.net/PhubarBaz/archive/2013/06/13/chainable-property-pattern.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/PhubarBaz/services/trackbacks/153131.aspx</trackback:ping><source url="http://geekswithblogs.net/PhubarBaz/rss.aspx">Phubar Baz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/PhubarBaz/archive/2013/06/13/chainable-property-pattern.aspx'&gt;http://geekswithblogs.net/PhubarBaz/archive/2013/06/13/chainable-property-pattern.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Here's a pattern I use a lot to encapsulate properties in JavaScript objects. I call it the Chainable Property Pattern because it is used to define get/set operations for properties that can be chained together into one statement.
&lt;/p&gt;&lt;p&gt;We start with an object with a private variable.
&lt;/p&gt;&lt;p&gt;f&lt;span style="font-family:Courier New; font-size:10pt"&gt;unction MyObject()&lt;br /&gt;{&lt;br /&gt;    var count = 0;&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;Next we create a public property accessor method.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;    this.count = function(newCount)&lt;br /&gt;    {&lt;br /&gt;        if (arguments.length)&lt;br /&gt;        {&lt;br /&gt;            count = newCount;&lt;br /&gt;            return this;&lt;br /&gt;        }&lt;br /&gt;        return count;&lt;br /&gt;    }&lt;br /&gt;}
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Let's take a look at how this works. First we use &lt;strong&gt;arguments.length &lt;/strong&gt;to determine if a parameter was passed to the method. If so the user is setting the value of the property. So we set the private variable to the new value and return "this". Returning "this" is what allows us to chain calls together. If no variables were passed in the user wants to get the value of the property so we simply return its value.
&lt;/p&gt;&lt;p&gt;Now we can set and get the property like this:
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;var obj = new MyObject();&lt;br /&gt;obj.count(3); // set count to 3&lt;br /&gt;console.log(obj.count()); // get count&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;Now let's say we have an object with many different properties. We can set them all in one chained call.
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New; font-size:10pt"&gt;var obj = new MyObject().count(3).someOtherProperty(5);&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;Since every set property call returns a pointer to the object we can call the methods one after the other. We can even call them off the constructor and still get the new object's reference.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/PhubarBaz/aggbug/153131.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/OL73DIoTvW8" height="1" width="1"/&gt;</description><dc:creator>PhubarBaz</dc:creator><feedburner:origLink>http://geekswithblogs.net/PhubarBaz/archive/2013/06/13/chainable-property-pattern.aspx</feedburner:origLink></item><item><title>Ready? Steady? SCVMM!</title><category>SCVMM 2012</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/mGE41SwF6xU/ready-steady-scvmm.aspx</link><pubDate>Thu, 13 Jun 2013 02:57:28 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Wchrabaszcz/archive/2013/06/13/ready-steady-scvmm.aspx</guid><wfw:comment>http://geekswithblogs.net/Wchrabaszcz/comments/153128.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Wchrabaszcz/comments/commentRss/153128.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Wchrabaszcz/archive/2013/06/13/ready-steady-scvmm.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Wchrabaszcz/services/trackbacks/153128.aspx</trackback:ping><source url="http://geekswithblogs.net/Wchrabaszcz/rss.aspx">Waclaw Chrabaszcz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Wchrabaszcz/archive/2013/06/13/ready-steady-scvmm.aspx'&gt;http://geekswithblogs.net/Wchrabaszcz/archive/2013/06/13/ready-steady-scvmm.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;SCVMM 2012 plays a key role in Microsoft Private Cloud concept. Mixed with SCOM, SCSM and Orchestrator offers you end2end solution when we talking about the Private Cloud. Let's install one. In this case manual installation will be better choice than automation.  To pass all prerequisites I would recommend Windows Server 2012 (with PorweShell 3.0), SQL Server 2012 SP1 and ADK. My goal is to install SCVVM and enable PRO tips. For non-SCVMM guys: PRO tips requires SCOM server in the environment and offers DRS-like features especially Hyper-V cluster auto balancing.
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;In the first  step in need to install SQL server
&lt;/li&gt;&lt;li&gt;In the second ADK (Windows Assessment and Deployment Kit)
&lt;/li&gt;&lt;li&gt;Let's install SCVMM&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady1.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;provide a License key&lt;br /&gt;accept or not CEIP&lt;br /&gt;turn On/Off Microsoft update&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady3.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady4.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady5.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;of course separate service account is recommended to run VMM service, it is recommended to store Distributed Key in AD, &lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady6.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;don't forget to add your SCVMM service account into server local admins&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady7.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady8.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady9.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;review the summary and GO !&lt;br /&gt;&lt;img src="https://gwb.blob.core.windows.net/wchrabaszcz/061313_0757_ReadySteady10.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;
		&lt;/li&gt;&lt;li&gt;&lt;div&gt;Once SCVMM will be installed it would be good to perform some configuration touch. I haven't scripting yet? Time to fix it &lt;span style="font-family:Wingdings"&gt;J&lt;/span&gt;
			&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;#Create Host Group&lt;br /&gt;New-SCVMHostGroup -name "TESTDOMAIN"&lt;br /&gt;&lt;br /&gt;#add Hyper-V host to SCVMM&lt;br /&gt;$credential = Get-Credential&lt;br /&gt;$hostGroup = Get-SCVMHostGroup -Name "TESTDOMAIN"&lt;br /&gt;Add-SCVMHost -ComputerName "SCVMM.TESTDOMAIN.net" -RunAsynchronously -VMHostGroup $hostGroup -Credential $credential -LiveStorageMigrationMaximum "2"&lt;br /&gt;&lt;br /&gt;#add Library Server &lt;br /&gt;Add-SCLibraryServer -ComputerName "dc.TESTDOMAIN.net" -Description ""  -Credential $credential&lt;br /&gt;Add-SCLibraryShare -Description ""  -SharePath \\dc01.TESTDOMAIN.net\VMMLibrary 
&lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;
 &lt;/p&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;p&gt;#add SCOM and enable PRO tips&lt;br /&gt;New-SCRunAsAccount -Name "TESTDOMAIN\Administrator" -Credential  $credential&lt;br /&gt;$opsMgrServerCredential = Get-SCRunAsAccount -Name "TESTDOMAIN\Administrator"&lt;br /&gt;New-SCOpsMgrConnection -EnablePRO $true -EnableMaintenanceModeIntegration $true -OpsMgrServer "SCOM" -RunAsynchronously -VMMServerCredential $credential -OpsMgrServerCredential $opsMgrServerCredential&lt;br /&gt;&lt;br /&gt;
				&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
 &lt;/p&gt; &lt;img src="http://geekswithblogs.net/Wchrabaszcz/aggbug/153128.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/mGE41SwF6xU" height="1" width="1"/&gt;</description><dc:creator>Waclaw Chrabaszcz</dc:creator><feedburner:origLink>http://geekswithblogs.net/Wchrabaszcz/archive/2013/06/13/ready-steady-scvmm.aspx</feedburner:origLink></item><item><title>How to Design Bullet list (ul &amp;gt;li ) in Html ,css ?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Lm8YJRcVoOQ/how-to-design-bullet-list-ul-gtli--in-html.aspx</link><pubDate>Wed, 12 Jun 2013 09:54:15 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/anirugu/archive/2013/06/12/how-to-design-bullet-list-ul-gtli--in-html.aspx</guid><wfw:comment>http://geekswithblogs.net/anirugu/comments/153120.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/anirugu/comments/commentRss/153120.aspx</wfw:commentRss><comments>http://geekswithblogs.net/anirugu/archive/2013/06/12/how-to-design-bullet-list-ul-gtli--in-html.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/anirugu/services/trackbacks/153120.aspx</trackback:ping><source url="http://geekswithblogs.net/anirugu/rss.aspx">Anirudha gupta</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/anirugu/archive/2013/06/12/how-to-design-bullet-list-ul-gtli--in-html.aspx'&gt;http://geekswithblogs.net/anirugu/archive/2013/06/12/how-to-design-bullet-list-ul-gtli--in-html.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;in HTML there is too many option to accomplish a small task. Every kind of option make a different result. In this post I will show you how you can design ul li better way &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="https://gwb.blob.core.windows.net/anirugu/Windows-Live-Writer/How-to-Design-Bullet-list-ul-li--in-Html_11C7A/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&amp;lt;ul&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;li&amp;gt; List item &amp;lt;/li&amp;gt;&lt;/p&gt;  &lt;p&gt;&amp;lt;/ul&amp;gt;&lt;/p&gt;  &lt;p&gt;Here is a some &lt;a title="w3schools is a crap. Never tried them in Real life" href="http://www.w3schools.com/css/css_list.asp"&gt;&lt;strike&gt;guideline&lt;/strike&gt;&lt;/a&gt; proper &lt;a href="https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/Lists"&gt;Guideline&lt;/a&gt; using list-style-type property you can show the circle, disk square shape just before the list item. This is nice way.&lt;/p&gt;  &lt;p&gt;If you have icon instead of shape that html provided then you need to use &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/list-style-image?redirectlocale=en-US&amp;amp;redirectslug=CSS%2Flist-style-image"&gt;list-style-image&lt;/a&gt; If this thing not fit with your requirement then you need to set it to none and use non-repeated images (Through background-image) that will be shown at the position whichever you want through &lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/background-position"&gt;Background position&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;If you have the theme of page in your mind (Everything is ready and you just need to write html to make it finish) then setting icon is good choice.  Remember that You can’t change the color of image (icon in this context) by using any property in css. Image is static which not allowed you to change their color by any css property.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;in case of PNG some cased allowed you to modify the background color of image but maybe This implementation going buggy in old browser.&lt;/p&gt;  &lt;p&gt;In this case I would like to set the icon through content property in Css and change the color whenever we want through color property in css.&lt;/p&gt;  &lt;p&gt;This thing going something as&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;li:before{&lt;/p&gt;  &lt;p&gt;content:”xyz”;&lt;/p&gt;  &lt;p&gt;color:red;&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt;Remember that xyz is utf8 based entity character which can be a pretty looking UTF8 icon shown before li. You can modified the color of this thing whenever you want. &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;For better example suppose you have font which contain a lot of pretty icon. Now you can use them in your web-apps through HTML5 features which allowed you to embedded the custom fonts (&lt;a href="https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face"&gt;font-face&lt;/a&gt; , &lt;a href="http://cufon.shoqolate.com/generate/"&gt;cufon&lt;/a&gt;) &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;This way you can implement the typography you like to implement in your web-apps. For example see a nice example called &lt;a href="http://fortawesome.github.io/Font-Awesome/"&gt;Font-awesome&lt;/a&gt; which provide a lot of icon.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;in Font-awesome you need to tried thing like &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&amp;lt;li&amp;gt;&amp;lt;i class="icon-expand-alt"&amp;gt;&amp;lt;/i&amp;gt; &amp;lt;/li&amp;gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;in this li you have shown the expand alternative icon in the list-item. If you have write a lot of li then this code is not looking good.&lt;/p&gt;  &lt;p&gt;You can tried it also this way&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;li:before{&lt;/p&gt;  &lt;p&gt;content:”myiconcode”;&lt;/p&gt;  &lt;p&gt;font-family:”Fontawesome”;&lt;/p&gt;  &lt;p&gt;}&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Now open the firebug and copy the content value for the icon you have set and replace it with “myiconcode”. Now you not need to write I with icon class anymore. this way you code look some more beautiful.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;As fontawesome use their own font we can implement our own fonts (or whatever we can do). Now remember that this thing have one more benefit . The benefit is setting color on anytime is possible. You can increase the font size to make icon bigger and smaller.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Thanks for read this post. The information I post in this blog-post is thing I learned from other people. The title of this post is about list-icon but you can applied the font-icon using x:before on any element like &amp;lt;div&amp;gt; , &amp;lt;span&amp;gt;.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Cheers &lt;img class="wlEmoticon wlEmoticon-smile" style="border-top-style: none; border-left-style: none; border-bottom-style: none; border-right-style: none" alt="Smile" src="https://gwb.blob.core.windows.net/anirugu/Windows-Live-Writer/How-to-Design-Bullet-list-ul-li--in-Html_11C7A/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/anirugu/aggbug/153120.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Lm8YJRcVoOQ" height="1" width="1"/&gt;</description><dc:creator>Anirudha</dc:creator><feedburner:origLink>http://geekswithblogs.net/anirugu/archive/2013/06/12/how-to-design-bullet-list-ul-gtli--in-html.aspx</feedburner:origLink></item><item><title>ServiceStack dynamic Route Attribute creator</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Pc5mvz3mrTc/servicestack-dynamic-route-attribute-creator.aspx</link><pubDate>Wed, 12 Jun 2013 12:17:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Nettuce/archive/2013/06/12/servicestack-dynamic-route-attribute-creator.aspx</guid><wfw:comment>http://geekswithblogs.net/Nettuce/comments/153124.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Nettuce/comments/commentRss/153124.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Nettuce/archive/2013/06/12/servicestack-dynamic-route-attribute-creator.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Nettuce/services/trackbacks/153124.aspx</trackback:ping><source url="http://geekswithblogs.net/Nettuce/rss.aspx">.Nettuce</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Nettuce/archive/2013/06/12/servicestack-dynamic-route-attribute-creator.aspx'&gt;http://geekswithblogs.net/Nettuce/archive/2013/06/12/servicestack-dynamic-route-attribute-creator.aspx&lt;/a&gt;&lt;/p&gt;&lt;pre style="font-family: Consolas; font-size: 13px; background-color: white; background-position: initial initial; background-repeat: initial initial;"&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt;
    {
        &lt;span style="color:blue;"&gt;readonly&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; path;
        &lt;span style="color:blue;"&gt;string&lt;/span&gt; verbs;
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Path
        {
            &lt;span style="color:blue;"&gt;get&lt;/span&gt;
            {
                &lt;span style="color:blue;"&gt;return&lt;/span&gt; GetRouteAttribute().Path;
            }
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Verbs
        {
            &lt;span style="color:blue;"&gt;get&lt;/span&gt;
            {
                &lt;span style="color:blue;"&gt;return&lt;/span&gt; GetRouteAttribute().Verbs;
            }
        }
 
        &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteAttribute&lt;/span&gt; GetRouteAttribute()
        {
            &lt;span style="color:blue;"&gt;var&lt;/span&gt; routeAttribute = &lt;span style="color:#2b91af;"&gt;TypeDescriptor&lt;/span&gt;.GetAttributes(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T)).OfType&amp;lt;&lt;span style="color:#2b91af;"&gt;RouteAttribute&lt;/span&gt;&amp;gt;().SingleOrDefault();
            &lt;span style="color:blue;"&gt;if&lt;/span&gt; (routeAttribute == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)
                &lt;span style="color:blue;"&gt;throw&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;NullReferenceException&lt;/span&gt;(&lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"Route not defined for &lt;/span&gt;&lt;span style="color:mediumseagreen;"&gt;{0}&lt;/span&gt;&lt;span style="color:#a31515;"&gt;"&lt;/span&gt;, &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T).Name));
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; routeAttribute;
        }
 
        RouteFor(&lt;span style="color:blue;"&gt;string&lt;/span&gt; path)
        {
            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.path = path;
            AndVerbs(&lt;span style="color:#2b91af;"&gt;HttpMethods&lt;/span&gt;.AllVerbs.ToArray());
            AddOrUpdateAttribute();
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt; WithDefaultPath()
        {
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt;(&lt;span style="color:#a31515;"&gt;"/"&lt;/span&gt; + &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T).Name);
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt; WithPath(&lt;span style="color:blue;"&gt;string&lt;/span&gt; path)
        {
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt;(path);
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt; WithPath(&lt;span style="color:blue;"&gt;string&lt;/span&gt; path, &lt;span style="color:blue;"&gt;params&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;T, &lt;span style="color:blue;"&gt;object&lt;/span&gt;&amp;gt;&amp;gt;[] expressions)
        {
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; WithPath(FormatRoute(path, expressions));
        }
 
        &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; FormatRoute(&lt;span style="color:blue;"&gt;string&lt;/span&gt; path, &lt;span style="color:blue;"&gt;params&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Expression&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;T, &lt;span style="color:blue;"&gt;object&lt;/span&gt;&amp;gt;&amp;gt;[] propertyExpressions)
        {
            path = &lt;span style="color:#2b91af;"&gt;Regex&lt;/span&gt;.Replace(path, &lt;span style="color:#a31515;"&gt;"({\\D*})"&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;"{${1}}"&lt;/span&gt;);
            &lt;span style="color:blue;"&gt;var&lt;/span&gt; properties = propertyExpressions.Select(x =&amp;gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(&lt;span style="color:#a31515;"&gt;"{{&lt;/span&gt;&lt;span style="color:mediumseagreen;"&gt;{0}&lt;/span&gt;&lt;span style="color:#a31515;"&gt;}}"&lt;/span&gt;, x.PropertyName())).ToArray();
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Format(path, properties);
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteFor&lt;/span&gt;&amp;lt;T&amp;gt; AndVerbs(&lt;span style="color:blue;"&gt;params&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt;[] verbs)
        {
            &lt;span style="color:blue;"&gt;this&lt;/span&gt;.verbs = &lt;span style="color:blue;"&gt;string&lt;/span&gt;.Join(&lt;span style="color:#a31515;"&gt;","&lt;/span&gt;, verbs);
            AddOrUpdateAttribute();
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;;
        }
 
        &lt;span style="color:blue;"&gt;void&lt;/span&gt; AddOrUpdateAttribute()
        {
 
            &lt;span style="color:blue;"&gt;var&lt;/span&gt; attribute = &lt;span style="color:#2b91af;"&gt;TypeDescriptor&lt;/span&gt;.GetAttributes(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T)).OfType&amp;lt;&lt;span style="color:#2b91af;"&gt;RouteAttribute&lt;/span&gt;&amp;gt;().SingleOrDefault();
            &lt;span style="color:blue;"&gt;if&lt;/span&gt; (attribute == &lt;span style="color:blue;"&gt;null&lt;/span&gt;)
                &lt;span style="color:#2b91af;"&gt;TypeDescriptor&lt;/span&gt;.AddAttributes(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T), &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;RouteAttribute&lt;/span&gt;(path, verbs));
            &lt;span style="color:blue;"&gt;else&lt;/span&gt;
            {
                attribute.Path = path;
                attribute.Verbs = verbs;
            }
        }
 
        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Create()
        {
            &lt;span style="color:blue;"&gt;if&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;EndpointHostConfig&lt;/span&gt;.Instance.ServiceManager != &lt;span style="color:blue;"&gt;null&lt;/span&gt;)
                &lt;span style="color:#2b91af;"&gt;EndpointHostConfig&lt;/span&gt;.Instance.ServiceManager.ServiceController.RegisterRestPaths(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(T));
        }&lt;/pre&gt;&lt;pre style="font-family: Consolas; font-size: 13px; background-color: white; background-position: initial initial; background-repeat: initial initial;"&gt;&lt;pre style="font-family: Consolas; background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; PropertyName(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;LambdaExpression&lt;/span&gt; expression)
        {
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; (expression.Body &lt;span style="color:blue;"&gt;is&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;UnaryExpression&lt;/span&gt; ?
                expression.Body.CastTo&amp;lt;&lt;span style="color:#2b91af;"&gt;UnaryExpression&lt;/span&gt;&amp;gt;().Operand.CastTo&amp;lt;&lt;span style="color:#2b91af;"&gt;MemberExpression&lt;/span&gt;&amp;gt;() :
                expression.Body.CastTo&amp;lt;&lt;span style="color:#2b91af;"&gt;MemberExpression&lt;/span&gt;&amp;gt;()).Member.Name;
        }&lt;/pre&gt;    }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/Nettuce/aggbug/153124.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Pc5mvz3mrTc" height="1" width="1"/&gt;</description><dc:creator>Jon Canning</dc:creator><feedburner:origLink>http://geekswithblogs.net/Nettuce/archive/2013/06/12/servicestack-dynamic-route-attribute-creator.aspx</feedburner:origLink></item><item><title>Using decimals in Ordered Lists</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/jG0aLO0EPUc/using-decimals-in-ordered-lists.aspx</link><pubDate>Wed, 12 Jun 2013 07:33:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/ptahiliani/archive/2013/06/12/using-decimals-in-ordered-lists.aspx</guid><wfw:comment>http://geekswithblogs.net/ptahiliani/comments/153117.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/ptahiliani/comments/commentRss/153117.aspx</wfw:commentRss><comments>http://geekswithblogs.net/ptahiliani/archive/2013/06/12/using-decimals-in-ordered-lists.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/ptahiliani/services/trackbacks/153117.aspx</trackback:ping><source url="http://geekswithblogs.net/ptahiliani/rss.aspx">Pankaj Tahiliani</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/ptahiliani/archive/2013/06/12/using-decimals-in-ordered-lists.aspx'&gt;http://geekswithblogs.net/ptahiliani/archive/2013/06/12/using-decimals-in-ordered-lists.aspx&lt;/a&gt;&lt;/p&gt;&lt;font face="Verdana" size="2"&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;    &amp;lt;style type="text/css"&amp;gt;&lt;br /&gt;        .foo&lt;br /&gt;        {&lt;br /&gt;            counter-reset: foo;&lt;br /&gt;        }&lt;br /&gt;        .foo li&lt;br /&gt;        {&lt;br /&gt;            list-style-type: none;&lt;br /&gt;        }&lt;br /&gt;        .foo li::before&lt;br /&gt;        {&lt;br /&gt;            counter-increment: foo;&lt;br /&gt;            content: "2." counter(foo) " ";&lt;br /&gt;        }&lt;br /&gt;    &amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;    &amp;lt;ol class="foo"&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;Lorem Lipsum&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;Lorem Lipsum&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;Lorem Lipsum&amp;lt;/li&amp;gt;&lt;br /&gt;        &amp;lt;li&amp;gt;Lorem Lipsum&amp;lt;/li&amp;gt;&lt;br /&gt;    &amp;lt;/ol&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/font&gt; &lt;img src="http://geekswithblogs.net/ptahiliani/aggbug/153117.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/jG0aLO0EPUc" height="1" width="1"/&gt;</description><dc:creator>Pankaj Tahiliani</dc:creator><feedburner:origLink>http://geekswithblogs.net/ptahiliani/archive/2013/06/12/using-decimals-in-ordered-lists.aspx</feedburner:origLink></item><item><title>RavenDB GetAll extension method</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/OPtxowsZRCE/ravendb-getall-extension-method.aspx</link><pubDate>Wed, 12 Jun 2013 06:45:35 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Nettuce/archive/2013/06/12/ravendb-getall-extension-method.aspx</guid><wfw:comment>http://geekswithblogs.net/Nettuce/comments/153116.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Nettuce/comments/commentRss/153116.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Nettuce/archive/2013/06/12/ravendb-getall-extension-method.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Nettuce/services/trackbacks/153116.aspx</trackback:ping><source url="http://geekswithblogs.net/Nettuce/rss.aspx">.Nettuce</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Nettuce/archive/2013/06/12/ravendb-getall-extension-method.aspx'&gt;http://geekswithblogs.net/Nettuce/archive/2013/06/12/ravendb-getall-extension-method.aspx&lt;/a&gt;&lt;/p&gt;&lt;pre style="font-family: Consolas; font-size: 13px; background-color: white; background-position: initial initial; background-repeat: initial initial;"&gt;        &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IEnumerable&lt;/span&gt;&amp;lt;T&amp;gt; GetAll&amp;lt;T&amp;gt;(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;IDocumentStore&lt;/span&gt; documentStore)
        {
            &lt;span style="color:blue;"&gt;var&lt;/span&gt; results = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;T&amp;gt;();
            &lt;span style="color:blue;"&gt;var&lt;/span&gt; documentSession = documentStore.OpenSession();
            &lt;span style="color:#2b91af;"&gt;RavenQueryStatistics&lt;/span&gt; ravenQueryStatistics = &lt;span style="color:blue;"&gt;null&lt;/span&gt;;
            &lt;span style="color:#2b91af;"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;IDocumentSession&lt;/span&gt;&amp;gt; getDocumentSession = () =&amp;gt; documentSession.Advanced.NumberOfRequests == 30 ? documentSession = documentStore.OpenSession() : documentSession;
            &lt;span style="color:blue;"&gt;while&lt;/span&gt; (ravenQueryStatistics == &lt;span style="color:blue;"&gt;null&lt;/span&gt; || results.Count &amp;lt; ravenQueryStatistics.TotalResults)
                results.AddRange(getDocumentSession().Query&amp;lt;T&amp;gt;().Statistics(&lt;span style="color:blue;"&gt;out&lt;/span&gt; ravenQueryStatistics).Take(1024).Skip(results.Count).ToArray());
            &lt;span style="color:blue;"&gt;return&lt;/span&gt; results;
        }&lt;/pre&gt; &lt;img src="http://geekswithblogs.net/Nettuce/aggbug/153116.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/OPtxowsZRCE" height="1" width="1"/&gt;</description><dc:creator>Jon Canning</dc:creator><feedburner:origLink>http://geekswithblogs.net/Nettuce/archive/2013/06/12/ravendb-getall-extension-method.aspx</feedburner:origLink></item><item><title>When to set ws2007FederationHttpBinding establishSecurityContext to false</title><category>MVC 4</category><category>WCF</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/6lSrRlzUJQE/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx</link><pubDate>Wed, 12 Jun 2013 04:26:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/06/12/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/153121.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/153121.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/06/12/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/153121.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/06/12/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/06/12/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Turning the establishSecurityContext off (it’s on by default) was recommended in the &lt;a href="http://pluralsight.com/training/courses/TableOfContents?courseName=iac-wcf" target="_blank"&gt;IAC course on Pluralsight&lt;/a&gt; by &lt;a href="http://pluralsight.com/training/Authors/Details/dominick-baier"&gt;Dominick Baier&lt;/a&gt; in the Security Best Practices module, State Management when making lots of short calls.&lt;/p&gt;  &lt;p&gt;“Other protocols like the WS 2007 Federation HttpBinding, they support state and unfortunately it’s turned on by default…. [uses] WS-Secure Conversation which is kind of heavy handed. It is quite complex as well and it has some performance implications.” ~ Pluralsight video &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.code-magazine.com/article.aspx?quickid=0611051&amp;amp;page=2"&gt;http://www.code-magazine.com/article.aspx?quickid=0611051&amp;amp;page=2&lt;/a&gt; also mentions turning it off for if you are making a single call.&lt;/p&gt;  &lt;p&gt;“If you are using the WSHttpBinding and do not need to establish a secure session, set the EstablishSecurityContext property to false.” TransportWithMessageCredential “uses the transport layer to secure the message transfer, while every message includes the rich credentials other services need. This combines the performance advantage of transport security with the rich credentials advantage of message security. This is available with the following bindings: &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.basichttpbinding.aspx"&gt;BasicHttpBinding&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.wsfederationhttpbinding.aspx"&gt;WSFederationHttpBinding&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding.aspx"&gt;NetPeerTcpBinding&lt;/a&gt;, and &lt;a href="http://msdn.microsoft.com/en-us/library/system.servicemodel.wshttpbinding.aspx"&gt;WSHttpBinding&lt;/a&gt;.”~&lt;a title="http://msdn.microsoft.com/en-us/library/ms731925.aspx" href="http://msdn.microsoft.com/en-us/library/ms731925.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms731925.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://stackoverflow.com/questions/1683724/what-are-the-impacts-of-setting-establishsecuritycontext-false-if-i-use-"&gt;http://stackoverflow.com/questions/1683724/what-are-the-impacts-of-setting-establishsecuritycontext-false-if-i-use-&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://forums.asp.net/t/1760793.aspx/1?establishSecurityContext+false+"&gt;From http://forums.asp.net/t/1760793.aspx/1?establishSecurityContext+false+&lt;/a&gt; ~ “What are the disadvantages of setting establishedSecurityContext= "false"” Answer: “Actually, if you set establishSecurityContext to false, key exchange and validation must be done per call instead of being done once and cached for the session… The use of security tokens is good when the client is expected to make several/many calls in a row because you don't have to do key exchange and validation every call. Note that you have to keep the WCF connection (channel) open to benefit from enabling this setting.”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://leastprivilege.com/2012/06/19/session-token-support-for-asp-net-web-api/"&gt;http://leastprivilege.com/2012/06/19/session-token-support-for-asp-net-web-api/&lt;/a&gt; ~ it’s not necessarily for WebApi&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.serviceModel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; 
 &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;bindings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;       
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;ws2007FederationHttpBinding&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;             
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;binding&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                 
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;security&lt;/span&gt; &lt;span class="attr"&gt;mode&lt;/span&gt;&lt;span class="kwrd"&gt;="TransportWithMessageCredential"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;                     
        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;message&lt;/span&gt; &lt;span class="attr"&gt;establishSecurityContext&lt;/span&gt;&lt;span class="kwrd"&gt;="false"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;                 
      &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;security&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;             
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;binding&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;         
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;ws2007FederationHttpBinding&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;     
 &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;bindings&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.serviceModel&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;So my take on if you should turn this off is that it depends on your situation. I would use WSHttpBinding and turn it off or have SSL on the communication. I’m still not sure if it affects WebApi and if I would benefit from turning this off in my MVC application that makes multiple calls to WebApi through the jQuery get and post, but I’m going to turn it off for now.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/153121.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/6lSrRlzUJQE" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/06/12/when-to-set-ws2007federationhttpbinding-establishsecuritycontext-to-false.aspx</feedburner:origLink></item><item><title>Free Xbox 360 Games If You Have Xbox Live Gold Subscription</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/SnbFfrU-Fvg/free-xbox-360-games-if-you-have-xbox-live-gold.aspx</link><pubDate>Wed, 12 Jun 2013 11:05:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2013/06/12/free-xbox-360-games-if-you-have-xbox-live-gold.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/153122.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/153122.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2013/06/12/free-xbox-360-games-if-you-have-xbox-live-gold.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/153122.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Daniel Schroeder</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/deadlydog/archive/2013/06/12/free-xbox-360-games-if-you-have-xbox-live-gold.aspx'&gt;http://geekswithblogs.net/deadlydog/archive/2013/06/12/free-xbox-360-games-if-you-have-xbox-live-gold.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I know this isn’t programming related (and thus doesn’t quite go with the theme of my blog), but I thought I’d share anyways.  Pass this along to anybody you know that has an Xbox 360.&lt;/p&gt;  &lt;p&gt;At &lt;a href="http://www.theverge.com/2013/6/10/4413668/xbox-live-gold-free-games-promotion-e3-2013"&gt;E3 Microsoft announced&lt;/a&gt; that it would &lt;a href="http://techcrunch.com/2013/06/10/microsoft-fires-back-at-sony-with-free-game-downloads-for-xbox-live-gold-gamers/"&gt;start giving away 2 free games a month to Xbox Live Gold subscribers&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;On July 1&lt;sup&gt;st&lt;/sup&gt; Assassin’s Creed 2 and Halo 3 will be available to download for free.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;u&gt;Right now&lt;/u&gt;&lt;/b&gt; you can go download Fable 3 for free. I downloaded it last night, so it’s legit.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;To download the games, from your 360 dashboard go to:&lt;/b&gt; &lt;/p&gt;  &lt;p&gt;Read more at &lt;a title="http://blog.danskingdom.com/free-xbox-360-games-if-you-have-xbox-live-gold-subscription/" href="http://blog.danskingdom.com/free-xbox-360-games-if-you-have-xbox-live-gold-subscription/"&gt;http://blog.danskingdom.com/free-xbox-360-games-if-you-have-xbox-live-gold-subscription/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/153122.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/SnbFfrU-Fvg" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2013/06/12/free-xbox-360-games-if-you-have-xbox-live-gold.aspx</feedburner:origLink></item><item><title>Version 1.7 of Christian Radio Locator available on the App Store</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Aj1XGvZt6S8/version-1.7-of-christian-radio-locator-available-on-the-app.aspx</link><pubDate>Wed, 12 Jun 2013 03:08:09 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/thibbard/archive/2013/06/12/version-1.7-of-christian-radio-locator-available-on-the-app.aspx</guid><wfw:comment>http://geekswithblogs.net/thibbard/comments/153118.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/thibbard/comments/commentRss/153118.aspx</wfw:commentRss><comments>http://geekswithblogs.net/thibbard/archive/2013/06/12/version-1.7-of-christian-radio-locator-available-on-the-app.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/thibbard/services/trackbacks/153118.aspx</trackback:ping><source url="http://geekswithblogs.net/thibbard/rss.aspx">Tim Hibbard</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/thibbard/archive/2013/06/12/version-1.7-of-christian-radio-locator-available-on-the-app.aspx'&gt;http://geekswithblogs.net/thibbard/archive/2013/06/12/version-1.7-of-christian-radio-locator-available-on-the-app.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The latest version of &lt;a href="https://itunes.apple.com/us/app/christian-radio-locator/id545689326?ls=1&amp;amp;mt=8"&gt;Christian Radio Locator&lt;/a&gt; is now available as an update on the App Store. &lt;a href="http://timhibbard.com/blog/2013/06/06/version-1-7-of-christian-radio-locator-coming-soon/"&gt;As discussed&lt;/a&gt;, this version adds support for Driving Mode. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://timhibbard.com/blog/2013/03/18/version-1-5-of-christian-radio-locator-released/"&gt;Favorites&lt;/a&gt; are great, but a recent road trip showed just how annoying it can be to have all your favorites at the top of the screen. With that in mind, we added Driving Mode. Go to Settings, and toggle on driving mode to have nearby stations display before the favorites. It also changes the long press behavior to show the station on a map (with its range) and your GPS location. That way you know if the static is because you are coming or going into the station’s range. Once you get back home, toggle Driver Mode to Off and your favorites will be back on top where they belong.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Driving Mode is another example of a great feature that is only available after an in-app purchase of $0.99 for the Pro version. The Pro version also includes the ability to &lt;a href="http://timhibbard.com/blog/2013/03/18/version-1-5-of-christian-radio-locator-released/"&gt;mark a station as a favorite&lt;/a&gt; and syncs hidden and favorite stations with iCloud keeping all your iOS devices in sync.&lt;/p&gt;
&lt;p&gt;Here is a sneak peek of the app running iOS 7:&lt;/p&gt;&lt;p&gt;&lt;img id="ctl00_pageContent_Editor_Edit_ctl00_uploadedImg" title="2013-06-12 09.56.13_-869350336.png" src="https://gwb.blob.core.windows.net/thibbard/Version-17-of-Christian-Radio-Locator-available-on-the-App-Store_153118/2013-06-12%2009.56.13_-869350336.png" /&gt;&lt;/p&gt;
 &lt;img src="http://geekswithblogs.net/thibbard/aggbug/153118.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Aj1XGvZt6S8" height="1" width="1"/&gt;</description><dc:creator>Tim Hibbard</dc:creator><feedburner:origLink>http://geekswithblogs.net/thibbard/archive/2013/06/12/version-1.7-of-christian-radio-locator-available-on-the-app.aspx</feedburner:origLink></item><item><title>Goodbye Twitter API v1.0</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Go7IDFlyK0Y/goodbye-twitter-api-v1.0.aspx</link><pubDate>Wed, 12 Jun 2013 02:22:40 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2013/06/12/goodbye-twitter-api-v1.0.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/153119.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/153119.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2013/06/12/goodbye-twitter-api-v1.0.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/153119.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Joe Mayo</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/WinAZ/archive/2013/06/12/goodbye-twitter-api-v1.0.aspx'&gt;http://geekswithblogs.net/WinAZ/archive/2013/06/12/goodbye-twitter-api-v1.0.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Hello Twitter API v1.1! Actually, Twitter API v1.1 has been around since September 2012. That’s when Twitter deprecated v1.0. Yesterday, Twitter shut down v1.0. You can read more details of yesterday’s events in on the Twitter API blog at &lt;a href="https://dev.twitter.com/blog/api-v1-is-retired" target="_blank"&gt;API v1 Retirement is Complete - Use API v1.1&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Soon after Twitter API v1.1 was available, &lt;a href="http://linqtotwitter.codeplex.com/" target="_blank"&gt;LINQ to Twitter&lt;/a&gt; upgraded to Twitter API v1.1 and changed its version from 2.0 to 2.1. You can download the latest version of LINQ to Twitter, which is v2.1.06 as I write this, and have full support for Twitter API v1.1.&lt;/p&gt;  &lt;p&gt;Here’s a summary of important changes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Rate Limits apply per API, as opposed to every API call. Statistically, this works out to a better rate limit overall, but it also means that you might need to adjust your design on how it scales to match the new policies. You can get rate limits with a &lt;a href="https://linqtotwitter.codeplex.com/wikipage?title=Getting%20Rate%20Limits&amp;amp;referringTitle=Using%20Help%20Methods" target="_blank"&gt;HelpType.RateLimits&lt;/a&gt; query.&lt;/li&gt;    &lt;li&gt;Json is now the only available response format. Generally, this doesn’t change your code because LINQ to Twitter deserializes most queries into entities. However, if you use &lt;a href="https://linqtotwitter.codeplex.com/wikipage?title=Streaming%20Twitter%20Content&amp;amp;referringTitle=Making%20API%20Calls" target="_blank"&gt;Streaming&lt;/a&gt;, &lt;a href="http://geekswithblogs.net/WinAZ/archive/2010/10/02/extensibility-in-linq-to-twitter-raw-queries.aspx" target="_blank"&gt;Raw commands/queries&lt;/a&gt;, or reading the TwitterContext.RawResults property, and you were working with XML, you’ll need to deserialize Json instead. The good news is that your application performs and scales better because queries and commands execute more quickly and use less bandwidth.&lt;/li&gt;    &lt;li&gt;You must authenticate for all API calls. I know this is painful if you’ve used Search or another unauthenticated API. The good news is that &lt;a href="https://linqtotwitter.codeplex.com/wikipage?title=Learning%20to%20use%20OAuth&amp;amp;referringTitle=Securing%20Your%20Applications" target="_blank"&gt;LINQ to Twitter has extensive support for all Twitter OAuth options&lt;/a&gt;, so you don’t have to write your own OAuth code.&lt;/li&gt;    &lt;li&gt;&lt;a href="https://linqtotwitter.codeplex.com/wikipage?title=Searching%20Twitter&amp;amp;referringTitle=Performing%20Searches%20and%20Finding%20Trends" target="_blank"&gt;Search&lt;/a&gt; merged with the main API and is more consistent. LINQ to Twitter’s Search option also changed extensively. Primarily, search results and &lt;a href="https://linqtotwitter.codeplex.com/wikipage?title=Status%20Entity&amp;amp;referringTitle=Search%20Entity" target="_blank"&gt;Status&lt;/a&gt; entities, which are the same type as Status query results. Though it requires a code change, it adds consistency to the API and improves the development experience.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As  the Twitter API matures and moves forward, so will LINQ to Twitter. Thanks to all the people who have contributed code, submitted pull requests, and made constructive changes over the years.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/153119.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Go7IDFlyK0Y" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2013/06/12/goodbye-twitter-api-v1.0.aspx</feedburner:origLink></item><item><title>Getting Started with Behavior Driven Development</title><category>BDD</category><category>Productivity</category><category>Unit Testing</category><category>CodeProject</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/tjrkW9qGMkM/getting-started-with-behavior-driven-development.aspx</link><pubDate>Tue, 11 Jun 2013 03:18:03 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/06/11/getting-started-with-behavior-driven-development.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/153108.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/153108.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/06/11/getting-started-with-behavior-driven-development.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/153108.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/06/11/getting-started-with-behavior-driven-development.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/06/11/getting-started-with-behavior-driven-development.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;In this post, I wanted to share some thoughts and resources that I’ve collected since learning about Behavior Driven Development (BDD)  (as of June 2013). Thinking in BDD terms has really helped me in improving my software development and thinking through problems. I remember a day when it clicked. It was an exciting time for me and I don’t planning on going back to the old approach. My tendency is to dive into the code before thinking through things and that gets me into trouble. I’m also an optimistic developer and don’t always spend enough time testing the UI. BDD specification tests (Jasmine or in C#) let me write re-runnable tests and I spend less time clicking through complex scenarios, and slows me down and forces me to think. I still need to spend time in the UI, but not every time I change code. I’m also able to squash bugs found once and for awhile and be confident that they won’t return.&lt;/p&gt;  &lt;p&gt;There is a lot to BDD (it’s an extension of Test Driven Development and describes who we can communicate with users, tests, managers, developers using the Given… When… Then (GWT) or When x, it should do y). You can see my BDD posts which I hope to add to in the future.I first learned about BDD at the Heartland Developer’s Conference in Omaha, NE from Lee Brandt. Check out his blog for good information about BDD. &lt;/p&gt;  &lt;p&gt;It’s definitely a learning process. You’ll have to learn how to write testable code (I highly recommend Roy Osherove’s The Art of Unit Testing as a starting place, then look into Dependency Injection, FakeItEasy, Jasmine for JavaScript tests, and just start doing it. You’ll get better as you practice more.), how to think through problems with the GWT syntax, how to communicate with less technical people and get it to work, how to get others (managers, project owners, other developers, testers) to start using BDD in their thought process as well.&lt;/p&gt;  &lt;p&gt;I plan on adding more posts on more benefits of BDD, how I’ve been using it and what I’ve been learning.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/153108.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/tjrkW9qGMkM" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/06/11/getting-started-with-behavior-driven-development.aspx</feedburner:origLink></item><item><title>Tips an Tricks of Developing on Windows Azure China</title><category>Windows Azure</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/euWOvoqIcVs/tips-an-tricks-of-developing-on-windows-azure-china.aspx</link><pubDate>Mon, 10 Jun 2013 09:46:02 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/shaunxu/archive/2013/06/10/tips-an-tricks-of-developing-on-windows-azure-china.aspx</guid><wfw:comment>http://geekswithblogs.net/shaunxu/comments/153099.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/shaunxu/comments/commentRss/153099.aspx</wfw:commentRss><comments>http://geekswithblogs.net/shaunxu/archive/2013/06/10/tips-an-tricks-of-developing-on-windows-azure-china.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/shaunxu/services/trackbacks/153099.aspx</trackback:ping><source url="http://geekswithblogs.net/shaunxu/rss.aspx">Shaun Xu</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/shaunxu/archive/2013/06/10/tips-an-tricks-of-developing-on-windows-azure-china.aspx'&gt;http://geekswithblogs.net/shaunxu/archive/2013/06/10/tips-an-tricks-of-developing-on-windows-azure-china.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;On 2nd May, 2013 Microsoft announced that the Windows Azure had been landed at China by Steven Ballmer. Currently there are two Windows Azure data centers in China, Beijing and Shanghai, which geo-replication each other.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The code name of Windows Azure in China was “Mooncake”, which is a famous food in Chinese Mid-Autumn Festival. Hence in the coming up posts when I said Mooncake, or MC, or MC Azure, normally it means the Windows Azure China.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;It was also announced that from 6th June, the public beta registration will be opened and till now within 24 hours it had received thousands of requests. In the coming few weeks Microsoft will evaluate these requests and start to ship the accounts. This means, developers, partners and customers mainly in China (and in worldwide as well) would be able to develop, deploy and test their applications and services on Windows Azure China.&lt;/p&gt; &lt;p&gt;If you are familiar with Windows Azure platform, you will find the services and functionalities are almost same between worldwide Azure and Azure China. But there are something different when developing application against MC rather than worldwide Azure (a.k.a. WW Azure). Most of them are endpoints of vary azure services such as Cloud Service DNS name, SQL Database endpoint, Storage endpoints and Management API endpoint, etc.. In this post I’d like talk about these different so that we can develop and migrate application on MC Azure more smoothly.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;This post will only focus on the different points between worldwide Azure and MC Azure. If you are new to windows azure platform, I highly recommended you to have a look on the documents on MC Azure and worldwide Azure &lt;a href="http://www.windowsazure.cn/zh-cn/documentation/" target="_blank"&gt;here&lt;/a&gt; and &lt;a href="http://www.windowsazure.com/en-us/documentation/" target="_blank"&gt;here&lt;/a&gt;, before deeply read this post as I will NOT describe the functions/features in Azure.&lt;/p&gt;&lt;/blockquote&gt; &lt;h3&gt;&lt;/h3&gt; &lt;h2&gt;Portal and Services&lt;/h2&gt; &lt;p&gt;The first different point is the Windows Azure Portal. The WW Azure portal is &lt;a href="http://www.windowsazure.com/"&gt;http://www.windowsazure.com/&lt;/a&gt; regardless which data center it’s. But the portal of MC is &lt;a href="http://www.windowsazure.cn/"&gt;http://www.windowsazure.cn/&lt;/a&gt;, and it only for Windows Azure China.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb.png" width="604" height="330" /&gt;&lt;/a&gt;  &lt;/p&gt; &lt;p&gt;Since the portal is deferent, the develop portal is changed to &lt;a href="https://manage.windowsazure.cn/"&gt;https://manage.windowsazure.cn/&lt;/a&gt; as well, where we can login and manage our azure services.&lt;/p&gt; &lt;p&gt;Once logged in, we will find that currently there are seven services provided in MC Azure, which are Virtual Machine, Cloud Service, SQL Database, Storage, Virtual Network, Service Bus and Active Directory. Other services will be available before the MC Azure was GA, such as Media Service, Mobile Service, HDInsight, SQL Reporting, etc..&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_4.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_1.png" width="604" height="328" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;h2&gt;First Cloud Service on MC&lt;/h2&gt; &lt;p&gt;Now let’s create a new Cloud Service with one ASP.NET MVC 4 Web Role and deploy to MC. First of all we need to create the project in Visual Studio 2012 with Windows Azure SDK 2.0. As you know, we can deploy our project to azure by uploading the package, but in this post I’d like to demonstrate how to deploy it in MC Azure through Visual Studio.&lt;/p&gt; &lt;p&gt;Since we want to deploy the project from Visual Studio, we need to upload a new certificate to the portal for management. This is same as what we did for WW Azure. Clicked “SETTING” from the left hand side navigate bar and upload our management certificate. Then back to Visual Studio, click the Deploy context menu item and here we need to add a new subscription for our MC account. Click “Manage”.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_6.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_2.png" width="473" height="330" /&gt;&lt;/a&gt;Create a new subscription and select the certificate I had uploaded through the management portal, paste the subscription ID and the name in the dialog. Then we need to change the service management URL, since it’s different between WW Azure and MC Azure. If you are working on MC Azure, the URL of Windows Azure Management API should be &lt;a href="https://management.core.chinacloudapi.cn"&gt;https://management.core.chinacloudapi.cn&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_8.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_3.png" width="485" height="330" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Then we can select the Cloud Services we wanted to deploy in this subscription, the environment (Production or Staging), build configuration, service configuration (Cloud or Local) and the storage we will upload our package to and then press Publish.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_10.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_4.png" width="485" height="330" /&gt;&lt;/a&gt; If the management URL we specified was correct we can see Visual Studio started to upload our project to MC Azure and it should be ready after few minutes.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_12.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_5.png" width="604" height="148" /&gt;&lt;/a&gt; Below is the MC portal after I deployed my project. As you can see it’s same as what we saw at WW Azure.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_14.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_6.png" width="604" height="328" /&gt;&lt;/a&gt;Below is my first cloud service running on MC Azure. The public URL was &lt;a title="http://shx.chinacloudapp.cn/" href="http://shx.chinacloudapp.cn/"&gt;http://shx.chinacloudapp.cn/&lt;/a&gt;. This is another different point in MC Azure, the cloud service DNS name is *.chinacloudapp.cn, while in WW Azure is *.cloudapp.com.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_16.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_7.png" width="604" height="328" /&gt;&lt;/a&gt;Once it had been deployed we can review the status of this service through Visual Studio. Open the Server Explorer window and expand the Windows Azure Compute we can see our cloud service had been listed there with one instance running under the production environment.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_18.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_8.png" width="254" height="250" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;h2&gt;Storage&lt;/h2&gt; &lt;p&gt;Since we had created a new subscription information in Visual Studio in previous step, we can now easily manage our storage account through Visual Studio as well. Open the Server Explorer and add a new storage account.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_20.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_9.png" width="404" height="262" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;In the popup windows we will select the subscription we had just added, then Visual Studio will populate all storage account under this subscription. Once we select the account we want to manage the endpoints will be shown automatically at the bottom of this windows. As you can see, the storage endpoints were *.blob.core.chinacloudapi.cn, *.queue.core.chinacloudapi.cn, *.table.core.chinacloudapi.cn, while in WW Azure the storage endpoints are *.blob.core.windows.net, *.queue.core.windows.net, *.table.core.windows.net.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_22.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_10.png" width="418" height="330" /&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;If we added this account in Visual Studio Server Explorer we would be able to manage it in the same way as what we did for WW Azure. The screenshot below shows when I created a blob container and uploaded some pictures into my storage account located in MC Azure Beijing.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_24.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_11.png" width="604" height="247" /&gt;&lt;/a&gt; Next, let’s add some code to use the storage service I created. For example, I will add some codes in my ASP.NET MVC website to list all blobs in my container. This is not a huge work but will show you what needs to be changed when using MC Azure. First I need to specify the storage account connection string in the cloud service setting window. As we had added our MC Azure subscription we can select the storage account we want by selecting the subscription and storage name.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_26.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_12.png" width="604" height="312" /&gt;&lt;/a&gt; Alternatively you can specify the storage endpoints manually. Just need to pay attention that we must select “custom endpoints” and specify the blob, table and queue endpoints for MC Azure.&lt;/p&gt; &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_28.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_13.png" width="344" height="330" /&gt;&lt;/a&gt; That’s all. Now we can use the Azure SDK to operate our storage service same as what we did against WW Azure. Below the code I created to retrieve all blobs from my container.&lt;/p&gt; &lt;div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4"&gt; &lt;div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult Index()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;     ViewBag.Message = &lt;span style="color: #006080"&gt;"Modify this template to jump-start your ASP.NET MVC application."&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt;     var connectionString = Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting(&lt;span style="color: #006080"&gt;"StorageConnection"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt;     var account = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse(connectionString);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;     var client = account.CreateCloudBlobClient();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;     var container = client.GetContainerReference(&lt;span style="color: #006080"&gt;"samples"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt;     var blobs = container.ListBlobs().Select(b =&amp;gt; b.Uri.AbsoluteUri).ToList();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt;     ViewBag.Blobs = blobs;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;And this is the website once I deployed to MC Azure which lists the blobs in my storage account in the same datacenter (Beijing).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_30.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_14.png" width="524" height="330" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h2&gt;SQL Database&lt;/h2&gt;
&lt;p&gt;Windows Azure SQL Database (a.k.a. WASD) is another resource we always use when building application. The WASD in MC Azure has a different base address, *.database.chinacloudapi.cn, the WW Azure WASD base address is *.database.windows.net. But the connection string format and login format are all the same.&lt;/p&gt;
&lt;p&gt;For example, if I created a new WASD and updated its firewall setting then I can connect to this database located in MC Azure through any SQL Server management tools. Below is the WASD connection string I created in MC. The format is same but only different base address.&lt;/p&gt;
&lt;p&gt; &lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_36.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_17.png" width="528" height="330" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;We can use SQL Server Management Studio (SSMS) to manage our WASD from local machine, same as what we did for WW Azure.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_38.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_18.png" width="420" height="316" /&gt;&lt;/a&gt; Let’s execute the script below to create a new table with some data into this database.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4"&gt;
&lt;div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;/****** Object:  Table [dbo].[Resource]    Script Date: 9/4/2012 3:47:14 PM ******/&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; ANSI_NULLS &lt;span style="color: #0000ff"&gt;ON&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;SET&lt;/span&gt; QUOTED_IDENTIFIER &lt;span style="color: #0000ff"&gt;ON&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;CREATE&lt;/span&gt; &lt;span style="color: #0000ff"&gt;TABLE&lt;/span&gt; [dbo].[Resource](&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;     [&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;] [&lt;span style="color: #0000ff"&gt;varchar&lt;/span&gt;](256) &lt;span style="color: #0000ff"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;     [Culture] [&lt;span style="color: #0000ff"&gt;varchar&lt;/span&gt;](8) &lt;span style="color: #0000ff"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt;     [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;] [nvarchar](4000) &lt;span style="color: #0000ff"&gt;NOT&lt;/span&gt; &lt;span style="color: #0000ff"&gt;NULL&lt;/span&gt;,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;  &lt;span style="color: #0000ff"&gt;CONSTRAINT&lt;/span&gt; [PK_Resource] &lt;span style="color: #0000ff"&gt;PRIMARY&lt;/span&gt; &lt;span style="color: #0000ff"&gt;KEY&lt;/span&gt; &lt;span style="color: #0000ff"&gt;CLUSTERED&lt;/span&gt; &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt; (&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt;     [&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;] &lt;span style="color: #0000ff"&gt;ASC&lt;/span&gt;,&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt;     [Culture] &lt;span style="color: #0000ff"&gt;ASC&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt; )&lt;span style="color: #0000ff"&gt;WITH&lt;/span&gt; (STATISTICS_NORECOMPUTE = &lt;span style="color: #0000ff"&gt;OFF&lt;/span&gt;, IGNORE_DUP_KEY = &lt;span style="color: #0000ff"&gt;OFF&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt; )&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum16" style="color: #606060"&gt;  16:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum17" style="color: #606060"&gt;  17:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum18" style="color: #606060"&gt;  18:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeAbout_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Your app description page.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum19" style="color: #606060"&gt;  19:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum20" style="color: #606060"&gt;  20:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeAbout_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum21" style="color: #606060"&gt;  21:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum22" style="color: #606060"&gt;  22:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeContact_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Your contact page.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum23" style="color: #606060"&gt;  23:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum24" style="color: #606060"&gt;  24:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeContact_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'?????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum25" style="color: #606060"&gt;  25:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum26" style="color: #606060"&gt;  26:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeIndex_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Modify this template to jump-start your ASP.NET MVC application.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum27" style="color: #606060"&gt;  27:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum28" style="color: #606060"&gt;  28:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Controller_HomeIndex_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??????,??????ASP.NET MVC?????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum29" style="color: #606060"&gt;  29:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum30" style="color: #606060"&gt;  30:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_Password_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Password'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum31" style="color: #606060"&gt;  31:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum32" style="color: #606060"&gt;  32:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_Password_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum33" style="color: #606060"&gt;  33:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum34" style="color: #606060"&gt;  34:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_Password_Required'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Please input {0}.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum35" style="color: #606060"&gt;  35:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum36" style="color: #606060"&gt;  36:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_Password_Required'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???{0}?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum37" style="color: #606060"&gt;  37:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum38" style="color: #606060"&gt;  38:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_RememberMe_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Remember me?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum39" style="color: #606060"&gt;  39:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum40" style="color: #606060"&gt;  40:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_RememberMe_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum41" style="color: #606060"&gt;  41:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum42" style="color: #606060"&gt;  42:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_UserName_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'User Name'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum43" style="color: #606060"&gt;  43:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum44" style="color: #606060"&gt;  44:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_UserName_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum45" style="color: #606060"&gt;  45:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum46" style="color: #606060"&gt;  46:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_UserName_Required'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Please input the {0}.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum47" style="color: #606060"&gt;  47:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum48" style="color: #606060"&gt;  48:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_LoginModel_UserName_Required'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???{0}?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum49" style="color: #606060"&gt;  49:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum50" style="color: #606060"&gt;  50:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_ConfirmPassword_Compare'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'The password and confirmation password do not match.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum51" style="color: #606060"&gt;  51:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum52" style="color: #606060"&gt;  52:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_ConfirmPassword_Compare'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum53" style="color: #606060"&gt;  53:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum54" style="color: #606060"&gt;  54:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_ConfirmPassword_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Confirm password'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum55" style="color: #606060"&gt;  55:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum56" style="color: #606060"&gt;  56:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_ConfirmPassword_Display'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum57" style="color: #606060"&gt;  57:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum58" style="color: #606060"&gt;  58:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_Password_StringLength'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'The {0} must be at least {2} characters long.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum59" style="color: #606060"&gt;  59:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum60" style="color: #606060"&gt;  60:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'Model_AccountModels_RegisterModel_Password_StringLength'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'{0}?????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum61" style="color: #606060"&gt;  61:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum62" style="color: #606060"&gt;  62:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_ExtenalAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Use another service to log in.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum63" style="color: #606060"&gt;  63:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum64" style="color: #606060"&gt;  64:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_ExtenalAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'?????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum65" style="color: #606060"&gt;  65:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum66" style="color: #606060"&gt;  66:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_LocalAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Use a local account to log in.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum67" style="color: #606060"&gt;  67:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum68" style="color: #606060"&gt;  68:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_LocalAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'?????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum69" style="color: #606060"&gt;  69:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum70" style="color: #606060"&gt;  70:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_RegisterIfNoAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'{0} if you don'&lt;/span&gt;&lt;span style="color: #006080"&gt;'t have an account.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum71" style="color: #606060"&gt;  71:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum72" style="color: #606060"&gt;  72:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountLogin_RegisterIfNoAccount'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??????,?{0}?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum73" style="color: #606060"&gt;  73:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum74" style="color: #606060"&gt;  74:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountRegister_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Create a new account.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum75" style="color: #606060"&gt;  75:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum76" style="color: #606060"&gt;  76:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_AccountRegister_Message'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum77" style="color: #606060"&gt;  77:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum78" style="color: #606060"&gt;  78:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_ExternalLoginsListPartial_MessageInfo'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'There are no external authentication services configured. See &amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=252166"&amp;gt;this article&amp;lt;/a&amp;gt; for details on setting up this ASP.NET application to support logging in via external services.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum79" style="color: #606060"&gt;  79:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum80" style="color: #606060"&gt;  80:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_ExternalLoginsListPartial_MessageInfo'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????????????????ASP.NET?????????????????,????&amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=252166"&amp;gt;??&amp;lt;/a&amp;gt;?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum81" style="color: #606060"&gt;  81:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum82" style="color: #606060"&gt;  82:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_ExternalLoginsListPartial_SocialLoginList'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Log in using another service'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum83" style="color: #606060"&gt;  83:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum84" style="color: #606060"&gt;  84:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_ExternalLoginsListPartial_SocialLoginList'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'?????????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum85" style="color: #606060"&gt;  85:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum86" style="color: #606060"&gt;  86:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeAbout_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'About'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum87" style="color: #606060"&gt;  87:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum88" style="color: #606060"&gt;  88:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeAbout_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum89" style="color: #606060"&gt;  89:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum90" style="color: #606060"&gt;  90:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeContact_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Contact'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum91" style="color: #606060"&gt;  91:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum92" style="color: #606060"&gt;  92:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeContact_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum93" style="color: #606060"&gt;  93:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum94" style="color: #606060"&gt;  94:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeIndex_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Home Page'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum95" style="color: #606060"&gt;  95:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum96" style="color: #606060"&gt;  96:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomeIndex_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum97" style="color: #606060"&gt;  97:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum98" style="color: #606060"&gt;  98:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Featured'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'To learn more about ASP.NET MVC visit &amp;lt;a href="http://asp.net/mvc" title="ASP.NET MVC Website"&amp;gt;http://asp.net/mvc&amp;lt;/a&amp;gt;. The page features &amp;lt;mark&amp;gt;videos, tutorials, and samples&amp;lt;/mark&amp;gt; to help you get the most from ASP.NET MVC. If you have any questions about ASP.NET MVC visit &amp;lt;a href="http://forums.asp.net/1146.aspx/1?MVC" title="ASP.NET MVC Forum"&amp;gt;our forums&amp;lt;/a&amp;gt;.'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum99" style="color: #606060"&gt;  99:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum100" style="color: #606060"&gt; 100:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Featured'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????ASP.NET MVC??????&amp;lt;a href="http://asp.net/mvc" title="ASP.NET MVC??"&amp;gt;http://asp.net/mvc&amp;lt;/a&amp;gt;??????&amp;lt;mark&amp;gt;??,?????&amp;lt;/mark&amp;gt;,??????????ASP.NET MVC???????????ASP.NET MVC???,??????&amp;lt;a href="http://forums.asp.net/1146.aspx/1?MVC" title="ASP.NET MVC??"&amp;gt;??&amp;lt;/a&amp;gt;?'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum101" style="color: #606060"&gt; 101:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum102" style="color: #606060"&gt; 102:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'We suggest the following:'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum103" style="color: #606060"&gt; 103:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum104" style="color: #606060"&gt; 104:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'????:'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum105" style="color: #606060"&gt; 105:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum106" style="color: #606060"&gt; 106:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_1_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Getting Started'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum107" style="color: #606060"&gt; 107:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum108" style="color: #606060"&gt; 108:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_1_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum109" style="color: #606060"&gt; 109:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum110" style="color: #606060"&gt; 110:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_1_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable, agile development. ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards. &amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245151"&amp;gt;Learn more...&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum111" style="color: #606060"&gt; 111:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum112" style="color: #606060"&gt; 112:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_1_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'ASP.NET MVC?????????????????????????,???????????,????,?????????????? ASP.NET MVC???????,????????????,?????Web??,TDD??????&amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245151"&amp;gt;????…&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum113" style="color: #606060"&gt; 113:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum114" style="color: #606060"&gt; 114:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_2_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Add NuGet packages and jump-start your coding'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum115" style="color: #606060"&gt; 115:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum116" style="color: #606060"&gt; 116:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_2_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??NuGet???,??????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum117" style="color: #606060"&gt; 117:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum118" style="color: #606060"&gt; 118:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_2_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'NuGet makes it easy to install and update free libraries and tools. &amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245153"&amp;gt;Learn more...&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum119" style="color: #606060"&gt; 119:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum120" style="color: #606060"&gt; 120:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_2_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'NuGet??????????????????????&amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245153"&amp;gt;????…&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum121" style="color: #606060"&gt; 121:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum122" style="color: #606060"&gt; 122:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_3_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Find Web Hosting'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum123" style="color: #606060"&gt; 123:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum124" style="color: #606060"&gt; 124:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_3_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum125" style="color: #606060"&gt; 125:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum126" style="color: #606060"&gt; 126:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_3_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'You can easily find a web hosting company that offers the right mix of features and price for your applications. &amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245157"&amp;gt;Learn more...&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum127" style="color: #606060"&gt; 127:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum128" style="color: #606060"&gt; 128:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_HomIndex_Suggest_3_Val'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????????Web????,?????????????????????&amp;lt;a href="http://go.microsoft.com/fwlink/?LinkId=245157"&amp;gt;????…&amp;lt;/a&amp;gt;'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum129" style="color: #606060"&gt; 129:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum130" style="color: #606060"&gt; 130:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_Layout_LogoHere'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'your logo here'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum131" style="color: #606060"&gt; 131:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum132" style="color: #606060"&gt; 132:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_Layout_LogoHere'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'???????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum133" style="color: #606060"&gt; 133:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum134" style="color: #606060"&gt; 134:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_Layout_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'My ASP.NET MVC Application'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum135" style="color: #606060"&gt; 135:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum136" style="color: #606060"&gt; 136:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_Layout_Title'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??ASP.NET MVC????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum137" style="color: #606060"&gt; 137:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum138" style="color: #606060"&gt; 138:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Login'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Log in'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum139" style="color: #606060"&gt; 139:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum140" style="color: #606060"&gt; 140:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Login'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum141" style="color: #606060"&gt; 141:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum142" style="color: #606060"&gt; 142:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Logoff'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Log off'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum143" style="color: #606060"&gt; 143:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum144" style="color: #606060"&gt; 144:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Logoff'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum145" style="color: #606060"&gt; 145:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum146" style="color: #606060"&gt; 146:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Register'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Register'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum147" style="color: #606060"&gt; 147:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum148" style="color: #606060"&gt; 148:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_LoginPartial_Register'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum149" style="color: #606060"&gt; 149:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum150" style="color: #606060"&gt; 150:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_About'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'About'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum151" style="color: #606060"&gt; 151:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum152" style="color: #606060"&gt; 152:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_About'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum153" style="color: #606060"&gt; 153:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum154" style="color: #606060"&gt; 154:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_Contact'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Contact'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum155" style="color: #606060"&gt; 155:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum156" style="color: #606060"&gt; 156:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_Contact'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'????'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum157" style="color: #606060"&gt; 157:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum158" style="color: #606060"&gt; 158:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_Home'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'en-US'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'Home'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum159" style="color: #606060"&gt; 159:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;GO&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum160" style="color: #606060"&gt; 160:&lt;/span&gt; INSERT [dbo].[Resource] ([&lt;span style="color: #0000ff"&gt;Key&lt;/span&gt;], [Culture], [&lt;span style="color: #0000ff"&gt;Value&lt;/span&gt;]) &lt;span style="color: #0000ff"&gt;VALUES&lt;/span&gt; (N&lt;span style="color: #006080"&gt;'View_PageName_Home'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'zh-CN'&lt;/span&gt;, N&lt;span style="color: #006080"&gt;'??'&lt;/span&gt;)&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum161" style="color: #606060"&gt; 161:&lt;/span&gt; GO&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Then back to Visual Studio to add some codes to retrieve data from our WASD on MC Azure. First of all we need to specify the WASD connection string. Copy the connection string from MC Azure portal and add into our cloud service configuration through Visual Studio.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_40.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_19.png" width="604" height="185" /&gt;&lt;/a&gt; Next, paste code into HomeController.cs so that it will retrieve all data from our database on the home page.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="overflow: auto; cursor: text; font-size: 8pt; border-top: silver 1px solid; font-family: 'Courier New', courier, monospace; border-right: silver 1px solid; border-bottom: silver 1px solid; padding-bottom: 4px; direction: ltr; text-align: left; padding-top: 4px; padding-left: 4px; margin: 20px 0px 10px; border-left: silver 1px solid; line-height: 12pt; padding-right: 4px; max-height: 200px; width: 97.5%; background-color: #f4f4f4"&gt;
&lt;div id="codeSnippet" style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum1" style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; ActionResult Index()&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum2" style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum3" style="color: #606060"&gt;   3:&lt;/span&gt;     ViewBag.Message = &lt;span style="color: #006080"&gt;"Modify this template to jump-start your ASP.NET MVC application."&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum4" style="color: #606060"&gt;   4:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum5" style="color: #606060"&gt;   5:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// retrieve blobs from storage&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum6" style="color: #606060"&gt;   6:&lt;/span&gt;     var connectionString = Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting(&lt;span style="color: #006080"&gt;"StorageConnection"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum7" style="color: #606060"&gt;   7:&lt;/span&gt;     var account = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse(connectionString);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum8" style="color: #606060"&gt;   8:&lt;/span&gt;     var client = account.CreateCloudBlobClient();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum9" style="color: #606060"&gt;   9:&lt;/span&gt;     var container = client.GetContainerReference(&lt;span style="color: #006080"&gt;"samples"&lt;/span&gt;);&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum10" style="color: #606060"&gt;  10:&lt;/span&gt;     var blobs = container.ListBlobs().Select(b =&amp;gt; b.Uri.AbsoluteUri).ToList();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum11" style="color: #606060"&gt;  11:&lt;/span&gt;     ViewBag.Blobs = blobs;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum12" style="color: #606060"&gt;  12:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum13" style="color: #606060"&gt;  13:&lt;/span&gt;     &lt;span style="color: #008000"&gt;// retrieve records from sql database&lt;/span&gt;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum14" style="color: #606060"&gt;  14:&lt;/span&gt;     var records = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;KeyValuePair&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;&amp;gt;();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum15" style="color: #606060"&gt;  15:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var conn = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SqlConnection(Microsoft.WindowsAzure.CloudConfigurationManager.GetSetting(&lt;span style="color: #006080"&gt;"SqlConnection"&lt;/span&gt;)))&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum16" style="color: #606060"&gt;  16:&lt;/span&gt;     {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum17" style="color: #606060"&gt;  17:&lt;/span&gt;         var cmd = conn.CreateCommand();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum18" style="color: #606060"&gt;  18:&lt;/span&gt;         cmd.CommandText = &lt;span style="color: #006080"&gt;"SELECT [Key], [Value] FROM [RESOURCE] ORDER BY [Key]"&lt;/span&gt;;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum19" style="color: #606060"&gt;  19:&lt;/span&gt;         conn.Open();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum20" style="color: #606060"&gt;  20:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; (var reader = cmd.ExecuteReader())&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum21" style="color: #606060"&gt;  21:&lt;/span&gt;         {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum22" style="color: #606060"&gt;  22:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;while&lt;/span&gt; (reader.Read())&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum23" style="color: #606060"&gt;  23:&lt;/span&gt;             {&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum24" style="color: #606060"&gt;  24:&lt;/span&gt;                 records.Add(&lt;span style="color: #0000ff"&gt;new&lt;/span&gt; KeyValuePair&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;((&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)reader[&lt;span style="color: #006080"&gt;"Key"&lt;/span&gt;], (&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;)reader[&lt;span style="color: #006080"&gt;"Value"&lt;/span&gt;]));&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum25" style="color: #606060"&gt;  25:&lt;/span&gt;             }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum26" style="color: #606060"&gt;  26:&lt;/span&gt;         }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum27" style="color: #606060"&gt;  27:&lt;/span&gt;     }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum28" style="color: #606060"&gt;  28:&lt;/span&gt;     ViewBag.Records = records;&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum29" style="color: #606060"&gt;  29:&lt;/span&gt;  &lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: #f4f4f4"&gt;&lt;span id="lnum30" style="color: #606060"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; View();&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;pre style="border-top-style: none; overflow: visible; font-size: 8pt; border-left-style: none; font-family: 'Courier New', courier, monospace; border-bottom-style: none; color: black; padding-bottom: 0px; direction: ltr; text-align: left; padding-top: 0px; border-right-style: none; padding-left: 0px; margin: 0em; line-height: 12pt; padding-right: 0px; width: 100%; background-color: white"&gt;&lt;span id="lnum31" style="color: #606060"&gt;  31:&lt;/span&gt; }&lt;/pre&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Then publish the application to MC Azure, below is the result of the home page.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_42.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; float: none; margin-left: auto; display: block; border-top-width: 0px; margin-right: auto" border="0" alt="image" src="https://gwb.blob.core.windows.net/shaunxu/WindowsLiveWriter/7c0c33369409_DC0F/image_thumb_20.png" width="431" height="330" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;From the functionality perspective, Windows Azure China (MC Azure) is exactly same as the existing Windows Azure in worldwide (WW Azure). But MC Azure has some different endpoints. When developing against MC, we need to pay attention to the endpoints listed below. &lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" width="797" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" width="187"&gt;&lt;strong&gt;Service Type&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="308"&gt;&lt;strong&gt;Windows Azure Worldwide&lt;/strong&gt;&lt;/td&gt;
&lt;td valign="top" width="300"&gt;&lt;strong&gt;Windows Azure China&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;General&lt;/td&gt;
&lt;td valign="top" width="308"&gt;*.windows.net&lt;/td&gt;
&lt;td valign="top" width="300"&gt;*.chinacloudapi.cn&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;Compute&lt;/td&gt;
&lt;td valign="top" width="308"&gt;*.cloudapp.net&lt;/td&gt;
&lt;td valign="top" width="300"&gt;*.chinacloudapp.cn&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;Storage&lt;/td&gt;
&lt;td valign="top" width="308"&gt;*.blob.core.windows.net &lt;br /&gt;*.queue.core.windows.net &lt;br /&gt;*.table.core.windows.net&lt;/td&gt;
&lt;td valign="top" width="300"&gt;*.blob.core.chinacloudapi.cn &lt;br /&gt;*.queue.core.chinacloudapi.cn &lt;br /&gt;*.table.core.chinacloudapi.cn&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;SQL Database&lt;/td&gt;
&lt;td valign="top" width="308"&gt;*.database.windows.net&lt;/td&gt;
&lt;td valign="top" width="300"&gt;*.database.chinacloudapi.cn&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;Management API&lt;/td&gt;
&lt;td valign="top" width="308"&gt;&lt;a href="https://management.core.windows.net"&gt;https://management.core.windows.net&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="300"&gt;&lt;a href="https://management.core.chinacloudapi.cn"&gt;https://management.core.chinacloudapi.cn&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="188"&gt;Portal&lt;/td&gt;
&lt;td valign="top" width="308"&gt;&lt;a href="http://manage.windowsazure.com"&gt;http://manage.windowsazure.com&lt;/a&gt;&lt;/td&gt;
&lt;td valign="top" width="300"&gt;&lt;a href="http://manage.windows.cn"&gt;http://manage.windows.cn&lt;/a&gt; &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;Some of them are easy to remember, but some may related with other function. For example, for diagnostic monitor and cache role, it needs to specify a storage account which should use MC storage endpoints. And some 3rd party component such as the Enterprise Library AutoScaling Application Block relies on the Management API, we need to check that the reference endpoint is correct to MC Azure. Some management tools, for example the Windows Azure Storage Explorer, we are willing them to add the functionality to specify the endpoints manually.&lt;/p&gt;
&lt;p&gt;After all, MC Azure is the first worldwide public cloud computing landed in China and it’s also the first time Microsoft running Windows Azure with different endpoints and with a operating partner. It needs time to make the service getting better and it should be true that when Windows Azure China GA all services running on Worldwide Azure should be available on Windows Azure China, even though with some different endpoints but much better bandwidth and network connectivity to all developers and customers in China.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Hope this helps,&lt;/p&gt;
&lt;p&gt;Shaun&lt;/p&gt;
&lt;div style="border-top: #888888 1px solid; border-right: #888888 1px solid; border-bottom: #888888 1px solid; color: #888888; padding-bottom: 10px; padding-top: 10px; padding-left: 10px; border-left: #888888 1px solid; padding-right: 10px"&gt;&lt;i&gt;All documents and related graphics, codes are provided "AS IS" without warranty of any kind. &lt;br /&gt;Copyright © Shaun Ziyan Xu. This work is licensed under the &lt;a title="Creative Commons Attribution License" href="http://creativecommons.org/licenses/by/3.0/" rel="external license"&gt;Creative Commons License&lt;/a&gt;. &lt;/i&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/shaunxu/aggbug/153099.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/euWOvoqIcVs" height="1" width="1"/&gt;</description><dc:creator>Shaun</dc:creator><feedburner:origLink>http://geekswithblogs.net/shaunxu/archive/2013/06/10/tips-an-tricks-of-developing-on-windows-azure-china.aspx</feedburner:origLink></item><item><title>APP MASHUP Leveraging Meetup, Twitter &amp;amp; Facebook APIs &amp;ndash; Free Webcast</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/c22VAp306FA/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx</link><pubDate>Mon, 10 Jun 2013 10:22:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Mathoms/archive/2013/06/10/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx</guid><wfw:comment>http://geekswithblogs.net/Mathoms/comments/153105.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Mathoms/comments/commentRss/153105.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Mathoms/archive/2013/06/10/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Mathoms/services/trackbacks/153105.aspx</trackback:ping><source url="http://geekswithblogs.net/Mathoms/rss.aspx">Mathoms</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Mathoms/archive/2013/06/10/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx'&gt;http://geekswithblogs.net/Mathoms/archive/2013/06/10/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Wednesday, June 12, 12:00 – 1:00 EDT ONLINE&lt;/p&gt;  &lt;p&gt;LEVEL: Beginner to Expert – all experience levels welcome&lt;/p&gt;  &lt;p&gt;REGISTER: &lt;a href="http://aka.ms/Hpwns9"&gt;http://aka.ms/Hpwns9&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this one-hour online workshop you will learn how to &lt;strong&gt;develop Windows 8 apps using the Twitter, Meetup and Facebook APIs.&lt;/strong&gt; Twitter, Meetup and Facebook are the premier social networking sites and their API’s provide access to Tweets, Meetups and Friends. What a great combination! We will cover how to access the Twitter, Meetup and Facebook web service API’s from code, deserialize the response into a set of runtime objects that you can bind to Windows 8 UX Controls such as the GridView and the ListView. You will also receive instructions on how to &lt;strong&gt;submit your app to the Windows 8 store.&lt;/strong&gt;  This workshop is great for students, hobbyists and professional developers who want to learn the basics of app development and publish their first app to the store.&lt;/p&gt;  &lt;p&gt;Don't forget to check out the &lt;strong&gt;"Keep the Cash Rewards"&lt;/strong&gt; offer to see how you can get $100 for publishing your app(s) in the Windows Store and/or Windows Phone Store. Publish your app before June 30, 2013 and you can get a $100 virtual Visa card for every qualified app you enter (up to $2000*). &lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200202119"&gt;Learn more&lt;/a&gt;.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Mathoms/aggbug/153105.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/c22VAp306FA" height="1" width="1"/&gt;</description><dc:creator>Michael Cummings</dc:creator><feedburner:origLink>http://geekswithblogs.net/Mathoms/archive/2013/06/10/app-mashup-leveraging-meetup-twitter-amp-facebook-apis-ndash-free.aspx</feedburner:origLink></item><item><title>Securing WebAPI and stopping CSRF requests</title><category>WebApi</category><category>CodeProject</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QKwxR40JXuY/securing-webapi-and-stopping-csrf-requests.aspx</link><pubDate>Mon, 10 Jun 2013 03:43:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Aligned/archive/2013/06/10/securing-webapi-and-stopping-csrf-requests.aspx</guid><wfw:comment>http://geekswithblogs.net/Aligned/comments/153100.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Aligned/comments/commentRss/153100.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Aligned/archive/2013/06/10/securing-webapi-and-stopping-csrf-requests.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Aligned/services/trackbacks/153100.aspx</trackback:ping><source url="http://geekswithblogs.net/Aligned/rss.aspx">Programming and Learning from SD</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/Aligned/archive/2013/06/10/securing-webapi-and-stopping-csrf-requests.aspx'&gt;http://geekswithblogs.net/Aligned/archive/2013/06/10/securing-webapi-and-stopping-csrf-requests.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I just read this article in the June MSDN magazine by Peter Vogel and thought it needed to be highlighted. If you're using WebAPI you should think about Cross-Site Request Forgeries. It also applies to the &lt;a href="http://www.microsoft.com/learning/en/us/exam-70-487.aspx#fbid=RC2uBRS-6mp" target="_blank"&gt;70-487&lt;/a&gt; test.&lt;/p&gt;  &lt;p&gt;"ASP.NET doesn’t automatically protect you against Cross-Site Request Forgery (CSRF/XSRF) attacks (more on that later)."&lt;/p&gt;  &lt;p&gt;"When a user accesses an ASP.NET site using Forms Authentication, ASP.NET generates a cookie that stipulates the user is authenticated. The browser will continue to send that cookie on every subsequent request to the site, no matter from where that request originates. This opens your site to CSRF attacks, as does any authentication scheme where the browser automatically sends authentication information previously received. If, after your site provides the browser with the security cookie, the user visits some malicious site, then that site can send requests to your service, piggy-backing on the authentication cookie the browser received earlier.&lt;/p&gt;  &lt;p&gt;To prevent CSRF attacks, you’ll need to generate antiforgery tokens at the server and embed them in the page to be used in your client-side calls. Microsoft provides the AntiForgery class with a GetToken method that will generate tokens specific to the user who made the request (who may, of course, be the anonymous user)." (continue reading for code examples and more information.&lt;/p&gt;  &lt;p&gt;He also shows how to do custom authentication using an &lt;a href="http://msdn.microsoft.com/en-us/library/zec9k340(v=VS.71).aspx" target="_blank"&gt;HTTPModule&lt;/a&gt; or MessageHandler by inheriting from &lt;a href="http://msdn.microsoft.com/en-us/library/system.net.http.delegatinghandler.aspx" target="_blank"&gt;DelegatingHandler&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/dn201748.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/dn201748.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;NOTE: &lt;a href="http://www.codeguru.com/csharp/.net/net_asp/preventing-cross-site-scripting-attacks-in-asp.net-mvc-4.htm"&gt;Preventing Cross Site Scripting Attacks in ASP.NET MVC 4&lt;/a&gt; is related, but for MVC 4.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Aligned/aggbug/153100.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QKwxR40JXuY" height="1" width="1"/&gt;</description><dc:creator>Aligned</dc:creator><feedburner:origLink>http://geekswithblogs.net/Aligned/archive/2013/06/10/securing-webapi-and-stopping-csrf-requests.aspx</feedburner:origLink></item><item><title>Released LINQ to Twitter v2.1.06</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EG1FnMFeEE0/released-linq-to-twitter-v2.1.06.aspx</link><pubDate>Mon, 10 Jun 2013 02:28:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2013/06/10/released-linq-to-twitter-v2.1.06.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/153098.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/153098.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2013/06/10/released-linq-to-twitter-v2.1.06.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/153098.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Joe Mayo</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/WinAZ/archive/2013/06/10/released-linq-to-twitter-v2.1.06.aspx'&gt;http://geekswithblogs.net/WinAZ/archive/2013/06/10/released-linq-to-twitter-v2.1.06.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Released LINQ to Twitter v2.1.06: &lt;a href="http://bit.ly/11CHNdb"&gt;http://bit.ly/11CHNdb&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Here are a few highlights of this release:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Updated MVC sample (in source code) to MVC 4.0.&lt;/li&gt;    &lt;li&gt;Added support for Symbol Entities.&lt;/li&gt;    &lt;li&gt;Added StallWarning param to Streaming APIs.&lt;/li&gt;    &lt;li&gt;Caught up adding all missing parameters for all APIs (could be a few breaking changes with modified overloads – e.g. trimUser for UpdateStatus).&lt;/li&gt;    &lt;li&gt;Changed cache_age on StatusType.OEmbed response to integer to fix unannounced breaking change in Twitter API.&lt;/li&gt;    &lt;li&gt;Deprecated old/unused TwitterContext constructors.&lt;/li&gt;    &lt;li&gt;Added constructor for SL/WP/Win8 apps to support custom IWebRequestCreate, allowing 3rd party providers. Also enables GZip support on WP7.1/8 through 3rd party providers, such as SharpGIS.WebRequestCreator.GZip.&lt;/li&gt;    &lt;li&gt;Refactored TwitterContext arrangements in Unit Tests.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="https://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/153098.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EG1FnMFeEE0" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2013/06/10/released-linq-to-twitter-v2.1.06.aspx</feedburner:origLink></item><item><title>Visualize Your Callstacks Via Flame Graphs</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vlDLy5xOyLY/153104.aspx</link><pubDate>Mon, 10 Jun 2013 15:02:34 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/akraus1/archive/2013/06/10/153104.aspx</guid><wfw:comment>http://geekswithblogs.net/akraus1/comments/153104.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/akraus1/comments/commentRss/153104.aspx</wfw:commentRss><comments>http://geekswithblogs.net/akraus1/archive/2013/06/10/153104.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/akraus1/services/trackbacks/153104.aspx</trackback:ping><source url="http://geekswithblogs.net/akraus1/rss.aspx">Alois Kraus</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/akraus1/archive/2013/06/10/153104.aspx'&gt;http://geekswithblogs.net/akraus1/archive/2013/06/10/153104.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I have found Bruce Dawson blog where he discusses the uses of &lt;a href="http://randomascii.wordpress.com/2013/03/26/summarizing-xperf-cpu-usage-with-flame-graphs/"&gt;Flame Graphs&lt;/a&gt;. Brendan Greg a Linux performance tool developer has created a nice &lt;a href="https://github.com/brendangregg/FlameGraph"&gt;perl script&lt;/a&gt; to render call stacks from a plain text file as a svg which can be viewed in all modern browsers. Bruce has used xperf with some undocumented switches to create a text extract of all call stacks. Then he used a python script to post process the generated file to make it compatible with the flamegraph perl script. I decided to make my own managed version of stack compressor which employs the &lt;a href="http://bcl.codeplex.com/wikipage?title=TraceEvent"&gt;TraceEvent&lt;/a&gt; library from Vance Morrison which gives you a powerful etl file parser. Below is an example of the generated graph after the perl script did post process it. &lt;/p&gt;  &lt;p&gt;&lt;a href="https://gwb.blob.core.windows.net/akraus1/WindowsLiveWriter/VisualizeYourCallstacksViaFlamegraphs_12B95/image_2.png"&gt;&lt;img title="image" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px; display: inline; border-top-width: 0px" border="0" alt="image" src="https://gwb.blob.core.windows.net/akraus1/WindowsLiveWriter/VisualizeYourCallstacksViaFlamegraphs_12B95/image_thumb.png" width="1205" height="752" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The x axis has no order but the width of the methods is proportional to the amount of used CPU time. The vertical axis shows the stack depth. If you hover with your mouse over the methods you get the full method name displayed. This is quite handy to get a different view of deeply nested stacks with many threads and or processes involved. The graph here makes it obvious that opening a file which is quite costly but closing the FileStream is also not cheap. Reading from the file is even cheaper than opening or closing it! This was a small sample app that did open and close one small file in an endless loop to get some interesting call stacks.&lt;/p&gt;  &lt;p&gt;My TraceParser executable does take an etl file and prints out the call stacks from all processes from the complete etl file. You can limit the time range as well as the time range and a substring match which stacks are you interested in. To get from process 5200 all stacks you need to do:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;TraceParser.exe C:\Users\Alois\AppData\Local\Temp\combined.etl * * 5200 &amp;gt; stacks.txt&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;flamegraph.pl stacks.txt &amp;gt; stacks.svg&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;It did take some time to get used to the TraceEvent library which is very powerful but also not so easy to use. I was constantly struggling with incomplete call stacks until I found that the default symbol resolver does only resolve some kernel symbols instead of everything.&lt;/p&gt;  &lt;pre class="csharpcode"&gt; &lt;span class="kwrd"&gt;public&lt;/span&gt; TraceLogOptions()
        {
            &lt;span class="rem"&gt;// These are the default modules to look up symbolically.  &lt;/span&gt;
            ShouldResolveSymbols = &lt;span class="kwrd"&gt;delegate&lt;/span&gt;(&lt;span class="kwrd"&gt;string&lt;/span&gt; moduleFilePath)
            {
                &lt;span class="kwrd"&gt;string&lt;/span&gt; moduleName = Path.GetFileNameWithoutExtension(moduleFilePath);
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;string&lt;/span&gt;.Compare(moduleName, &lt;span class="str"&gt;"ntdll"&lt;/span&gt;) == 0 ||
                    &lt;span class="kwrd"&gt;string&lt;/span&gt;.Compare(moduleName, &lt;span class="str"&gt;"kernel32"&lt;/span&gt;) == 0 ||
                    &lt;span class="kwrd"&gt;string&lt;/span&gt;.Compare(moduleName, &lt;span class="str"&gt;"ntkrnlpa"&lt;/span&gt;) == 0 ||
                    &lt;span class="kwrd"&gt;string&lt;/span&gt;.Compare(moduleName, &lt;span class="str"&gt;"ntoskrnl"&lt;/span&gt;) == 0)
                    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;;
                &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
            };
        }&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;This was definitely not what I wanted. But ShouldResolveSymbols = (s) =&amp;gt; &lt;span class="kwrd"&gt;true did the job. If you have problems with symbol loading you need to uncomment  &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="rem"&gt;ConversionLog = Console.Out&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;to see file and symbol loading in action on the console. I do read from an etl file only the profile events which do contain a full call stack of a specific process and print the call stack with a weight of one to the console. When you download TraceEvent from Codeplex you need to get msdia100.dll for your target platform. You can make your life easy and simply copy the one provided by PerfView which is unpacked into your user profile at e.g. %USERPROFILE%\AppData\Roaming\PerfMonitor\VER.2013-01-09.06.49.30.000\x86 or the one provided by Visual Studio for x86. You need to deploy it besides TraceEvent.dll to enable it to pick it up.&lt;/p&gt;

&lt;p&gt;Initially I did try to extract the stacks for a specific process with &lt;/p&gt;

&lt;pre class="csharpcode"&gt;var log = TraceLog.OpenOrConvert(file,
    &lt;span class="kwrd"&gt;new&lt;/span&gt; TraceLogOptions
    {
        AlwaysResolveSymbols = &lt;span class="kwrd"&gt;false&lt;/span&gt;,
        &lt;span class="rem"&gt;//   ConversionLog = Console.Out,&lt;/span&gt;
        ShouldResolveSymbols = (s) =&amp;gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;,
    });
Log = log;
var source = log.CPUStacks(&lt;span class="kwrd"&gt;null&lt;/span&gt;, &lt;span class="kwrd"&gt;false&lt;/span&gt;, (ev) =&amp;gt; ev.ProcessId = xxxx);
source.ProduceSamples( (Diagnostics.Tracing.StackSources.StackSourceSample stack) =&amp;gt;
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (stack.StackIndex &amp;gt; 0 &amp;amp;&amp;amp; (&lt;span class="kwrd"&gt;int&lt;/span&gt;)stack.StackIndex &amp;lt; Log.CallStacks.MaxCallStackIndex)
            {
                DumpCallStack(Log.CallStacks[(CallStackIndex)stack.StackIndex]);
            }
        });&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;&lt;span class="kwrd"&gt;But this did not filter the call stacks for a specific process out. I am not sure if I did miss anything but the many different enum types which are convertible or not into each other make it rather hard to switch from one object model (StackSample) to the CallStacks collection. In the end I did the filtering all by myself and it did work out quite nicely. Below is the final result of my experiment. The next step would be to visualize non profile events as well like context switch events. I am not sure yet how I can calculate from a context switch event (CSwitchTraceData) the CPU consumption. I only do see the wait time but what about the other time? The Flame graphs do provide a nice way to visualize CPU consumption across many call stacks at once. This could help in performance regression tests to identify changes in application logic which does consume more CPU than before. Wait times are unfortunately not captured but I am not sure if this would be very useful. With TPL we do tend to get quite wasteful with threads where many worker threads are waiting for work to arrive. When I visualize the wait times then I do see mainly the idle worker threads which is not useful. &lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="kwrd"&gt;What could be useful is to visualize the thread interaction and with ready events across the timeline. In principle it should be possible to create a logic chain why thread x did sleep for x ms and which thread did wake it up and to trace in the other thread back who did wake it up to get a sophisticated wait chain analysis how the threads do interact with each other. Not sure how reliable this would be but it certainly could be interesting. When one thread holds a lock and releases it while another thread was waiting for it it is immediately scheduled for execution by the OS scheduler. The likelihood that the ReadyThread is really the one which did wake my thread up is quite good but we would need to employ some other heuristics (like wait time and other hints) to see if we could print a thread interaction chart. The best thing would be of course that stuff like Flame Graphs and thread interaction visualization is already backed into WPT so we can all use it.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span class="kwrd"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;class&lt;/span&gt; Program
{
    TraceLog Log;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; MinMs = 0;
    &lt;span class="kwrd"&gt;int&lt;/span&gt; MaxMs = &lt;span class="kwrd"&gt;int&lt;/span&gt;.MaxValue;
    &lt;span class="kwrd"&gt;int&lt;/span&gt;[] Pids = &lt;span class="kwrd"&gt;null&lt;/span&gt;;
    &lt;span class="kwrd"&gt;string&lt;/span&gt;[] Args;
    &lt;span class="kwrd"&gt;string&lt;/span&gt; CallStackSubstring = &lt;span class="kwrd"&gt;null&lt;/span&gt;;

    &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] Args)
    {
        &lt;span class="kwrd"&gt;new&lt;/span&gt; Program(Args).Run();
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; Program(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] Args)
    {
        &lt;span class="kwrd"&gt;this&lt;/span&gt;.Args = Args;
    }

    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Run()
    {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args.Length == 0)
        {
            Console.WriteLine(&lt;span class="str"&gt;"(c) by Alois 2013"&lt;/span&gt;);
            Console.WriteLine(&lt;span class="str"&gt;"TraceParser does parse the full call stacks of all profile events to stdout which can be consumed"&lt;/span&gt;);
            Console.WriteLine(&lt;span class="str"&gt;"by flamegraph.pl to generate a .svg file which can be rederend in the browser."&lt;/span&gt;);
            Console.WriteLine(&lt;span class="str"&gt;"No etl file specified."&lt;/span&gt;);
            Console.WriteLine(&lt;span class="str"&gt;"Usage: TraceParser &amp;lt;etl file&amp;gt; &amp;lt;startInMs&amp;gt; &amp;lt;stopInMs&amp;gt; &amp;lt;pid&amp;gt; &amp;lt;callStackSubstring&amp;gt;"&lt;/span&gt;);
            Console.WriteLine(&lt;span class="str"&gt;"        startInMs, stopInMs and Pid can be replaced by * to not set any specific value for it"&lt;/span&gt;);
            &lt;span class="kwrd"&gt;return&lt;/span&gt;;
        }

        &lt;span class="kwrd"&gt;string&lt;/span&gt; file = Args[0];
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args.Length &amp;gt; 1)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args[1] != &lt;span class="str"&gt;"*"&lt;/span&gt;)
            {
                MinMs = &lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(Args[1]);
            }
        }
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args.Length &amp;gt; 2)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args[2] != &lt;span class="str"&gt;"*"&lt;/span&gt;)
            {
                MaxMs = &lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse(Args[2]);
            }
        }
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args.Length &amp;gt; 3)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args[3] != &lt;span class="str"&gt;"*"&lt;/span&gt;)
            {
                Pids = Args[3].Split(&lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;char&lt;/span&gt;[] { &lt;span class="str"&gt;','&lt;/span&gt; }, StringSplitOptions.RemoveEmptyEntries)
                                .Select(&lt;span class="kwrd"&gt;int&lt;/span&gt;.Parse)
                                .ToArray();
            }
        }
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Args.Length &amp;gt; 4)
        {
            CallStackSubstring = Args[4];
        }

        Symbols.SymPath._NT_SYMBOL_PATH = &lt;span class="str"&gt;@"c:\windows\symbols;C:\symbols;"&lt;/span&gt; + file + &lt;span class="str"&gt;".NGENPDB"&lt;/span&gt;;
        var log = TraceLog.OpenOrConvert(file,
            &lt;span class="kwrd"&gt;new&lt;/span&gt; TraceLogOptions
            {
                AlwaysResolveSymbols = &lt;span class="kwrd"&gt;false&lt;/span&gt;,
                &lt;span class="rem"&gt;//   ConversionLog = Console.Out,&lt;/span&gt;
                ShouldResolveSymbols = (s) =&amp;gt; &lt;span class="kwrd"&gt;true&lt;/span&gt;,
            });
        Log = log;


        &lt;span class="kwrd"&gt;if&lt;/span&gt; (Pids == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
        {
            Pids = log.Processes.Select(p =&amp;gt; p.ProcessID).ToArray();
        }

        &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (var pid &lt;span class="kwrd"&gt;in&lt;/span&gt; Pids)
        {
                &lt;span class="kwrd"&gt;foreach&lt;/span&gt;(var ev &lt;span class="kwrd"&gt;in&lt;/span&gt; log.Processes.Single(x =&amp;gt; x.ProcessID == pid)
                                                .EventsInProcess
                                                .ByEventType&amp;lt;SampledProfileTraceData&amp;gt;()
                                                .Where(ev =&amp;gt; ev.TimeStampRelativeMSec &amp;gt; MinMs &amp;amp;&amp;amp; ev.TimeStampRelativeMSec &amp;lt; MaxMs))
                {
                    DumpCallStack(Log.CallStacks[Log.GetCallStackIndexForEvent(ev)]);
                }
        }
    }

    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DumpCallStack(TraceCallStack traceCallStack)
    {
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (traceCallStack == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
        {
            &lt;span class="kwrd"&gt;return&lt;/span&gt;;
        }

        TraceCallStack current = traceCallStack;

        List&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;&amp;gt; stacks = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;&lt;span class="kwrd"&gt;string&lt;/span&gt;&amp;gt;();
        &lt;span class="kwrd"&gt;while&lt;/span&gt; (current != &lt;span class="kwrd"&gt;null&lt;/span&gt;)
        {
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (current.CodeAddress != &lt;span class="kwrd"&gt;null&lt;/span&gt;)
            {
                &lt;span class="rem"&gt;// do not step into the kernel where drivers with .sys are on the stack&lt;/span&gt;
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (current.CodeAddress.ModuleFileName.EndsWith(&lt;span class="str"&gt;".exe"&lt;/span&gt;) ||
                    current.CodeAddress.ModuleFileName.EndsWith(&lt;span class="str"&gt;".dll"&lt;/span&gt;))
                {
                    stacks.Add(String.Format(&lt;span class="str"&gt;"{0}!{1}"&lt;/span&gt;, current.CodeAddress.ModuleName, current.CodeAddress.FullMethodName));
                }
            }

            current = current.Caller;
        }

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (&lt;span class="kwrd"&gt;this&lt;/span&gt;.CallStackSubstring != &lt;span class="kwrd"&gt;null&lt;/span&gt;)
        {
            &lt;span class="rem"&gt;// clear all stacks which do not contain our code &lt;/span&gt;
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (!stacks.Any(x =&amp;gt; x.Contains(CallStackSubstring)))
            {
                stacks.Clear();
            }
        }

        stacks.Reverse();

        &lt;span class="kwrd"&gt;if&lt;/span&gt; (stacks.Count &amp;gt; 0)
        {
            Console.WriteLine();
            Console.Write(String.Join(&lt;span class="str"&gt;";"&lt;/span&gt;, stacks));
            Console.Write(&lt;span class="str"&gt;" 1"&lt;/span&gt;);
        }
    }
}&lt;/pre&gt;
&lt;style type="text/css"&gt;&lt;![CDATA[

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }]]&gt;&lt;/style&gt;

&lt;p&gt;&lt;span class="kwrd"&gt; &lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/akraus1/aggbug/153104.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vlDLy5xOyLY" height="1" width="1"/&gt;</description><dc:creator>Alois Kraus</dc:creator><feedburner:origLink>http://geekswithblogs.net/akraus1/archive/2013/06/10/153104.aspx</feedburner:origLink></item><item><title>Number of Unit test projects in Visual Studio solution</title><category>.Net Framework</category><category>Testing/Debugging/Logging</category><link>http://feedproxy.google.com/~r/geekswithblogs/~3/OFBqPtysm9Y/number-of-unit-test-projects-in-visual-studio-solution.aspx</link><pubDate>Sat, 08 Jun 2013 20:11:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mnf/archive/2013/06/09/number-of-unit-test-projects-in-visual-studio-solution.aspx</guid><wfw:comment>http://geekswithblogs.net/mnf/comments/153089.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mnf/comments/commentRss/153089.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mnf/archive/2013/06/09/number-of-unit-test-projects-in-visual-studio-solution.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/mnf/services/trackbacks/153089.aspx</trackback:ping><source url="http://geekswithblogs.net/mnf/rss.aspx">Michael Freidgeim's Blog</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/mnf/archive/2013/06/09/number-of-unit-test-projects-in-visual-studio-solution.aspx'&gt;http://geekswithblogs.net/mnf/archive/2013/06/09/number-of-unit-test-projects-in-visual-studio-solution.aspx&lt;/a&gt;&lt;/p&gt;&lt;div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Some time ago I have discussion with my co-worker  how to organize test projects. &lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;Should we have &lt;span style="text-align: left; font-family: Calibri, sans-serif; font-size: 15px;"&gt;a single test project that does all sorts of things and references every project?&lt;/span&gt;&lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;It is good to have one integration test dll, but for unit tests, what is the point merging everything into one.&lt;/div&gt;&lt;div style="font:/normal Tahoma; text-align: left; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;font face="Calibri, sans-serif"&gt;&lt;span style="font-size: 15px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;In ideal world I agree that small independent projects are better. Unfortunately we have  solution size limitations &lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;From &lt;a href="http://stackoverflow.com/questions/5197192/which-is-better-unit-test-project-per-solution-or-per-project?lq=1"&gt;http://stackoverflow.com/questions/5197192/which-is-better-unit-test-project-per-solution-or-per-project?lq=1&lt;/a&gt;&lt;/div&gt;&lt;blockquote style="font:/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;div&gt;However, Visual Studio performance quickly degrades as the number of projects increases. Around the 40 project mark compilation becomes an obstacle to compiling and running the tests, so larger projects may benefit from consolidating test projects.&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;From &lt;a href="http://msdn.microsoft.com/en-us/library/bb668953.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb668953.aspx&lt;/a&gt;&lt;/div&gt;&lt;ul style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;&lt;li&gt;Single solution. If you work on a small system, create a single solution and place all of your projects within it.&lt;/li&gt;&lt;li&gt;Partitioned solution. If you work on a large system, use multiple solutions to group related projects together. Create solutions to logically group subsets of projects that a developer would be most likely to modify as a set, and then create one master solution to contain all of your projects. This approach reduces the amount of data that needs to be pulled from source control when you only need to work on specific projects.&lt;/li&gt;&lt;li&gt;Multiple solutions. If you are working on a very large system that requires dozens of projects or more, use multiple solutions to work on sub-systems but for dependency mapping and performance reasons do not create a master solution that contains all projects.&lt;/li&gt;&lt;/ul&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;At the moment we decided to go with one huge integration test and one huge unit test projects.&lt;/div&gt;&lt;div style="font:/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"&gt;And we constantly trying to keep reasonable (not too many) number of projects in the main solution. Unfortunately this number is quite big - 70+. &lt;br /&gt;&lt;/div&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/mnf/aggbug/153089.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/OFBqPtysm9Y" height="1" width="1"/&gt;</description><dc:creator>Michael Freidgeim</dc:creator><feedburner:origLink>http://geekswithblogs.net/mnf/archive/2013/06/09/number-of-unit-test-projects-in-visual-studio-solution.aspx</feedburner:origLink></item><item><title>CMAP Code Camp &amp;ndash; TypeScript Code Samples</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/GAjivzFvyts/cmap-code-camp-ndash-typescript-code-samples.aspx</link><pubDate>Fri, 07 Jun 2013 08:50:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michelotti/archive/2013/06/07/cmap-code-camp-ndash-typescript-code-samples.aspx</guid><wfw:comment>http://geekswithblogs.net/michelotti/comments/153084.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michelotti/comments/commentRss/153084.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michelotti/archive/2013/06/07/cmap-code-camp-ndash-typescript-code-samples.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michelotti/services/trackbacks/153084.aspx</trackback:ping><source url="http://geekswithblogs.net/michelotti/rss.aspx">Steve Michelotti</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/michelotti/archive/2013/06/07/cmap-code-camp-ndash-typescript-code-samples.aspx'&gt;http://geekswithblogs.net/michelotti/archive/2013/06/07/cmap-code-camp-ndash-typescript-code-samples.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Thanks to everyone who attended my presentation at last week’s CMAP code camp. All code samples and slides can be &lt;a href="https://github.com/smichelotti/TypeScript-presentation"&gt;found here&lt;/a&gt;.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/michelotti/aggbug/153084.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/GAjivzFvyts" height="1" width="1"/&gt;</description><dc:creator>Steve Michelotti</dc:creator><feedburner:origLink>http://geekswithblogs.net/michelotti/archive/2013/06/07/cmap-code-camp-ndash-typescript-code-samples.aspx</feedburner:origLink></item><item><title>Create and publish your NuGet package in one click with the New-NuGetPackage PowerShell script</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/26iqENY5iRo/create-and-publish-your-nuget-package-in-one-click-with.aspx</link><pubDate>Fri, 07 Jun 2013 14:56:52 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2013/06/07/create-and-publish-your-nuget-package-in-one-click-with.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/153085.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/153085.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2013/06/07/create-and-publish-your-nuget-package-in-one-click-with.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/153085.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Daniel Schroeder</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/deadlydog/archive/2013/06/07/create-and-publish-your-nuget-package-in-one-click-with.aspx'&gt;http://geekswithblogs.net/deadlydog/archive/2013/06/07/create-and-publish-your-nuget-package-in-one-click-with.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;I’ve spent a good chunk of time investigating how nuget.exe works and creating &lt;a href="https://newnugetpackage.codeplex.com/"&gt;a PowerShell script called New-NuGetPackage&lt;/a&gt; to make it dirt simple to pack and push new NuGet packages.&lt;/p&gt;  &lt;p&gt;Here’s a list of some of the script’s features:&lt;/p&gt;  &lt;p&gt;Read more at &lt;a title="http://blog.danskingdom.com/create-and-publish-your-nuget-package-in-one-click-with-the-new-nugetpackage-powershell-script/" href="http://blog.danskingdom.com/create-and-publish-your-nuget-package-in-one-click-with-the-new-nugetpackage-powershell-script/"&gt;http://blog.danskingdom.com/create-and-publish-your-nuget-package-in-one-click-with-the-new-nugetpackage-powershell-script/&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/153085.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/26iqENY5iRo" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2013/06/07/create-and-publish-your-nuget-package-in-one-click-with.aspx</feedburner:origLink></item><item><title>Yona Shtern, CEO of Beyond the Rack, Speaking at ICTAM Breakfast June 12</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/KDiE1ch7bCk/153083.aspx</link><pubDate>Fri, 07 Jun 2013 02:26:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/dlussier/archive/2013/06/07/153083.aspx</guid><wfw:comment>http://geekswithblogs.net/dlussier/comments/153083.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/dlussier/comments/commentRss/153083.aspx</wfw:commentRss><comments>http://geekswithblogs.net/dlussier/archive/2013/06/07/153083.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/dlussier/services/trackbacks/153083.aspx</trackback:ping><source url="http://geekswithblogs.net/dlussier/rss.aspx">D'Arcy from Winnipeg</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/dlussier/archive/2013/06/07/153083.aspx'&gt;http://geekswithblogs.net/dlussier/archive/2013/06/07/153083.aspx&lt;/a&gt;&lt;/p&gt;&lt;p&gt;ICTAM has a fantastic breakfast meeting scheduled for Wednesday, June 12th! If you’re interested in startup culture, e-commerce, and hot breakfasts, definitely consider checking it out! Note that there’s a cost for the event.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Date:     &lt;/b&gt;                Wednesday, June 12, 2013 &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Location:             &lt;/b&gt;The Fairmont Winnipeg, 2 Lombard Place, Winnipeg, Manitoba &lt;/p&gt;  &lt;p&gt;&lt;b&gt;Time:&lt;/b&gt;                    7:30am – 9:15am&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Cost:      &lt;/b&gt;                ICTAM Members - $40.00 / Non-Members - $80.00 (includes hot breakfast)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Details and Registration:&lt;/b&gt; &lt;a href="http://ictam.olasoft.com/viewEvent.html?productId=7382"&gt;http://ictam.olasoft.com/viewEvent.html?productId=7382&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;More Information: &lt;/b&gt;&lt;a href="mailto:Nancy.zubriski@ictam.ca"&gt;Nancy.zubriski@ictam.ca&lt;/a&gt; or 204 944-0533 &lt;/p&gt;  &lt;p&gt;Canada's Yona Shtern failed at four startups before succeeding on his fifth with Beyond the Rack. A private shopping club for women and men offering authentic designer brand apparel and accessories at up to 80% off retail prices, Beyond the Rack's sales hit $6 million in its first year, $50 million in its second and $100 million in its third. By 2012 sales had reached a staggering $200 million. Shtern credits big bucks (including $53 million from angel and venture-capital investors) and the brainpower behind it—so-called “smart money”—as essential to creating one of North America's fastest-growing on-line enterprises. Yona will share the story of Beyond the Rack, its meteoric rise as an online retail powerhouse and the factors and strategies that continue to feed its success. His discussion will cover:&lt;/p&gt;  &lt;p&gt;· Raising capital&lt;/p&gt;  &lt;p&gt;· Recognizing gaps in expertise and investing in top senior talent&lt;/p&gt;  &lt;p&gt;· Turning your employees into stakeholders&lt;/p&gt;  &lt;p&gt;· Keeping focus and working toward your objectives&lt;/p&gt; &lt;img src="http://geekswithblogs.net/dlussier/aggbug/153083.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/KDiE1ch7bCk" height="1" width="1"/&gt;</description><dc:creator>D'Arcy Lussier</dc:creator><feedburner:origLink>http://geekswithblogs.net/dlussier/archive/2013/06/07/153083.aspx</feedburner:origLink></item><item><title>MDUGJax KICKOFF!!! - Mr Joe Healy himself presenting - BUILDING WINDOWS 8 APPS WITH API-MASHED TEMPLATES</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Zi8ykD551_k/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx</link><pubDate>Thu, 06 Jun 2013 16:33:34 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mrad/archive/2013/06/06/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx</guid><wfw:comment>http://geekswithblogs.net/mrad/comments/153077.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mrad/comments/commentRss/153077.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mrad/archive/2013/06/06/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mrad/services/trackbacks/153077.aspx</trackback:ping><source url="http://geekswithblogs.net/mrad/rss.aspx">Mark J Radacz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/mrad/archive/2013/06/06/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx'&gt;http://geekswithblogs.net/mrad/archive/2013/06/06/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx&lt;/a&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;span style="font-family: inherit; font-size: medium; "&gt;&lt;strong style="display: inline; font-family: inherit; "&gt;FREE STUFF ALERT!!!&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;span style="font-family: inherit; font-size: medium; "&gt;&lt;strong style="display: inline; font-family: inherit; "&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;span style="font-family: inherit; font-size: medium; "&gt;&lt;strong style="display: inline; font-family: inherit; "&gt;event link:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;a href="http://www.meetup.com/MDUGJax/events/123007012/"&gt;http://www.meetup.com/MDUGJax/events/123007012/&lt;/a&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 14px; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;span style="font-family: inherit; font-size: medium; "&gt;&lt;strong style="display: inline; font-family: inherit; "&gt;PLS follow the link above to REGISTER TO BE ABLE TO WIN FREE STUFF from Microsoft, Nokia, Telerik and other vendors!!! &lt;br /&gt;&lt;br /&gt;Microsoft Developers User Group Jax&lt;/strong&gt;&lt;/span&gt; (&lt;strong style="display: inline; font-family: inherit; "&gt;MDUGJax&lt;/strong&gt;) official kickoff event.&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; color: rgb(85, 85, 85); line-height: 19px; background-color: rgb(230, 230, 230); "&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;food and location sponsored by Incepture Jacksonville.&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;Florida's First Coast welcomes back:&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;font size="4"&gt;&lt;b&gt;Joe Healy (Microsoft)&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;blog: &lt;a href="http://www.devfish.net"&gt;http://www.devfish.net&lt;/a&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;who will be presenting:&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;font size="4"&gt;&lt;b&gt;"BUILDING WINDOWS 8 APPS WITH API-MASHED TEMPLATES"&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;Building an app from scratch is great.  But why not start with some building blocks someone else has laid out, &lt;br /&gt;and make them your own?  We’ve got a number of mashable API driven templates that can give you a jumpstart &lt;br /&gt;on building a Windows 8 application.  Come explore the templates and how to use and customize them at this &lt;br /&gt;technical overview talk.&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;Attendees should have some level of comfort with CSharp and XAML for this talk.&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;Presenter:  Joe Healy (@devfish :: &lt;a href="http://blogs.msdn.com/devfish/"&gt;http://blogs.msdn.com/devfish/&lt;/a&gt; ) is the&lt;b&gt; Developer Evangelist&lt;/b&gt; for Microsoft &lt;br /&gt;in the state of Florida.  Follow his blog to keep up with him on the latest happenings in the area!&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;When:&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;/p&gt;&lt;p class="headline" style="margin: 0px 0px 0.25em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 20px; line-height: 22px; color: rgb(39, 39, 39); background-color: rgb(255, 255, 255); "&gt;Tuesday, June 18, 2013&lt;/p&gt;&lt;p class="subtext" style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; color: rgb(119, 119, 119); background-color: rgb(255, 255, 255); "&gt;6:00 PM&lt;/p&gt;&lt;p class="subtext" style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; color: rgb(119, 119, 119); background-color: rgb(255, 255, 255); "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;Where:&lt;/p&gt;&lt;p style="font-size: 14px; margin: 0px 0px 0.7em; padding: 0px; "&gt;&lt;/p&gt;&lt;p class="headline" itemprop="name" style="margin: 0px 0px 0.25em; padding: 0px; font-family: verdana, arial, sans-serif; font-size: 20px; line-height: 22px; color: rgb(39, 39, 39); background-color: rgb(255, 255, 255); "&gt;&lt;a href="http://maps.google.com/maps?q=9840+Tapestry+Park+Circle%2C+Jacksonville%2C+FL" target="_blank" title="" style="display: inline; font-family: inherit; cursor: pointer; color: rgb(0, 42, 76); text-decoration: none; "&gt;Hotel Indigo Jacksonville - Deerwood Park&lt;/a&gt;&lt;/p&gt;&lt;p class="event-where-address subtext" itemprop="address" itemscope="" itemtype="http://schema.org/PostalAddress" style="margin: 0px 0px 0.7em; padding: 0px; font-family: verdana, arial, sans-serif; line-height: 18px; color: rgb(119, 119, 119); background-color: rgb(255, 255, 255); "&gt;9840 Tapestry Park Circle, &lt;span style="font-family: inherit; "&gt;Jacksonville&lt;/span&gt;, &lt;span style="font-family: inherit; "&gt;FL&lt;/span&gt; &lt;span class="event-map-link" style="display: inline; font-family: inherit; font-size: 12px; "&gt;(&lt;a href="http://maps.google.com/maps?q=9840+Tapestry+Park+Circle%2C+Jacksonville%2C+FL" target="_blank" style="display: inline; font-family: inherit; cursor: pointer; color: rgb(0, 42, 76); text-decoration: none; "&gt;map&lt;/a&gt;)&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mrad/aggbug/153077.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Zi8ykD551_k" height="1" width="1"/&gt;</description><dc:creator>mrad</dc:creator><feedburner:origLink>http://geekswithblogs.net/mrad/archive/2013/06/06/mdugjax-kickoff---mr-joe-healy-himself-presenting---building.aspx</feedburner:origLink></item><item><title>Icenium Overview and Demo - JAXMUG May 16, 2013</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vhsZhOZAIPo/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx</link><pubDate>Thu, 06 Jun 2013 16:10:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mrad/archive/2013/06/06/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx</guid><wfw:comment>http://geekswithblogs.net/mrad/comments/153076.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mrad/comments/commentRss/153076.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mrad/archive/2013/06/06/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mrad/services/trackbacks/153076.aspx</trackback:ping><source url="http://geekswithblogs.net/mrad/rss.aspx">Mark J Radacz</source><description>&lt;p&gt;Originally posted on: &lt;a href='http://geekswithblogs.net/mrad/archive/2013/06/06/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx'&gt;http://geekswithblogs.net/mrad/archive/2013/06/06/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx&lt;/a&gt;&lt;/p&gt;Presenting at JUXMUG&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Icenium Overview and Demo &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Find out how to use your skills in HTML, CSS and JavaScript to develop, &lt;/div&gt;&lt;div&gt;test, and publish applications that run natively on the Apple iOS and &lt;/div&gt;&lt;div&gt;Google Android mobile platforms by combining the convenience of &lt;/div&gt;&lt;div&gt;a local coding environment with cloud-based compilation, data storage, and publishing.&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;a href="http://www.jaxmug.com" target="none"&gt;link to the event&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://sdrv.ms/112Kth8" target="none"&gt;link to slides&lt;/a&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/mrad/aggbug/153076.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vhsZhOZAIPo" height="1" width="1"/&gt;</description><dc:creator>mrad</dc:creator><feedburner:origLink>http://geekswithblogs.net/mrad/archive/2013/06/06/icenium-overview-and-demo---jaxmug-may-16-2013-yet-again.aspx</feedburner:origLink></item></channel></rss>
