<?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>Windows Phone Marketplace Requests</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/OkNF_zxvdaM/windows-phone-marketplace-requests.aspx</link><pubDate>Wed, 08 Feb 2012 18:46:03 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/sdorman/archive/2012/02/08/windows-phone-marketplace-requests.aspx</guid><wfw:comment>http://geekswithblogs.net/sdorman/comments/148638.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/sdorman/comments/commentRss/148638.aspx</wfw:commentRss><comments>http://geekswithblogs.net/sdorman/archive/2012/02/08/windows-phone-marketplace-requests.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/sdorman/services/trackbacks/148638.aspx</trackback:ping><source url="http://geekswithblogs.net/sdorman/rss.aspx">Windows Phone Marketplace Requests</source><description>&lt;p&gt;The Windows Phone Marketplace is ever growing (at the time of this post, there were around 60,000 apps), but sometimes the application you’re looking for is only available for Android or iOS. Sometimes this is because the vendor doesn't think the Windows Phone community is large enough to matter so they refuse to build (or even consider building) a Windows Phone version; other times it's because the vendor simply doesn't realize there is a demand for it. As consumers, the only thing we can do is be vocal about our desire to see these applications on Windows Phone.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://wprequests.uservoice.com/"&gt;&lt;img style="BACKGROUND-IMAGE: none; BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" title="wp_logo2" border="0" alt="wp_logo2" src="http://geekswithblogs.net/images/geekswithblogs_net/sdorman/Windows-Live-Writer/b2f0c68208c6_C081/wp_logo2_3.png" width="236" height="70" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In an effort to raise awareness, I just launched &lt;a href="http://wprequests.uservoice.com/"&gt;Windows Phone Marketplace Requests&lt;/a&gt;. This is our opportunity to request applications and show those companies just how much interest there is for seeing their application on the Windows Phone platform. This site is currently running on a free UserVoice site, so I’m a bit limited on how much customization can be done, but it allows you to easily submit application requests, add comments, and, &lt;strong&gt;more importantly, vote&lt;/strong&gt; for your favorite applications to come to Windows Phone!&lt;/p&gt;
&lt;div style="PADDING-BOTTOM: 4px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; FLOAT: none; PADDING-TOP: 4px" class="wlWriterHeaderFooter"&gt;&lt;iframe style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; WIDTH: 450px; HEIGHT: 80px; BORDER-TOP: medium none; BORDER-RIGHT: medium none" src="http://www.facebook.com/widgets/like.php?href=http://geekswithblogs.net/sdorman/archive/2012/02/08/windows-phone-marketplace-requests.aspx" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/sdorman/aggbug/148638.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/OkNF_zxvdaM" height="1" width="1"/&gt;</description><dc:creator>Scott Dorman</dc:creator><feedburner:origLink>http://geekswithblogs.net/sdorman/archive/2012/02/08/windows-phone-marketplace-requests.aspx</feedburner:origLink></item><item><title>TFS 2010 Grant Backup Plan Permissions Error</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/P01Rxo9T8SY/tfs-2010-gran-backup-plan-permissions-error.aspx</link><pubDate>Wed, 08 Feb 2012 18:40:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/BobHardister/archive/2012/02/08/tfs-2010-gran-backup-plan-permissions-error.aspx</guid><wfw:comment>http://geekswithblogs.net/BobHardister/comments/148637.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/BobHardister/comments/commentRss/148637.aspx</wfw:commentRss><comments>http://geekswithblogs.net/BobHardister/archive/2012/02/08/tfs-2010-gran-backup-plan-permissions-error.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/BobHardister/services/trackbacks/148637.aspx</trackback:ping><source url="http://geekswithblogs.net/BobHardister/rss.aspx">TFS 2010 Grant Backup Plan Permissions Error</source><description>&lt;h1&gt;The Problem&lt;/h1&gt;  &lt;p&gt;After setting up a new instance of TFS I attempting to use the TFS 2010 Power Tools (Dec ‘11) Team Foundation Backups wizard.  However, during the Backup Plan Wizard Readiness Checks, the “Grant Backup Plan Permissions” step failed with the error – Account… failed to create backups using path…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/BobHardister/Windows-Live-Writer/TFS-2010-Gran-Backup-Plan-Permissions-Er_AF0D/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/BobHardister/Windows-Live-Writer/TFS-2010-Gran-Backup-Plan-Permissions-Er_AF0D/image_thumb.png" width="364" height="292" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h1&gt;The Fix&lt;/h1&gt;  &lt;p&gt;Digging into the log created during the Readiness Check I found the following error - &lt;font size="1"&gt;Error  @xxx Microsoft.SqlServer.Management.Smo.FailedOperationException: Backup failed for Server 'xxx'.  ---&amp;gt; Microsoft.SqlServer.Management.Common.ExecutionFailureException: An exception occurred while executing a Transact-SQL statement or batch. ---&amp;gt; System.Data.SqlClient.SqlException: Cannot open backup device 'xxx.bak'. Operating system error 1240(The account is not authorized to log in from this station.).&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;The implication being that something SQL Server is trying to do isn’t working. To get this fixed I:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Created a small test DB on the SQL Server box&lt;/li&gt;    &lt;li&gt;Attempted to backup this DB to the TFS backup location – this failed&lt;/li&gt;    &lt;li&gt;Attempted to open the backup location folder from the SQL Server machine – this failed&lt;/li&gt;    &lt;li&gt;Investigated as a possible OS/policy issue&lt;/li&gt;    &lt;li&gt;It turns out that this machine’s security policy - &lt;strong&gt;Microsoft network client: Digitally sign communications (always)&lt;/strong&gt; – &lt;font color="#ff0000"&gt;was enabled&lt;/font&gt;.  &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Changed this to &lt;font color="#0000ff"&gt;disabled&lt;/font&gt; and rebooted the server&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Voila – I was able to validate and create a new backup plan with the wizard.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/BobHardister/aggbug/148637.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/P01Rxo9T8SY" height="1" width="1"/&gt;</description><dc:creator>Bob Hardister</dc:creator><feedburner:origLink>http://geekswithblogs.net/BobHardister/archive/2012/02/08/tfs-2010-gran-backup-plan-permissions-error.aspx</feedburner:origLink></item><item><title>Transition to exchange 2010 from exchange 2007</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/UisfJkygrkk/transition-to-exchange-2010-from-exchange-2007.aspx</link><pubDate>Wed, 08 Feb 2012 12:24:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2012/02/08/transition-to-exchange-2010-from-exchange-2007.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/148636.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/148636.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2012/02/08/transition-to-exchange-2010-from-exchange-2007.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/148636.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">Transition to exchange 2010 from exchange 2007</source><description>&lt;!--[if !mso]&gt;
&lt;style&gt;
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;p class="MsoNormal"&gt;In the lifespan of an organisation its messaging environment
be transitioned to a newer version several times. Whilst this is not a
complicated thing to do it does require some level of planning and thought.
I’ll be addressing the transitioning from &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 to 2010 from a fairly
simple view here. Since the general outlines of the process are the same for
nearly every situation there is no need for different detailed documents on
this. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;We’ll be working with the following infrastructure in this
guide:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2 windows 2008 R2 domain controllers
(forest/domain level 2003 native).&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3 server (all &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007
servers need to be SP2 minimum. Preferably SP3).&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l1 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2010 SP2 server.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The infrastructure used is the same as the servers that were
used for the “Transition from 2003 to 2007” and the “Exchange 2007 CCR” guides.&lt;/p&gt;

&lt;h2&gt;Preparation&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;As always we first need to be sure our AD is in a healthy
state and no replication errors are occurring. Secondly the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; needs to
be in a healthy state, yet if you only have one &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server in the
environment this will be likely the case. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="color:red"&gt;Note that if you are planning to set
up a DAG and/or CAS array you &lt;b style="mso-bidi-font-weight:normal"&gt;will&lt;/b&gt;
need the enterprise license for windows!&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Once you have your base OS (windows 2008 R2) for the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;
2010 server set up and configured install the active directory tools on it from
the features menu:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open servermanager&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Add features&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Expand down to Remote server administration
tools, Role administration tools, ADDS and AD LDS Tools&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Select AD DS Tools and confirm the pre
requisites pop up box.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Next, Install, Finish.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l2 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Reboot.&lt;/p&gt;



&lt;p class="MsoNormal"&gt;Now go download the office 2010 filter packs so setup won’t
nag you about it (&lt;a href="http://www.microsoft.com/download/en/details.aspx?id=17062"&gt;http://www.microsoft.com/download/en/details.aspx?id=17062&lt;/a&gt;).
They do add in some functionality but I’m not going into depth on that subject
here.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now that you have the AD DS tools &amp;amp; filterpacks
installed you are ready to prepare your forest and domain for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2010.
You could run the following commands on a domain controller but I tend to run
them from the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server with AD DS installed, personal preference but it
does minimize hopping from server to server &lt;span style="font-family:Wingdings;&amp;#xD;&amp;#xA;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:&amp;#xD;&amp;#xA;Calibri;mso-hansi-theme-font:minor-latin;mso-char-type:symbol;mso-symbol-font-family:&amp;#xD;&amp;#xA;Wingdings"&gt;&lt;span style="mso-char-type:symbol;mso-symbol-font-family:Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The really, really wonderful thing about the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2010
setup process is that it will handle all installation of prerequisites and even
the preparation of the forest and domain! If you want to do each step manually
that is still possible using the setup.com in the setup folder.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;Go ahead and launch setup and start the installation. Read
through the introduction and accept the EULA. Once again we are faced with the
error reporting option, up to you whether you want to help out Microsoft or
not.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, as you can see on the following screen there is a
checkbox at the bottom you can use to have setup automatically install whatever
it needs for the installation. Check this, change the install directory if
desired and select the Typical &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server installation. Click next.&lt;/p&gt;



&lt;p class="MsoNormal"&gt;New screen! Setup comes and asks you if the CAS server will
be internet facing, basically if clients will connect to it from over the
internet (outlook anywhere, owa,…) so check the box and give the domain name
that will be used for external clients.&lt;/p&gt;



&lt;p class="MsoNormal"&gt;Our next screen is the Customer experience improvement
program. Just like error reporting, signing up for this is up to you! Once you
click the next button setup will prepare and configure the prerequisites for
&lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;.&lt;/p&gt;



&lt;p class="MsoNormal"&gt;Once every prerequisite has been configured the install
button will be available, take the leap and install &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2010. It will take
quite some time so site back, relax and have a coffee. &lt;/p&gt;

&lt;p class="MsoNormal"&gt; Once the setup has been completed you will be asked to
reboot before placing the server in production. So go ahead and do that right
now.  &lt;/p&gt;&lt;span style="mso-spacerun:yes"&gt;&lt;/span&gt;

&lt;p class="MsoNormal"&gt;At this point you’d want to perform the following actions:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Enter your product key&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Configure the receive connector&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;a.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open the EMC&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;b.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Drill down to Server Configuration, Hub
Transport.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;c.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Right click “Default Servername” and select
properties&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;d.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open the permission groups tab&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;e.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Check anonymous users&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;f.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Click ok&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Enable outlook anywhere&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;a.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open the EMC&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;b.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Drill down to server configuration, client
access&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;c.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;In the right actions pane choose “Enable outlook
anywhere”.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;d.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Select your authentication mechanism&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:108.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-108.0pt;mso-text-indent-alt:-9.0pt;mso-list:l0 level3 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                                                              
&lt;/span&gt;i.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Basic will make your users enter a password each
time the open outlook&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:108.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-108.0pt;mso-text-indent-alt:-9.0pt;mso-list:l0 level3 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;                                                            
&lt;/span&gt;ii.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;NTLM will use windows integrated authentication
(username and password)&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;e.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Enter your external host name&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;f.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Click the enable button&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Modify your firewall rules so that all external
traffic is sent to the 2010 server.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Replicate public folders if necessary&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Move over users in batches if required&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;a.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open EMC&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;b.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Drill down to Recipient configuration, Mailbox&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;c.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Select the users you want to move&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;d.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Right click and select “new local move request”&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;e.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Use the browse button to select the target
mailbox database&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;f.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Next, next, new, finish&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle"&gt;&lt;br /&gt;
&lt;span style="color:red"&gt;Note here that this only creates a request to move the
mailbox and the actually moving will be done in the background! To view the
status of the move requests go to the Move request section under recipient
configuration. You have to manually remove the completed requests by right
clicking them and selecting “clear move request”&lt;/span&gt;&lt;br style="mso-special-character:&amp;#xD;&amp;#xA;line-break" /&gt;
&lt;br style="mso-special-character:line-break" /&gt;
&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Change the generation server for the OAB&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;a.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open the EMC&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;b.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Drill down to organization configuration,
mailbox.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;c.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Open the offline address book tab&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;d.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Right click the default OAB and select move&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;e.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;     
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Use the browse button to select the 2010 server&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="margin-left:72.0pt;mso-add-space:&amp;#xD;&amp;#xA;auto;text-indent:-18.0pt;mso-list:l0 level2 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;f.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Click move, finish.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo3"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;8.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Remove the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 servers.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Theoretically this is all you should have to do to migrate a
pure environment without funnies. There might be additional services on the
network that require configuring but this should have been identified before
you start the migration. Hopefully…&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/148636.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/UisfJkygrkk" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2012/02/08/transition-to-exchange-2010-from-exchange-2007.aspx</feedburner:origLink></item><item><title>.NET Reflector</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kl9fpCjNUfk/.net-reflector.aspx</link><pubDate>Wed, 08 Feb 2012 22:03:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MoezMousavi/archive/2012/02/08/.net-reflector.aspx</guid><wfw:comment>http://geekswithblogs.net/MoezMousavi/comments/148635.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MoezMousavi/comments/commentRss/148635.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MoezMousavi/archive/2012/02/08/.net-reflector.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MoezMousavi/services/trackbacks/148635.aspx</trackback:ping><source url="http://geekswithblogs.net/MoezMousavi/rss.aspx">.NET Reflector</source><description>The old mate decided to move on, I found &lt;a href="http://wiki.sharpdevelop.net/ilspy.ashx"&gt;this&lt;/a&gt; a use full free decompiler whenever I need to look into the DLL.&lt;br /&gt; &lt;img src="http://geekswithblogs.net/MoezMousavi/aggbug/148635.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kl9fpCjNUfk" height="1" width="1"/&gt;</description><dc:creator>MoezMousavi</dc:creator><feedburner:origLink>http://geekswithblogs.net/MoezMousavi/archive/2012/02/08/.net-reflector.aspx</feedburner:origLink></item><item><title>APress Deal of the Day - 8/Feb/2012 - Visual C# 2010 Recipes A Problem-Solution Approach</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/9YdI5ePsBpA/apress-deal-of-the-day---8feb2012---visual-c.aspx</link><pubDate>Wed, 08 Feb 2012 07:07:49 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/08/apress-deal-of-the-day---8feb2012---visual-c.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148633.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148633.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/08/apress-deal-of-the-day---8feb2012---visual-c.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148633.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">APress Deal of the Day - 8/Feb/2012 - Visual C# 2010 Recipes A Problem-Solution Approach</source><description>Today's $10 Deal of the day book from APress at &lt;a target="_blank" href="http://www.apress.com/9781430225256"&gt;http://www.apress.com/9781430225256&lt;/a&gt; is Visual C# 2010 Recipes - A Problem-Solution Approach&lt;br /&gt;&lt;br /&gt;"When you are facing a Visual C# 2010 problem, this book likely contains a
 recipe providing the solution—or at least points you in the right 
direction. Even if you are simply looking to broaden your knowledge of 
the .NET Framework class library, &lt;em&gt;Visual C# 2010 Recipes&lt;/em&gt; is the perfect resource to assist you.  			"&lt;br /&gt;&lt;br /&gt;
&lt;img alt="book cover" src="http://www.apress.com/media/catalog/product/cache/9/small_image/125x/040ec09b1e35df139433887a97daa66f/A/9/A9781430225256-small_6.png" /&gt;
&lt;br /&gt;&lt;br /&gt;This is an excellent book full of "How To" examples and I commend it to all C# Developers.&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148633.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/9YdI5ePsBpA" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/08/apress-deal-of-the-day---8feb2012---visual-c.aspx</feedburner:origLink></item><item><title>See the rare Transit of Venus</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7nfczSMoR-A/see-the-rare-transit-of-venus.aspx</link><pubDate>Wed, 08 Feb 2012 07:03:53 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/08/see-the-rare-transit-of-venus.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148632.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148632.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/08/see-the-rare-transit-of-venus.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148632.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">See the rare Transit of Venus</source><description>I saw the previous transit of Venus in 2004 and I am looking forward to one this year on 5/6 June.
&lt;br /&gt;
&lt;br /&gt;&lt;a href="http://www.space.com/14195-2012-venus-transit-infographic.html"&gt; &lt;img src="http://www.space.com/images/i/14420/i02/venus-transit-2012-120110c-02.jpg?1326228628" alt="Find out where to see a rare astronomical event that won't recur for more than a century, in this SPACE.com infographic." border="1" width="575" /&gt;&lt;/a&gt;&lt;br /&gt; Source: &lt;a href="http://www.space.com"&gt;SPACE.com: All about our solar system, outer space and exploration&lt;/a&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148632.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7nfczSMoR-A" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/08/see-the-rare-transit-of-venus.aspx</feedburner:origLink></item><item><title>Birthdays, Holidays, and Beyond</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ifoFMxh4m9A/birthdays-holidays-and-beyond.aspx</link><pubDate>Wed, 08 Feb 2012 04:24:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MOSSLover/archive/2012/02/07/birthdays-holidays-and-beyond.aspx</guid><wfw:comment>http://geekswithblogs.net/MOSSLover/comments/148631.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MOSSLover/comments/commentRss/148631.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MOSSLover/archive/2012/02/07/birthdays-holidays-and-beyond.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/MOSSLover/services/trackbacks/148631.aspx</trackback:ping><source url="http://geekswithblogs.net/MOSSLover/rss.aspx">Birthdays, Holidays, and Beyond</source><description>&lt;p&gt;I don’t like to own tons of things really.  I don’t need stuff in my life.  I’d rather collect solid awesome friends and people in my life.  So I keep telling people I had a bad year obviously.  2011 was the worst year ever.  I feel incredibly bad because a lot of people helped me out in amazing ways in my time of need last year.  The holidays to me have just not been right for a long time.  I never liked Valentine’s Day it has always felt like the most miserable time of the year.  The reason being I just felt under appreciated for such a long time.  Thinking about the under appreciation I feel better when someone tells me how awesome I am.  People don’t say that enough in my opinion, so for those people who I feel are close enough to me and I want to offer a service.  I want people to send me there address in email, on facebook, or on twitter.  I want to write appreciation cards for all the people that matter.  Some people outright I will just ask and some people you can just send me your address straight off the bat.  I am going to purchase some blank cards and put out the effort to let people know within the next month or so that they matter in my life and why.&lt;/p&gt;  &lt;p&gt;Also, as an addition for those of you considering getting me a birthday card or a present in my family or friends.  Do me a favor do the same for me or at least add on something silly as a present.  I don’t need a new book or a giftcard or a new piece of electronic equipment.  I just want to know why I’m important to you.  What I’m going to do is collect all these cards and keep them for the future.  For days that I’m down for rough times I am going to pull out these and look at them.  I know it’s difficult to write a paragraph to someone that’s emotionally charged, but it means 10x more to me than actually giving me a dvd.  If this is hard for you maybe do something else make me something cool do it in your own way.  I don’t need you to spend any money on me.  All I need to know this year is that people care.  That’s the kind of year I need to have this year.  Thank you again for all your devotion and support.  This is not a forced task.  I would just appreciate it a lot &lt;img style="border-bottom-style: none; border-right-style: none; border-top-style: none; border-left-style: none" class="wlEmoticon wlEmoticon-smile" alt="Smile" src="http://geekswithblogs.net/images/geekswithblogs_net/MOSSLover/Windows-Live-Writer/Birthdays-Holidays-and-Beyond_14717/wlEmoticon-smile_2.png" /&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c924db5d-002f-467c-bf3f-8fb2399b7b3c" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Personal" rel="tag"&gt;Personal&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/MOSSLover/aggbug/148631.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ifoFMxh4m9A" height="1" width="1"/&gt;</description><dc:creator>MOSSLover</dc:creator><feedburner:origLink>http://geekswithblogs.net/MOSSLover/archive/2012/02/07/birthdays-holidays-and-beyond.aspx</feedburner:origLink></item><item><title>Organization &amp;amp; Architecture UNISA Studies &amp;ndash; Chap 3</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-uBATIcx9iA/organization-amp-architecture-unisa-studies-ndash-chap-3.aspx</link><pubDate>Wed, 08 Feb 2012 03:41:48 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/MarkPearl/archive/2012/02/08/organization-amp-architecture-unisa-studies-ndash-chap-3.aspx</guid><wfw:comment>http://geekswithblogs.net/MarkPearl/comments/148630.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/MarkPearl/comments/commentRss/148630.aspx</wfw:commentRss><comments>http://geekswithblogs.net/MarkPearl/archive/2012/02/08/organization-amp-architecture-unisa-studies-ndash-chap-3.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/MarkPearl/services/trackbacks/148630.aspx</trackback:ping><source url="http://geekswithblogs.net/MarkPearl/rss.aspx">Organization &amp;amp; Architecture UNISA Studies &amp;ndash; Chap 3</source><description>&lt;p&gt; &lt;/p&gt;  &lt;h3&gt;Computer Components&lt;/h3&gt;  &lt;p&gt;Virtually all contemporary computer designs are based on concepts developed by John von Neumen, which includes the following three concepts…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Data and instructions are stored in a single read-write memory &lt;/li&gt;    &lt;li&gt;The contents of this memory are addressable by location, without regard to the type of data contained there &lt;/li&gt;    &lt;li&gt;Execution occurs in a sequential fashion (unless explicitly modified) from one instruction to the next &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0001_4.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0001" border="0" alt="IMG_0001" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0001_thumb_1.jpg" width="468" height="492" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Keep in mind that software and hardware are typically interchangeable – in the sense that you can develop programs with hardware that do the same as software. Hardware is typically quicker, and more fixed in its purpose. The above diagram illustrates both approaches…&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0002_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0002" border="0" alt="IMG_0002" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0002_thumb.jpg" width="701" height="641" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The above diagram illustrates the top level components and suggests the interactions among them…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The CPU exchanges data with memory – typically making use of two internal registers, a MAR and a MBR &lt;/li&gt;    &lt;li&gt;A Memory Address Register (MAR), specifies the address in memory for the next read or write &lt;/li&gt;    &lt;li&gt;A Memory buffer register (MBR) contains the data to be written into memory or receives the data read from memory &lt;/li&gt;    &lt;li&gt;An I/O address register (I/OAR) specifies a particular I/O device &lt;/li&gt;    &lt;li&gt;An I/O buffer (I/OBR) register is used for the exchange of data between an I/O module and the CPU &lt;/li&gt;    &lt;li&gt;A memory module consists of a set of locations, defined by sequentially numbered addresses, each location contains a binary number that can be interpreted as either an instruction or data &lt;/li&gt;    &lt;li&gt;An I/O module transfers data from external devices to the CPU and memory, and vice versa. It contains internal buffers for temporarily holding the data until it can be sent on &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Computer Function&lt;/h3&gt;  &lt;p&gt;The basic function performed by a computer is execution of a program, which consists of a set of instructions stored in memory. The processor does the actual work by executing instructions specified in the program.&lt;/p&gt;  &lt;p&gt;In its simplest form, instruction processing consists of two steps…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;The processor reads (fetches) instructions from memory one at a time &lt;/li&gt;    &lt;li&gt;The processor executes each instruction &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The processing required for a single instruction is called an instruction cycle.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Instruction Fetch and Execute&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;At the beginning of each cycle, the processor fetches an instruction from memory (typically a register called the program counter (PC) holds the address of the instruction to be fetched next. &lt;/li&gt;    &lt;li&gt;Unless specified, the processor increments the PC after each instruction fetch so that it will fetch the next instruction in sequence &lt;/li&gt;    &lt;li&gt;The fetched instruction is loaded into a register in the processor known as the instruction register (IR) &lt;/li&gt;    &lt;li&gt;The instruction contains bits that specify the action the processor is to take &lt;/li&gt;    &lt;li&gt;The processor interprets the instructions and performs the action &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/Basic%20Instruction%20Cycle_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Basic Instruction Cycle" border="0" alt="Basic Instruction Cycle" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/Basic%20Instruction%20Cycle_thumb.png" width="585" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;in general the action performed can fall into one of four categories or a combination of more than one…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Processor memory &lt;/strong&gt;– Data may be transferred from processor to memory or from memory to processor &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Processor I/O &lt;/strong&gt;– Data may be transferred to or from a peripheral device by transferring between the processor and an I/O module &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Data processing &lt;/strong&gt;– The processor may perform some arithmetic or logic operation on data &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Control &lt;/strong&gt;– an instruction may specify the sequence of execution be altered &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0003_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0003" border="0" alt="IMG_0003" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0003_thumb.jpg" width="765" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The above diagram provides a more detailed look at the basic  instruction cycle. In the above diagram, for any given instruction, some states may be null and others may be visited more than once. The states can be described as follows…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Instruction address calculation (IAC) – Determine the address of the next instruction to be executed. Usually involves adding a fixed number to the address of the previous instruction &lt;/li&gt;    &lt;li&gt;Instruction fetch (IF) – Read instruction from its memory location  into processor &lt;/li&gt;    &lt;li&gt;Instruction operation decoding (IOD) – analyse instruction to determine type of operation to be performed and operands to be used &lt;/li&gt;    &lt;li&gt;Operand address calculation (OAC) – If the operation involves reference to an operand in memory or available via I/O, then determine the address of the operand &lt;/li&gt;    &lt;li&gt;Operand fetch (OF) – Fetch the operand from memory or read it from I/O &lt;/li&gt;    &lt;li&gt;Data operation (DO) – Perform the operation indicated in the instruction &lt;/li&gt;    &lt;li&gt;Operand store (OS) – Write the result into memory or out to I/O &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Interrupts&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Interrupts are provided primarily as a way to improve processing efficiency (most external devices are much slower than the processor and could have pauses during processing, e.g. scanner). With interrupts, the processor can be engaged in executing other instruction while an I/O operation is in progress. When the I/O operation is completed or ready to accept more data, the I/O device sends an interrupt request signal to the processor. The processor responds by suspending operation of the current program, branching off to a program to service that particular I/O device, known as an interrupt handler, and resuming the original execution after the device is serviced.&lt;/p&gt;  &lt;p&gt;To accommodate interrupts, an interrupt cycle is added to the instruction cycle.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/Untitled_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Untitled" border="0" alt="Untitled" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/Untitled_thumb.png" width="636" height="224" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;If an interrupt is pending, the processor does the following…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Suspends execution of the current program being executed and saves its context. This means saving the address of the next instruction to be executed and any other data relevant to the processors current activity &lt;/li&gt;    &lt;li&gt;It sets the program counter to the starting address of an interrupt handler routine &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note that allowing for an interrupt does add extra processors to the cycle, however because most I/O devices are so much slower than the processor, the lost in performance by adding an interrupt is negligible, compared to the time saved by not being I/O device dependent.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Multiple Interrupts&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Two approaches can be taken when dealing with multiple interrupts&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;First approach is to disable interrupts while an interrupt is being processed. What this means generally, is if an interrupt occurred while the processor was processing an interrupt, it would ignore it till completed and the second interrupt would wait in the queue. This approach is simple as interrupts are handled in order that they occurred. The problem with this approach is that it does not handle higher priority interrupts or time critical needs. &lt;/li&gt;    &lt;li&gt;Second approach is to define priorities for interrupts and to allow an interrupt of higher priority to cause a lower priority interrupt handler to be itself interrupted. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Below is the diagram of the flow sequence including interrupt handling….&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0004_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="IMG_0004" border="0" alt="IMG_0004" src="http://geekswithblogs.net/images/geekswithblogs_net/MarkPearl/Windows-Live-Writer/Organization--Architecture-UNISA-Studies_AEC9/IMG_0004_thumb.jpg" width="1112" height="500" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;I/O Function&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;In some cases it is desirable to allow I/O exchanges to occur directly with memory. In such a case, the processor grants to an I/O module the authority to read from or write to memory so that the I/O memory transfer can occur without tying up the processor. During such a transfer, the I/O module issues read or write commands to memory, relieving the processor of responsibility for the exchange. This operation is known as direct memory access (DMA)&lt;/p&gt;  &lt;h3&gt;Interconnection Structures&lt;/h3&gt;  &lt;p&gt;A computer consists of a set of components or modules of three basic types that communicate with each other.&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Processor &lt;/li&gt;    &lt;li&gt;Memory &lt;/li&gt;    &lt;li&gt;I/O &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;In effect, a computer is a network of basic modules, thus there must be paths for connecting the modules. This is called the interconnection structure.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Memory – typically a memory module will consist of N words of equal length. Each word is assigned a unique numerical address. A word of data can be read from or written into the memory. The nature of the operation is indicated by read and write control signals. The location for the operation is specified by an address. &lt;/li&gt;    &lt;li&gt;I/O module – from an internal point of view, I/O is functionally similar to memory. There are two operations, read and write. Further, an I/O module may control more than one external device. We can refer to each of the interfaces to an external device as a port and give each a unique address. In addition, there are external data paths for the input and output of data with an external device. Finally an I/O module may be able to send interrupt signals to the processor. &lt;/li&gt;    &lt;li&gt;Processor – the processor reads in instructions and data, writes out data after processing and uses control signals to control the overall operation of the system. It also receives interrupt signals. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The above list defines the data to be exchanged. The interconnection structure must support the following types of transistors…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Memory to processor &lt;/li&gt;    &lt;li&gt;Processor to memory &lt;/li&gt;    &lt;li&gt;I/O to processor &lt;/li&gt;    &lt;li&gt;Processor to I/O &lt;/li&gt;    &lt;li&gt;I/O to or from memory &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Many different interconnection structures have been tried, but by far the most common has been the bus and various multiple bus structures.&lt;/p&gt;  &lt;h3&gt;Bus Interconnection&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Bus is a communication pathway connecting two or more devices. &lt;/li&gt;    &lt;li&gt;Key characteristic of a bus is that it is a shared transmission medium (meaning multiple devices connect to the bus, and a signal transmitted by any one device is available for reception by all other devices attached to the bus) &lt;/li&gt;    &lt;li&gt;If two devices transmit during the same time period, their signals will overlap and become garbled – thus only one device at a time can successfully transmit &lt;/li&gt;    &lt;li&gt;A bus that connects major computer components is called a system bus (i.e. processor, memory or I/O) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Bus Structure&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A bus consists typically of from about 50 to hundreds of separate lines&lt;/li&gt;    &lt;li&gt;Each line is assigned a particular meaning or function&lt;/li&gt;    &lt;li&gt;A line on a bus can usually be classified into one of three functional groups – Data, address &amp;amp; control lines (there may also be power distribution lines that supply power to additional lines)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Data lines &lt;/strong&gt;– provide a path for moving data among system modules, collectively these lines are called the data bus. Data bus can consist of 32, 64, 128 or more separate lines. The number of lines being referred to as the width of the data bus. Because each line can carry only 1 bit at a time, the number of lines determines how many bits can be transferred at a time and plays an important factor in the overall system performance.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Address lines – &lt;/strong&gt;are used to designate the source or destination of the data on the data bus. The width of the address bus determines the maximum possible memory capacity of the system. Address lines are also used to address I/O ports&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Control lines –&lt;/strong&gt;used to control the access to and the use of the data and address lines. Because the data and address lines are shared by all components, there must be a means of controlling their use. Control signals transmit both command and timing information among system modules. Timing signals indicate the validity of data and address information. Command signals specify operations to be performed.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Typical control lines include…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Memory write – data on the bus to be written into the addressed location&lt;/li&gt;    &lt;li&gt;Memory read – data from the addressed location to be placed on the bus&lt;/li&gt;    &lt;li&gt;I/O write – data on the bus to be output to the addressed I/O port&lt;/li&gt;    &lt;li&gt;I/O read – data from the addressed I/O port to be placed on the bus&lt;/li&gt;    &lt;li&gt;Transfer ACK – indicates that data have been accepted from or placed on the bus&lt;/li&gt;    &lt;li&gt;Bus request – indicates that a module needs to gain control of the bus&lt;/li&gt;    &lt;li&gt;Bus grant – indicates that a  requesting module has been granted control of the bus&lt;/li&gt;    &lt;li&gt;Interrupt request – indicates that an interrupt is pending&lt;/li&gt;    &lt;li&gt;Interrupt ACK – acknowledges that the pending interrupt has been recognized&lt;/li&gt;    &lt;li&gt;Clock – is used to synchronize operations&lt;/li&gt;    &lt;li&gt;Reset – Initializes all modules&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The operation of the bus is as follows, &lt;/p&gt;  &lt;p&gt;If one module wishes to send data another, it must do two things…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;obtain the use of the bus&lt;/li&gt;    &lt;li&gt;transfer data via the bus&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;If one module wishes to request data from another module, it must…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;obtain the use of the bus&lt;/li&gt;    &lt;li&gt;transfer a request to the other module over the appropriate control and address lines&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Multiple Bus Hierarchies&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;If there are to many devices connected to the bus, performance will suffer. There are two main causes…&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;More devices means the greater the bus length and the greater the propagation delay which can noticeably affect performance&lt;/li&gt;    &lt;li&gt;The bus may become a bottleneck as the aggregate data transfer demand approaches the capacity of the bus. This can be countered by increasing bus width and clock speed&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;To keep performance up, multiple bus designs are becoming common where there is a hierarchy of buses.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Elements of Bus Design&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Bus Types &lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Bus lines can be separated into two generic types, dedicated and multiplexed. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Dedicated bus line&lt;/strong&gt; - is permanently assigned either to one function or to a physical subset of computer components&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Methods of Arbitration&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;More than one module may need control of the bus. Because only one unit at a time can successfully transmit over the bus, some method of arbitration is needed. These roughly fall into two categories, centralized or distributed&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;In a centralized scheme&lt;/strong&gt;, a single hardware device, referred to as a bus controller or arbiter, is responsible for allocating time on the bus.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;In a distributed scheme&lt;/strong&gt;, there is no central controller, each module contains access control logic and the modules act together to share the bus&lt;/li&gt;    &lt;li&gt;With both approaches, the purpose is to designate one device, either the processor or an I/O module, as master&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Timing&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Timing refers to the way in which events are coordinated on the bus&lt;/li&gt;    &lt;li&gt;Buses use either synchronous timing or asynchronous timing&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Synchronous timing&lt;/strong&gt; – the occurrence of events on the bus is determine by a clock. The bus includes a clock line which transmits a regular sequence of alternating 1’s and 0’s of equal duration. All the devices on the bus can read the clock line, and all events start at the beginning of a clock cycle&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Asynchronous timing&lt;/strong&gt; – the occurrence of one event on a bus follows and depends on the occurrence of a previous event. In the simple read example, the processor places address and status signals on the bus. After pausing for these signals to stabilize, it issues a read command, indicating the presence of valid address and control signals. The appropriate memory decodes the address and responds by placing the data on the data line. Once the data lines have stabilized, the memory module asserts the acknowledged line to signal the processor that the data is available. Once the master has read the data from the data lines, it de-asserts the read signal. This causes the memory module to drop the data and acknowledge lines. Finally, once the acknowledge line is dropped, the master removes the address information.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Synchronous timing is simpler to implement and test, however it is less flexible than asynchronous timing. With Asynchronous timing, a mixture of slow and fast devices, using older and newer technology can share a bus.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Data Transfer Type&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;A bus supports various data transfer types. All buses support both write (master to slave) and read (slave to master) transfers as well as a number of other transfer types including…&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Read-modify-write operation&lt;/li&gt;    &lt;li&gt;Read-after-write operation&lt;/li&gt;    &lt;li&gt;Block data transfer&lt;/li&gt;    &lt;li&gt;Write (multiplexed) operation&lt;/li&gt;    &lt;li&gt;Read (multiplexed) operation&lt;/li&gt; &lt;/ul&gt; &lt;img src="http://geekswithblogs.net/MarkPearl/aggbug/148630.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-uBATIcx9iA" height="1" width="1"/&gt;</description><dc:creator>MarkPearl</dc:creator><feedburner:origLink>http://geekswithblogs.net/MarkPearl/archive/2012/02/08/organization-amp-architecture-unisa-studies-ndash-chap-3.aspx</feedburner:origLink></item><item><title>Going Native 2012 sessions available for download and streaming</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/a_KiaoeP9pw/going-native-2012-sessions-available-for-download-and-streaming.aspx</link><pubDate>Wed, 08 Feb 2012 03:27:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mikebmcl/archive/2012/02/07/going-native-2012-sessions-available-for-download-and-streaming.aspx</guid><wfw:comment>http://geekswithblogs.net/mikebmcl/comments/148629.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mikebmcl/comments/commentRss/148629.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mikebmcl/archive/2012/02/07/going-native-2012-sessions-available-for-download-and-streaming.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mikebmcl/services/trackbacks/148629.aspx</trackback:ping><source url="http://geekswithblogs.net/mikebmcl/rss.aspx">Going Native 2012 sessions available for download and streaming</source><description>&lt;p&gt;If you missed it, you can now &lt;a href="http://channel9.msdn.com/posts/Announcing-the-GoingNative-2012-Full-Schedule"&gt;download or stream&lt;/a&gt; (whichever you prefer) the sessions from the Going Native 2012 conference. I watched the whole thing and it was fascinating. If you’re new to C++, then some of the sessions are likely to be at a higher level than you may be ready for (though you can certainly watch them if you like). But there are some sessions I think any C++ developer would profit from watching. These are they:&lt;/p&gt;  &lt;p&gt;Day 1:&lt;/p&gt;  &lt;p&gt;&lt;a title="- C++11 Style" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style"&gt;Bjarne Stroustrup - C++11 Style&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Stephan T. Lavavej- STL11 – Magic &amp;amp;&amp;amp; Secrets" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/STL11-Magic-Secrets"&gt;Stephan T. Lavavej - STL11 – Magic &amp;amp;&amp;amp; Secrets&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Panel- The Importance of Being Native" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-The-Importance-of-Being-Native"&gt;Panel - The Importance of Being Native&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Day 2:&lt;/p&gt;  &lt;p&gt;&lt;a title="- C++11, VC++11 and Beyond" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond"&gt;Herb Sutter - C++11, VC++11 and Beyond&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="- Clang - Defending C++ from Murphy's Million Monkeys" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Clang-Defending-C-from-Murphy-s-Million-Monkeys"&gt;Chandler Carruth - Clang - Defending C++ from Murphy's Million Monkeys&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="Panel- Ask Us Anything!" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Interactive-Panel-Ask-Us-Anything-"&gt;Panel- Ask Us Anything!&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you are planning to do any multi-threading, then I’d definitely recommend watching &lt;a title="- Threads and Shared Variables in C++11" href="http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Threads-and-Shared-Variables-in-C-11"&gt;Hans Boehm - Threads and Shared Variables in C++11&lt;/a&gt; . For Metro style development, I’d generally recommend using the Parallel Patterns Library (PPL) and the Concurrent Runtime (ConcRT) as they mesh nicely with WinRT’s asynchrony.&lt;/p&gt;  &lt;p&gt;Andrei Alexandrescu is a great speaker and his sessions are really entertaining and informative. But it’s likely to be a little while before variadic templates appear in VC++11 (post-RTM but likely in an out-of-band release rather than waiting for VS11 SP1) and they are a pretty tricky topic and the concept of “static if” is a proposal for a future version of the C++ language (but an interesting one and so I’d definitely say go watch it if you have time). They are interesting sessions but not really things for beginners.&lt;/p&gt;  &lt;p&gt;Bjarne Stroustrup and Andrew Sutton’s session entitled “A Concept Design for C++” is also interesting but is something that’s still in the research phase of development. It had been proposed for C++11 but was dropped because (as I understand it) they didn’t feel that it was ready to be included in the standard just yet. (This is an area where I personally think C++ could take a lesson from C#. I think C++ would benefit a lot from a purely abstract type (something similar to if not the same as C#’s interface type) with its own keyword designating it as such (thereby adding developer-friendly guarantees that the type was abstract and thus removing the need to use multiple class inheritance for such reasons). This in turn would open the door to a mechanism for templates that would be similar to C#’s constraint system for C# generics. Maybe there are good reasons not to do this; I’m not a language designer. But from an outsider’s perspective, I think C# got this one right.)&lt;/p&gt; &lt;img src="http://geekswithblogs.net/mikebmcl/aggbug/148629.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/a_KiaoeP9pw" height="1" width="1"/&gt;</description><dc:creator>Michael B. McLaughlin</dc:creator><feedburner:origLink>http://geekswithblogs.net/mikebmcl/archive/2012/02/07/going-native-2012-sessions-available-for-download-and-streaming.aspx</feedburner:origLink></item><item><title>Microsoft All-In-One Code Framework 2012 January Sample Updates</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/iNPFDkyHyZE/microsoft-all-in-one-code-framework-2012-january-sample-updates.aspx</link><pubDate>Wed, 08 Feb 2012 03:08:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Jialiang/archive/2012/02/08/microsoft-all-in-one-code-framework-2012-january-sample-updates.aspx</guid><wfw:comment>http://geekswithblogs.net/Jialiang/comments/148628.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Jialiang/comments/commentRss/148628.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Jialiang/archive/2012/02/08/microsoft-all-in-one-code-framework-2012-january-sample-updates.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Jialiang/services/trackbacks/148628.aspx</trackback:ping><source url="http://geekswithblogs.net/Jialiang/rss.aspx">Microsoft All-In-One Code Framework 2012 January Sample Updates</source><description>&lt;div style="border: 2px solid rgb(0, 88, 147); width: 204px; direction: ltr; background-image: url(&amp;quot;data:image/x-ms-bmp;base64,Qk2eAAAAAAAAADYAAAAoAAAAAQAAABoAAAABABgAAAAAAGgAAAAAAAAAAAAAAAAAAAAAAAAAsoM8/69/N/+tfDP/qnku/6h1Kv+mciX/o28g/6FsHP+faBf/nGUS/5piDv+YXwn/lVsF/7KDPP+0hkH/tolF/7mMSv+7kE7/vZNT/8CWWP/CmVz/xJ1h/8egZv/Jo2r/y6Zv/86qc/8=&amp;quot;); background-repeat: repeat-x; background-color: rgb(120, 173, 208);" id="MicrosoftTranslatorWidget"&gt;&lt;div id="MSTWContent"&gt;&lt;div style="border-color: rgb(84, 148, 190);" id="MSTWHeader"&gt;&lt;span style="height: 26px;" class="MSTWBox"&gt;&lt;span style="width: 160px;" id="MSTWHeaderText"&gt;Translate this page&lt;/span&gt;&lt;/span&gt;&lt;span style="height: 26px;" class="MSTWBox"&gt;&lt;select id="MSTWMenu" name="MSTWMenu"&gt;&lt;option value="ar"&gt;Arabic&lt;/option&gt;&lt;option value="bg"&gt;Bulgarian&lt;/option&gt;&lt;option value="ca"&gt;Catalan&lt;/option&gt;&lt;option value="zh-chs"&gt;Chinese Simplified&lt;/option&gt;&lt;option value="zh-cht"&gt;Chinese Traditional&lt;/option&gt;&lt;option value="cs"&gt;Czech&lt;/option&gt;&lt;option value="da"&gt;Danish&lt;/option&gt;&lt;option value="nl"&gt;Dutch&lt;/option&gt;&lt;option value="et"&gt;Estonian&lt;/option&gt;&lt;option value="fi"&gt;Finnish&lt;/option&gt;&lt;option value="fr"&gt;French&lt;/option&gt;&lt;option value="de"&gt;German&lt;/option&gt;&lt;option value="el"&gt;Greek&lt;/option&gt;&lt;option value="ht"&gt;Haitian Creole&lt;/option&gt;&lt;option value="he"&gt;Hebrew&lt;/option&gt;&lt;option value="hi"&gt;Hindi&lt;/option&gt;&lt;option value="hu"&gt;Hungarian&lt;/option&gt;&lt;option value="id"&gt;Indonesian&lt;/option&gt;&lt;option value="it"&gt;Italian&lt;/option&gt;&lt;option value="ja"&gt;Japanese&lt;/option&gt;&lt;option value="ko"&gt;Korean&lt;/option&gt;&lt;option value="lv"&gt;Latvian&lt;/option&gt;&lt;option value="lt"&gt;Lithuanian&lt;/option&gt;&lt;option value="no"&gt;Norwegian&lt;/option&gt;&lt;option value="pl"&gt;Polish&lt;/option&gt;&lt;option value="pt"&gt;Portuguese&lt;/option&gt;&lt;option value="ro"&gt;Romanian&lt;/option&gt;&lt;option value="ru"&gt;Russian&lt;/option&gt;&lt;option value="sk"&gt;Slovak&lt;/option&gt;&lt;option value="sl"&gt;Slovenian&lt;/option&gt;&lt;option selected="selected" value="es"&gt;Spanish&lt;/option&gt;&lt;option value="sv"&gt;Swedish&lt;/option&gt;&lt;option value="th"&gt;Thai&lt;/option&gt;&lt;option value="tr"&gt;Turkish&lt;/option&gt;&lt;option value="uk"&gt;Ukrainian&lt;/option&gt;&lt;option value="vi"&gt;Vietnamese&lt;/option&gt;&lt;/select&gt;&lt;a style="border-color: rgb(84, 148, 190); width: 26px; height: 20px; overflow: hidden; background-image: url(&amp;quot;data:image/x-ms-bmp;base64,Qk2GAAAAAAAAADYAAAAoAAAAAQAAABQAAAABABgAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAAAA4MOW/97Ak//cvpD/27yN/9m6iv/YuIf/1raE/9Wzgf/TsX7/0q97/+DDlv/hxZn/48ec/+TJn//my6L/582l/+nPqP/q0qv/7NSu/+3Wsf8=&amp;quot;); background-repeat: repeat-x;" id="MSTWGoButton" class="MSTWButtonLink" title="Translate this page" href="javascript: Translate this page"&gt;&lt;img style="border-width: 0px;" id="MSTWGoImage" src="data:image/gif;base64,R0lGODlhGAASAHAAACH5BAEAAP8ALAAAAAAYABIAhwAAAP%2f%2f%2fwAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAg8AP8JHEiwoMGDCBMqXMiwIcMAARwihAhRYkGKFC0KxIjRIkeODj9%2bfCiyYsOSHkFq7KhxY8SW%0d%0aMGPKRBgQADs%3d" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="height: 26px;" id="MSTWFooter"&gt;&lt;span style="height: 26px;" id="MSTWBrand" class="MSTWBox"&gt;&lt;a style="height: 18px;" id="MSTWBrandLink" title="Microsoft® Translator" href="http://www.microsofttranslator.com/?ref=MSTWidget" target="_blank"&gt;&lt;span style="font-family: Segoe UI; direction: ltr;"&gt;Microsoft&lt;sup style="font-size: 70%; vertical-align: super;"&gt;®&lt;/sup&gt; Translator&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="height: 26px;" id="MSTWGetShare" class="MSTWBox"&gt;&lt;a style="border-color: rgb(84, 148, 190); width: 26px; height: 20px;" id="MSTWGetButton" class="MSTWButtonLink" title="Get this widget for your own site" href="http://www.microsofttranslator.com/widget/?ref=MSTWidget" target="_blank"&gt;&lt;img style="border-width: 0px;" id="MSTWGetImage" src="data:image/gif;base64,R0lGODlhGAASAPcAAAAAAP%2f%2f%2fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAYABIA%0d%0aAAhBAP8JHEiwoMGDCBMqXMiwocOHCAMEGCgRYkWCFxlmxDhx4caCH0F2TBiSI8mRJw%2bWVIny38qI%0d%0aI19CnEmzpk2DAQEAOw%3d%3d" /&gt;&lt;/a&gt;&lt;a style="border-color: rgb(84, 148, 190); width: 26px; height: 20px;" id="MSTWShareButton" class="MSTWButtonLink" title="Share translated page with friends" href="mailto:?charset=utf-8&amp;amp;subject=Check%20out%20this%20page%20in%20Spanish%20translated%20from%20English&amp;amp;body=Translated%3A%20http%3A%2F%2Fgeekswithblogs.net%2FJialiang%2FAdmin%2FEditPosts.aspx%23mstto%3Des%0D%0AOriginal%3A%20http%3A%2F%2Fgeekswithblogs.net%2FJialiang%2FAdmin%2FEditPosts.aspx%0D%0A%0D%0AAutomatic%20translation%20powered%20by%20Microsoft%C2%AE%20Translator%0D%0Ahttp%3A%2F%2Fwww.microsofttranslator.com%2F"&gt;&lt;img style="border-width: 0px;" id="MSTWShareImage" src="data:image/gif;base64,R0lGODlhGAASAPcAAAAAAP%2f%2f%2fwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%0d%0aAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAP8ALAAAAAAYABIA%0d%0aAAhHAP8JHEiwoMGDCBMqXMiwocOHBQNInEiRokKJFwNc%2fKfxoMaOCDuCHChyo8CRIEcaLGmxZMKP%0d%0aITlmnPmyok2MEHPq3MlTYUAAOw%3d%3d" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="display: none;" id="MSTWHidden"&gt;&lt;span id="MSTWCheckOut"&gt;Check out this page in {0} translated from {1}&lt;/span&gt;&lt;span id="MSTWTranslatedFrom"&gt;translated from&lt;/span&gt;&lt;span id="MSTWOriginal"&gt;Original:&lt;/span&gt;&lt;span id="MSTWTranslated"&gt;Translated:&lt;/span&gt;&lt;span id="MSTWPoweredBy"&gt;Automatic translation powered by Microsoft® Translator&lt;/span&gt;&lt;span id="MSTWStart"&gt;Start translating&lt;/span&gt;&lt;span id="MSTWStop"&gt;Stop translating&lt;/span&gt;&lt;span id="MSTWClose"&gt;Close&lt;/span&gt;&lt;span id="MSTWCloseShowOrig"&gt;Close and show original page&lt;/span&gt;&lt;span id="MSTWLangNotSup"&gt;&lt;/span&gt;&lt;span id="MSTWSelect"&gt;Select&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;A new release of Microsoft All-In-One Code Framework is available on Feb 6th.  We expect that its 8 new code samples covering typical programming scenarios in Windows Azure, Directory Services, Hyper-V, TFS, WDK, and Windows SDK would ease your development work.&lt;/p&gt;&lt;p&gt;&lt;a href="http://aka.ms/samplebrowser"&gt;&lt;img title="image" border="0" alt="image" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/5040.image_5F00_2E667123.png" width="240" height="158" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;You can download the code samples using &lt;a href="http://aka.ms/samplebrowser"&gt;Sample Browser&lt;/a&gt; or &lt;a href="http://aka.ms/samplebrowservsx"&gt;Sample Browser Visual Studio extension&lt;/a&gt;. They give you the flexibility to search samples, download samples on demand, manage the downloaded samples in a centralized place, and automatically be notified about sample updates.&lt;/p&gt;&lt;p&gt;If it is the first time that you hear about Microsoft All-In-One Code Framework, please watch &lt;a href="http://www.microsoft.com/showcase/en/us/details/40015bbc-2ded-4aba-9613-2c5a47ee3084"&gt;the introduction video on Microsoft Showcase&lt;/a&gt;, or read the introduction on our homepage &lt;a href="http://1code.codeplex.com/"&gt;http://1code.codeplex.com/&lt;/a&gt;.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New Windows Azure Code Samples&lt;/h2&gt;&lt;p&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/2262.image_5F00_7656B44A.png" width="240" height="106" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configure SSL for specific page(s) while hosting the application in Windows Azure (CSAzureSSLForPage)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CSAzureSSLForPage-e844c9fe" href="http://code.msdn.microsoft.com/CSAzureSSLForPage-e844c9fe"&gt;http://code.msdn.microsoft.com/CSAzureSSLForPage-e844c9fe&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The sample was written by &lt;strong&gt;Narahari Dogiparthi&lt;/strong&gt; – Escalation Engineer from Microsoft.&lt;/p&gt;&lt;p&gt;While hosting the applications in Windows Azure, developers are required to modify IIS settings to suit their application requirements. Many of these IIS settings can be modified only programmatically and developers are required to write code, startup tasks to achieve what they are looking for. One common thing customer does while hosting the applications on-premise is to mix the SSL content with non-SSL content. In Windows Azure, by default you can enable SSL for entire site. There is no provision to enable SSL only for few pages. Hence, Narahari has written sample that customers can use it without investing more time to achieve the task.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Change AppPool identity programmaticall​y (CSAzureChangeA​ppPoolIdentity)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CSAzureChangeAppPoolIdentit-27099828" href="http://code.msdn.microsoft.com/CSAzureChangeAppPoolIdentit-27099828"&gt;http://code.msdn.microsoft.com/CSAzureChangeAppPoolIdentit-27099828&lt;/a&gt;&lt;/p&gt;&lt;p&gt;The sample was developed by &lt;strong&gt;Narahari Dogiparthi&lt;/strong&gt; – Microsoft Escalation Engineer too.&lt;/p&gt;&lt;p&gt;Most of customers test their applications to connect to cloud entities like storage, SQL Azure, AppFabric services via compute emulator environment. If the customer's machine is behind proxy that does not allow traffic from non-authenticated users, their connections fail. One of the workaround is to change the application identity. This cannot be done manually for Azure scenario since the app pool is created by Windows Azure when it is actually running the service. Hence, Narahari has written sample customers can use to change the AppPool identity programmatically.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New Directory Services Code Samples&lt;/h2&gt;&lt;p&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/6076.image_5F00_269D8901.png" width="240" height="160" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Write / add SPN to user or computer account in AD (CSDsWriteAccou​ntSPN)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CSDsWriteAccountSPN-95c31397" href="http://code.msdn.microsoft.com/CSDsWriteAccountSPN-95c31397"&gt;http://code.msdn.microsoft.com/CSDsWriteAccountSPN-95c31397&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by &lt;strong&gt;Shaleen Thapa&lt;/strong&gt; – Microsoft Support Escalation Engineer, this sample application demonstrates how to write/add Service Principal Name (SPN) to any user or computer account object in Active Directory. This sample must be run on domain environment and under the Domain Admin privileges.  You can execute this sample by creating the exe via Visual Studio but it must be running under the domain admin credentials. Also this code must be running either on Domain controller or any one of the member servers.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Get User Group Membership in AD (VBGetUserGroup​InAD)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/VBGetUserGroupInAD-a94dc080" href="http://code.msdn.microsoft.com/VBGetUserGroupInAD-a94dc080"&gt;http://code.msdn.microsoft.com/VBGetUserGroupInAD-a94dc080&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by &lt;strong&gt;Shaleen Thapa&lt;/strong&gt; – Microsoft Support Escalation Engineer, this sample application demonstrates how to perform a search on the user’s group membership in Active Directory. This demonstrates the recursive looping method. Also it shows how to get the Object SID for the group.&lt;/p&gt;&lt;p&gt;We are using System.DirectoryServices namespace to perform a search on AD. We will be passing the distinguishedName of the domain with the username whose membership we would like to fetch. &lt;br /&gt;  &lt;br /&gt;Once we found the user, we will read the memberOF attribute’s value. It is one of the possibilities that the group can be member of another group as well; in this case we would need to do a recursive looping.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New Hyper-V Code Samples&lt;/h2&gt;&lt;p&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/2656.image_5F00_35F0EB10.png" width="240" height="107" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Clone Hyper-V VM Settings (CSHyperVCloneV​M)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CSHyperVCloneVM-81c4d648" href="http://code.msdn.microsoft.com/CSHyperVCloneVM-81c4d648"&gt;http://code.msdn.microsoft.com/CSHyperVCloneVM-81c4d648&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by&lt;strong&gt; Jithesh Nair&lt;/strong&gt; – Microsoft Support Escalation Engineer, this sample demonstrates how to create VM from an existing VM template without copying the VHD file.&lt;/p&gt;&lt;p&gt;The existing methods of cloning VMs include exporting/importing the VM configuration along with VHD. If the VHD size is larger this method of cloning takes too much of times. There are scenarios where the customers wanted to creates VMs programmatically from an existing template. This sample demonstrates how one can use WMI and C# for cloning VMs without copying VHD.&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New TFS Code Samples&lt;/h2&gt;&lt;p&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/3821.image_5F00_5AA20287.png" width="240" height="135" /&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Add CheckOut Event to TFS (CSTFSAddCheckO​utEventType)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CSTFSAddCheckOutEventType-673d0536" href="http://code.msdn.microsoft.com/CSTFSAddCheckOutEventType-673d0536"&gt;http://code.msdn.microsoft.com/CSTFSAddCheckOutEventType-673d0536&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by &lt;strong&gt;Ruiz Yi&lt;/strong&gt; – Sample Writer of Microsoft All-In-One Code Framework, the sample demonstrates how to enable checkout notification in TFS2010.  In TFS2010, when a user sends a Check out (PendChanges) request to server, the server will send a PendChangesNotification before the items are checked out. If we subscribe this notification, we can do following things:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Deny the request.&lt;/li&gt;&lt;li&gt;Fire the custom CheckOut event.  NOTE: As this notification is sent before the items are checked out, we can only know someone is trying to checkout some items.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New WDK Code Samples&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Virtual Device Driver (WDKRamDisk)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/WDKRamDisk-c3322885" href="http://code.msdn.microsoft.com/WDKRamDisk-c3322885"&gt;http://code.msdn.microsoft.com/WDKRamDisk-c3322885&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by &lt;strong&gt;Bart Bartel&lt;/strong&gt; – Microsoft Senior Escalation Engineer, this is the Ramdisk sample driver.  This version of the driver has been modified to support the driver frameworks. This driver basically creates a nonpaged pool and exposes that as a storage media. User can find the device in the disk manager and format the media to use as FAT or NTFS volume. In addition, this version of Ramdisk integrates with Mount Manager, so that it is not necessary for you to assign a drive letter, the system will do this automatically.&lt;/p&gt;&lt;p&gt;&lt;img alt="" src="http://code.msdn.microsoft.com/site/view/file/48682/1/image001.png" width="440" height="437" /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;--------------------------------------------&lt;/p&gt;&lt;h2&gt;New Windows SDK Code Samples&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;List process type information for all running processes (CppCheckProces​sType)&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;Download: &lt;a title="http://code.msdn.microsoft.com/CppCheckProcessType-1f81439d" href="http://code.msdn.microsoft.com/CppCheckProcessType-1f81439d"&gt;http://code.msdn.microsoft.com/CppCheckProcessType-1f81439d&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Developed by &lt;strong&gt;Amit Dey&lt;/strong&gt; – Microsoft Software Development Engineer, this sample code lists process type information for all running processes. like:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Is a Console Application or Is a Windows Application&lt;/li&gt;&lt;li&gt;Is a Managed Application or Is a Native Application&lt;/li&gt;&lt;li&gt;Is a .NET 4.0 Application&lt;/li&gt;&lt;li&gt;Is a WPF Application&lt;/li&gt;&lt;li&gt;Is a 64 Bit Application or Is a 32 Bit Application&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-22-09-metablogapi/0601.image_5F00_5165C746.png" width="313" height="400" /&gt;&lt;/p&gt;&lt;p&gt; &lt;/p&gt;&lt;p&gt;If you have any feedback, please fill out &lt;a href="http://support.microsoft.com/common/survey.aspx?scid=sw;en;1759&amp;amp;showpage=1"&gt;this quick survey&lt;/a&gt; or email us: &lt;a href="mailto:onecode@microsoft.comv"&gt;onecode@microsoft.comv&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/Jialiang/aggbug/148628.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/iNPFDkyHyZE" height="1" width="1"/&gt;</description><dc:creator>Jialiang</dc:creator><feedburner:origLink>http://geekswithblogs.net/Jialiang/archive/2012/02/08/microsoft-all-in-one-code-framework-2012-january-sample-updates.aspx</feedburner:origLink></item><item><title>A Simple implementation of the Proxy Design Pattern using C#</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/YTusIq4o4l4/a-simple-implementation-of-the-proxy-design-pattern-using-c-sharp.aspx</link><pubDate>Tue, 07 Feb 2012 21:02:57 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/amaniar/archive/2012/02/07/a-simple-implementation-of-the-proxy-design-pattern-using-c-sharp.aspx</guid><wfw:comment>http://geekswithblogs.net/amaniar/comments/148627.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/amaniar/comments/commentRss/148627.aspx</wfw:commentRss><comments>http://geekswithblogs.net/amaniar/archive/2012/02/07/a-simple-implementation-of-the-proxy-design-pattern-using-c-sharp.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/amaniar/services/trackbacks/148627.aspx</trackback:ping><source url="http://geekswithblogs.net/amaniar/rss.aspx">A Simple implementation of the Proxy Design Pattern using C#</source><description>&lt;p&gt;A proxy is an object that can be used to control creation and access of a more complex object thereby deferring the cost of    &lt;br /&gt;creating it until the time its needed.&lt;/p&gt;  &lt;p&gt;Below is a simple implementation of the proxy pattern in C#. The ComplexProtectedExpensiveResource is private to the    &lt;br /&gt;ProxyContainer and cannot be instantiated by a client. The client creates an instance of the SimpleProxy class which controls     &lt;br /&gt;its access to the more complex and expensive to create ComplexProtectedExpensiveResource class.&lt;/p&gt;  &lt;p&gt;Note that the ComplexProtectedExpensiveResource is created by the SimpleProxy instance only when needed and after    &lt;br /&gt;verifying that the client indeed has access to it.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; Patterns
{
    &lt;span class="kwrd"&gt;class&lt;/span&gt; ProxyContainer
    {
        &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; ComplexProtectedExpensiveResource
        {
            &lt;span class="kwrd"&gt;internal&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoWork()
            {
                &lt;span class="rem"&gt;//do some heavy lifting&lt;/span&gt;
            }
        }

        &lt;span class="rem"&gt;// The Proxy&lt;/span&gt;
        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; SimpleProxy
        {
            ComplexProtectedExpensiveResource _complexProtectedResource;
            &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; _password;

            &lt;span class="kwrd"&gt;public&lt;/span&gt; SimpleProxy(&lt;span class="kwrd"&gt;string&lt;/span&gt; password)
            {
                _password = password;
            }

            &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoWork()
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (Authenticate())
                {
                    _complexProtectedResource.DoWork();    
                }
            }

            &lt;span class="kwrd"&gt;bool&lt;/span&gt; Authenticate()
            {
                &lt;span class="rem"&gt;//authenticate request&lt;/span&gt;
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (_password == &lt;span class="str"&gt;"password"&lt;/span&gt;)
                {
                    &lt;span class="rem"&gt;//create expensive object if authenticated&lt;/span&gt;
                    &lt;span class="kwrd"&gt;if&lt;/span&gt; (_complexProtectedResource == &lt;span class="kwrd"&gt;null&lt;/span&gt;)
                        _complexProtectedResource = &lt;span class="kwrd"&gt;new&lt;/span&gt; ComplexProtectedExpensiveResource();
                    &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;span class="rem"&gt;// The Client&lt;/span&gt;
    &lt;span class="kwrd"&gt;class&lt;/span&gt; ProxyPattern : ProxyContainer
    {
        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DoWork()
        {
           var simpleProxy = &lt;span class="kwrd"&gt;new&lt;/span&gt; SimpleProxy(&lt;span class="str"&gt;"password"&lt;/span&gt;);
           simpleProxy.DoWork();
        }
    }
}&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;img src="http://geekswithblogs.net/amaniar/aggbug/148627.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/YTusIq4o4l4" height="1" width="1"/&gt;</description><dc:creator>amaniar</dc:creator><feedburner:origLink>http://geekswithblogs.net/amaniar/archive/2012/02/07/a-simple-implementation-of-the-proxy-design-pattern-using-c-sharp.aspx</feedburner:origLink></item><item><title>Back in the Saddle</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/B3cIpq0k59k/back-in-the-saddle.aspx</link><pubDate>Tue, 07 Feb 2012 19:37:50 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/enriquelima/archive/2012/02/07/back-in-the-saddle.aspx</guid><wfw:comment>http://geekswithblogs.net/enriquelima/comments/148626.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/enriquelima/comments/commentRss/148626.aspx</wfw:commentRss><comments>http://geekswithblogs.net/enriquelima/archive/2012/02/07/back-in-the-saddle.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/enriquelima/services/trackbacks/148626.aspx</trackback:ping><source url="http://geekswithblogs.net/enriquelima/rss.aspx">Back in the Saddle</source><description>&lt;p&gt;It seems 2012 has started with an even faster pace than 2011 did.  And with that the activities for a year full of promise have started.&lt;/p&gt;  &lt;p&gt;So far this year I am scheduled to be at the following events in Q1.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://o365redmond.sharepoint.com/Pages/default.aspx" target="_blank"&gt;Inaugural Office 365 Saturday in Redmond: February 25th, 2012&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.codepalousa.com/" target="_blank"&gt;codepaLOUsa, Louisville, KY: March 15-17, 2012.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There have been changes and more changes going on, but will be back to post and go through a memory dump of the challenges I have encountered, but more importantly, the solutions that have come from that.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/enriquelima/aggbug/148626.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/B3cIpq0k59k" height="1" width="1"/&gt;</description><dc:creator>Enrique Lima</dc:creator><feedburner:origLink>http://geekswithblogs.net/enriquelima/archive/2012/02/07/back-in-the-saddle.aspx</feedburner:origLink></item><item><title>Ways To Load Data In SQL Azure</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ReW3c7jokes/ways-to-load-data-in-sql-azure.aspx</link><pubDate>Tue, 07 Feb 2012 17:35:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/hroggero/archive/2012/02/07/ways-to-load-data-in-sql-azure.aspx</guid><wfw:comment>http://geekswithblogs.net/hroggero/comments/148625.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/hroggero/comments/commentRss/148625.aspx</wfw:commentRss><comments>http://geekswithblogs.net/hroggero/archive/2012/02/07/ways-to-load-data-in-sql-azure.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/hroggero/services/trackbacks/148625.aspx</trackback:ping><source url="http://geekswithblogs.net/hroggero/rss.aspx">Ways To Load Data In SQL Azure</source><description>&lt;p&gt;This blog provides links to a presentation and a sample application that shows how to load data in SQL Azure using different techniques and tools. The presentation compares the following techniques: INSERT, BCP, INSERT BULK, SQLBulkCopy and a few tools like SSIS and Enzo Data Copy. &lt;/p&gt;  &lt;p&gt;The presentation contains load tests performed from a local machine with 4 CPUs, using 8 threads (leveraging the Task Parallel Library), to a SQL Azure database using the code provided below. The test loads 40,000 records. Note that however the test was not conducted from a highly controlled environment, so results may vary. However enough differences were found to show a trend and demonstrate the speed of the SQLBulkCopy API versus other programmatic techniques. &lt;/p&gt;  &lt;p&gt;You can download the entire presentation deck here: &lt;a title="http://www.bluesyntax.net/files/TestDataLoad.Zip" href="http://www.bluesyntax.net/files/LoadingDataUsingSqlBulkCopy.pdf"&gt;presentation (PDF)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_thumb_1.png" width="644" height="434" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Enzo Data Copy and SSIS&lt;/h4&gt;  &lt;p&gt;The presentation deck also shows that the Enzo Data Copy wizard loads data efficiently with large tables. However it performs slower for very small databases. The reason the Enzo Data Copy is fast with larger databases is due to its internal chunking algorithm and highly tuned parallel insert operations tailored for SQL Azure. In addition, Enzo Data Copy is designed to retry failed operations that could be the result of network connection issues or throttling; this resilience to connection issues ensures that large databases are more likely to be transferred successfully the first time. The Enzo Data Copy tool can be found here: &lt;a href="http://bluesyntax.net/DataCopy.aspx"&gt;Enzo Data Copy&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this test, with SSIS left with its default configuration, SSIS was 25% slower than the Enzo Data Copy Wizard with 2,000,000 records to transfer.  The SSIS Package created was very basic; the &lt;strong&gt;UseBulkInsertWhenPossible&lt;/strong&gt; property was set to true which controls the use of the INSERT BULK command. &lt;em&gt;Note that a more advanced SSIS developer will probably achieve better results by tuning the SSIS load; the comparison is not meant to conclude that SSIS is slower than the Enzo Data Copy utility; rather it is meant to show that the utility compares with SSIS in load times with larger data sets. Also note that the utility is designed to be a SQL Server Migration tool; not a full ETL product. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_thumb_2.png" width="515" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h4&gt;Note about the source code&lt;/h4&gt;  &lt;p&gt;Note that the source code is provided as-is for learning purposes. In order to use the source code you will need to change the connection string to a SQL Azure database, create a SQL Azure database if you don’t already have one, and create the necessary database objects (the T-SQL commands to run can be found in the code).  &lt;/p&gt;  &lt;p&gt;The code is designed to give you control over how many threads you want to use and the technique to load the data. For example, this command loads 40,000 records (1000 x 40) using 8 threads in batches of 1000: &lt;strong&gt;ExecuteWithSqlBulkCopy(1000, 40, 8);&lt;/strong&gt; While this command loads 40,000 records (500 x 80) using 4 threads in batches of 500: &lt;strong&gt;ExecuteWithPROC(500, 80, 4);&lt;/strong&gt; &lt;/p&gt;  &lt;p&gt;Here is the link to the source code: &lt;a href="http://www.bluesyntax.net/files/TestDataLoad.Zip"&gt;source code&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is a sample output of the code:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/433cccfbea83_A92D/image_thumb.png" width="681" height="250" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/hroggero/aggbug/148625.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ReW3c7jokes" height="1" width="1"/&gt;</description><dc:creator>Herve Roggero</dc:creator><feedburner:origLink>http://geekswithblogs.net/hroggero/archive/2012/02/07/ways-to-load-data-in-sql-azure.aspx</feedburner:origLink></item><item><title>How it works: Exchange 2007 Cluster Continuous Replication and transaction logs</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/2oSxWq60Fd0/how-it-works-exchange-2007-cluster-continuous-replication-and-transaction.aspx</link><pubDate>Tue, 07 Feb 2012 16:04:33 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2012/02/07/how-it-works-exchange-2007-cluster-continuous-replication-and-transaction.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/148624.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/148624.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2012/02/07/how-it-works-exchange-2007-cluster-continuous-replication-and-transaction.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/148624.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">How it works: Exchange 2007 Cluster Continuous Replication and transaction logs</source><description>&lt;!--[if !mso]&gt;
&lt;style&gt;
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves&gt;false&lt;/w:TrackMoves&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;



&lt;p class="MsoNormal"&gt;The background workings of a CCR can be quite mysterious but
are, all in all, not that difficult to understand. First of all we need to know
the following things:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;There are two fundamental elements for the
&lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; store:&lt;br /&gt;
The transaction logs and the database&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Transaction logs are a maximum of 1 MB in size
(in &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 this was 5MB)&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Log files are stored in sequence and in the
following format:&lt;br /&gt;
E(number of the storage group)(8 digit hexadecimal number).log&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The checkpoint file (EDB.chk) stores which log
files have been written to the database&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Log files are only cleared if a successful full
backup has been performed&lt;/p&gt;

&lt;h2&gt;The &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; ESE&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;There are five (5) subcomponents that make up the ESE and
define the process of moving database in to the database!&lt;/p&gt;

&lt;h3&gt;Log buffers&lt;/h3&gt;

&lt;p class="MsoNormal"&gt;When a transaction is first received it is stored in the log
buffer. These log buffers are used to hold the received information in the
servers memory before the data is written to the transaction logs. The
following parameters define a log buffer:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Each buffer unit is the size of a disk sector
(512 bytes)&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;JET will perform sanitation so that they are a
minimum of 128 sectors, a maximum of 10,240 sectors and that the largest 63KB
boundary is aligned.&lt;/p&gt;

&lt;h3&gt;Log writer&lt;/h3&gt;

&lt;p class="MsoNormal"&gt;Once the log buffers are filled up the data is moved on to
the disk and in to the log files. This committing of the data is performed in a
synchronous fashion and very fast to assure that a system failure would not
cause data loss.&lt;/p&gt;

&lt;h3&gt;IS Buffers&lt;/h3&gt;

&lt;p class="MsoNormal"&gt;The IS buffer is the first step to turning the transactions
to actual data. Grouped in 4KB pages allocated from memory by &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;, they
serve the purpose of caching the database pages before being written to disk. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;When the pages are first created they are marked as clean as
there is no data written to them. Once the ESE plays the transactions from the
logs into the empty pages in the memory it changes the status to “dirty”.&lt;/p&gt;

&lt;h3&gt;Version store&lt;/h3&gt;

&lt;p class="MsoNormal"&gt;Since ESE writes multiple different transactions to a single
page in the memory the version store is needed to, not only keep track of these
transaction, but also to manage them. It structures the pages that occur as
they occur.&lt;/p&gt;

&lt;h3&gt;Lazy writer&lt;/h3&gt;

&lt;p class="MsoNormal"&gt;When the ESE gets to the point the dirty pages need to be
flushed out of the memory it calls the lazy writer to move the pages from the
cache buffers to the disk. As there is a large number of transactions going on
at once it is the job of the lazy writer to prioritize the transactions and
subsequently handle its task without overloading the disk I/O subsystem.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;At this point the transactions in the memory have become
static information on the disk and the dirty memory caches are cleaned up and
ready to be used again!&lt;/p&gt;

&lt;h2&gt;The checkpoint file&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;There are two notable components of the database checkpoint,
Namely the checkpoint file and the checkpoint depth.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The checkpoint file (edb.chk) is a file maintained by the
database engine for every log file sequence to keep track of the data that has
not yet been written to the database file on the disk. It is a pointer in the
log sequence that indicates where in the log file the information store needs
to start recovery in case of a failure. Without the checkpoint file the
information store would start replay from the beginning of the oldest log file
on the disk and it would have to check every page in every log file to
determine whether it had already been written to the disk.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The checkpoint depth is a threshold which defines when the
ESE begins to aggressively flush dirty pages to the database.&lt;/p&gt;

&lt;h2&gt;ESE Cache&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;The ESE cache is an area of memory reserved to the
information store process (running under store.exe) used to store database
pages in memory, reducing read I/Os&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;and
increasing the performance of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;The EDB file&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;As the main repository for the mailbox data the fundamental
construct of the edb file is that of a table. Hence the need to run ISINTEG in
case the edb file gets corrupted as only ISINTEG can fix the tables in the EDB
file.&lt;/p&gt;

&lt;h2&gt;How it comes together&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;Imagine a client sends a new message. The page that requires
updating is read from the file, placed in the ESE cache whilst the log buffer
gets notified and records the new transaction in the memory of the server.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;These changes are recorded by the database engine but not
immediately written to disk. The changes are held in the ESE cache and marked
as dirty bits so signal they have not yet been written to the database
(committed if you would like to call it that). The version store is used to
keep track of the changes, guaranteeing consistency.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;As the database pages are changed, the log buffer is
notified to commit the changes and the changes get written to a transaction log
file. Eventually the dirty database pages are flushed to the database files and
the checkpoint is advance.&lt;/p&gt;

&lt;h2&gt;The CCR functionality&lt;/h2&gt;

&lt;p class="MsoNormal"&gt;Now that we know &lt;i style="mso-bidi-font-style:normal"&gt;how&lt;/i&gt;
the transactions get written to the log files we can go further and explain how
the CCR gets to replicating and replaying these changes!&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;In a CCR we have two nodes, an active and a passive node,
one which pulls transaction files to the other. The active node is where all
the clients with their MAPI sessions will connect to, the passive stands by in
case of the failure of the active node with its own copy of the database and
log files. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;The technology behind the CCR is based on an asynchronous
copy, meaning that the passive copy does not get the information from the
transaction log replayed in the database at the same time as the active node.
In fact, the passive node cannot pull the transaction log file over to replay
it unless the active nodes store process has released the log file (aka is done
replaying the log file to the database).&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So if we continue on our earlier premise, one the checkpoint
on the active node is advanced the passive node pulls the log files it still
needs to replay over and replays them in to the database.&lt;/p&gt;



&lt;p class="MsoNormal"&gt;Source:&lt;br /&gt;
&lt;a href="http://www.windowsitpro.com/article/john-savills-windows-faqs/q-how-does-cluster-continuous-replication-ccr-work-in-microsoft-exchange-server-"&gt;http://www.windowsitpro.com/article/john-savills-windows-faqs/q-how-does-cluster-continuous-replication-ccr-work-in-microsoft-exchange-server-&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blogs.technet.com/b/mbaher/archive/2008/01/22/who-said-that-transaction-goes-from-logs-to-db.aspx"&gt;http://blogs.technet.com/b/mbaher/archive/2008/01/22/who-said-that-transaction-goes-from-logs-to-db.aspx&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/148624.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/2oSxWq60Fd0" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2012/02/07/how-it-works-exchange-2007-cluster-continuous-replication-and-transaction.aspx</feedburner:origLink></item><item><title>Exchange 2007 Cluster Continuous Replication (CCR)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/hmTUXFbp0QI/exchange-2007-cluster-continuous-replication-ccr.aspx</link><pubDate>Tue, 07 Feb 2012 15:15:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2012/02/07/exchange-2007-cluster-continuous-replication-ccr.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/148623.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/148623.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2012/02/07/exchange-2007-cluster-continuous-replication-ccr.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/148623.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">Exchange 2007 Cluster Continuous Replication (CCR)</source><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;&lt;h1&gt;Introduction&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;The CCR cluster in &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 allows your environment to
become fault tolerant (up to a level) and is the basis of the 2010 DAG
technology. Whilst it is a bit of a fairy/drama queen when it comes to
replication (in my opinion) it’s easier to manage and set up than a 2003 high
availability cluster.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;A certain number of requirements apply to a CCR cluster:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;You must have the failover clustering component
on your OS (So enterprise/datacentre licenses are required)&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;You’ll need a heartbeat network interface&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;A file share witness is required on a third
server&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;A CCR can only run on a mailbox only server. So
no sharing of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; roles…&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Updating is a bit more complicated.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Management becomes more “difficult” versus a
normal installation of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt;.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So for this tutorial we’ll be using the following
infrastructure:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;The environment we setup in the transition from
2003 document&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;2 extra 2008 enterprise server&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3.&lt;/p&gt;

&lt;h1&gt;Preparation and prerequisites&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;As mentioned before you need an enterprise license minimum
and a heartbeat nic for both servers. Once you have everything configured on
the OS level we can start configuring the servers for the CCR cluster! The
first thing we have to do is install &amp;amp; configure the clustering component
for windows 2008.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Add features&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Select Failover Clustering&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Next&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Install&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Repeat on the second server in your CCR Cluster. As soon as
you have configured this on both server (reboot might be required,&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;but did not happen in my case) open up the
failover cluster manager and select the “validate a configuration wizard”.
Enter the names of the servers and click next.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Select the radio button in front of “run only tests I select”
and click next. Uncheck the storage part (&lt;b style="mso-bidi-font-weight:normal"&gt;a
CCR does not use shared storage!&lt;/b&gt;) and click next, next and wait for
completion. If the results of the tests are all “passed” you are good to go, if
not, review why it failed and correct where possible.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;When all tests are returned in the green select the “create
cluster wizard”. For the time being only enter one server name in the
selection. Since you already ran the validation wizard you can ignore the “validation
warning” window.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Name your cluster and give it and IP, click on next, next
finish. Now in the failover cluster manager expand the nodes and select the
action “add node”. Go through the wizard until finished &lt;span style="font-family:&amp;#xD;&amp;#xA;Wingdings;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;&amp;#xD;&amp;#xA;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-char-type:&amp;#xD;&amp;#xA;symbol;mso-symbol-font-family:Wingdings"&gt;&lt;span style="mso-char-type:symbol;&amp;#xD;&amp;#xA;mso-symbol-font-family:Wingdings"&gt;J&lt;/span&gt;&lt;/span&gt;. Open up the networks section
in the cluster manager and rename the networks according to their function.
This helps troubleshooting in case something would go wrong in the future… On
the heartbeat network, the checkmark “allow clients to connect through this
network” needs to be unticked. Double check this is the case.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now on each server run the following commands to install the
prerequisites for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;ServerManagerCmd -i Web-Server&lt;br /&gt;
ServerManagerCmd -i Web-ISAPI-Ext&lt;br /&gt;
ServerManagerCmd -i Web-Metabase&lt;br /&gt;
ServerManagerCmd -i Web-Lgcy-Mgmt-Console&lt;br /&gt;
ServerManagerCmd -i Web-Basic-Auth&lt;br /&gt;
ServerManagerCmd -i Web-Windows-Auth&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, on the server you elected to use for the File Share
Witness, open a command window (DOS prompt) and perform the following actions:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;em&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol;font-style:normal"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&amp;#xD;&amp;#xA;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#xD;&amp;#xA;&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi"&gt;MKDIR FSW_CCR_MAIL&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-ascii-theme-font:minor-latin;&amp;#xD;&amp;#xA;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;&amp;#xD;&amp;#xA;mso-bidi-theme-font:minor-bidi;font-style:normal"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;em&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol;font-style:normal"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&amp;#xD;&amp;#xA;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#xD;&amp;#xA;&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi"&gt;NET SHARE FSW_CCR=C:\ FSW_CCR_MAIL
/GRANT:CCRCLUSTER$,FULL&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&amp;#xD;&amp;#xA;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#xD;&amp;#xA;&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi;font-style:normal"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;em&gt;&lt;span style="font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:&amp;#xD;&amp;#xA;Symbol;font-style:normal"&gt;&lt;span style="mso-list:Ignore"&gt;·&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;        
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;&amp;#xD;&amp;#xA;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-bidi-font-family:&amp;#xD;&amp;#xA;&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi"&gt;CACLS C:\ FSW_CCR_MAIL /G
BUILTIN\Administrators:F CCRCLUSTER$:F&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span style="font-family:&amp;#xD;&amp;#xA;&amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:&amp;#xD;&amp;#xA;minor-latin;mso-bidi-font-family:&amp;quot;Times New Roman&amp;quot;;mso-bidi-theme-font:minor-bidi;&amp;#xD;&amp;#xA;font-style:normal"&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;Note that CCRMAIL$ is
the actual computer name you configured your cluster with, in my case mail$.&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, on your failover cluster, right click, nore actions,
configure cluster quorum settings. Select the “Node and file share majority”
option and click next. Now browse to the shared folder path, click next, next
&amp;amp; finish.&lt;/p&gt;

&lt;h1&gt;Installation&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;Time to start the installation! Fire up the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; setup
and opt to install &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server 2007…&lt;br /&gt;
Once setup has started select “custom &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server installation” and check
the “active clustered mailbox role” checkbox. If necessary change the
installation path. On the next screen make sure cluster continuous replication
is selected and specify the name for the CCR (needs to be different from your
cluster name!). Use the screen that follows to assign an IP address (again,
this needs to be different from the cluster IP) and let the installation do its
work on the server. Once setup completes reboot the server. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now that the first node has rebooted and is up and running, turn
your attention to the second server. Launch setup on this server and select the
custom installation option, but select the passive clustered mailbox role
checkbox this time over. When the prerequisite checking has completed press the
install button and wait for setup to complete.&lt;/p&gt;

&lt;h1&gt;Finishing up&lt;/h1&gt;

&lt;p class="MsoNormal"&gt;Now that the installation has been completed open up the
&lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; management console and expand the server configuration &amp;gt; Mailbox.
As you can see the individual server you installed &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; on are not listed,
instead the cluster name has been listed as a mailbox server. &lt;/p&gt;

&lt;p class="MsoNormal"&gt;At this point you can go ahead and move the databases and
log files to a different drive. The recommended configuration is that both the
database and the log files are on a different physical spindle (hard drive) for
optimum performance. Before telling you how to move the files to a different
path you’ll have to note that the hard drive configuration needs to be the same
on both CCR nodes. That means the drive letters need to be the same! Ideally
you would have the same hard drive space available on both nodes as well as you
don’t want either server to run out of disk space.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, to move the database and log file path follow this
process:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-GB&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;/p&gt;&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;color:#7030A0"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Suspend the storage group copy:&lt;br /&gt;
&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#00B050"&gt;Suspend-StorageGroupCopy
-Identity &amp;lt;Server\StorageGroupName&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color:#7030A0"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-bidi-font-family:Calibri;&amp;#xD;&amp;#xA;mso-bidi-theme-font:minor-latin;color:#00B050"&gt;&lt;span style="mso-list:Ignore"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;Dismount
the database:&lt;br /&gt;
&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#00B050"&gt;Dismount-Database
-Identity &amp;lt;Server\StorageGroupName\DatabaseName&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-bidi-font-family:Calibri;&amp;#xD;&amp;#xA;mso-bidi-theme-font:minor-latin;color:#7030A0"&gt;&lt;span style="mso-list:Ignore"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;Move
the database files:&lt;br /&gt;
&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#00B050"&gt;Move-DatabasePath
-Identity &amp;lt;Server\StorageGroupName\DatabaseName&amp;gt; -EdbFilePath
&amp;lt;NewPath&amp;gt; -ConfigurationOnly&lt;/span&gt;&lt;span style="color:#7030A0"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-bidi-font-family:Calibri;&amp;#xD;&amp;#xA;mso-bidi-theme-font:minor-latin;color:#7030A0"&gt;&lt;span style="mso-list:Ignore"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;Move
the logfiles folder path:&lt;i style="mso-bidi-font-style:normal"&gt;&lt;br /&gt;
&lt;span style="color:#00B050"&gt;Move-StorageGroupPath -Identity:&lt;span style="mso-bidi-font-style:italic"&gt;&amp;lt;Server\StorageGroupName&amp;gt;&lt;/span&gt;
-LogFolderPath:&lt;span style="mso-bidi-font-style:italic"&gt;&amp;lt;NewPath&amp;gt;&lt;/span&gt;
-SystemFolderPath:&lt;span style="mso-bidi-font-style:italic"&gt;&amp;lt;NewPath&amp;gt;
-ConfigurationOnly&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color:#00B050"&gt; &lt;/span&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#7030A0"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-left:36.0pt"&gt;&lt;i style="mso-bidi-font-style:&amp;#xD;&amp;#xA;normal"&gt;Note that you have to use the configurationOnly parameter and &lt;b style="mso-bidi-font-weight:normal"&gt;manually&lt;/b&gt; move the database files on
both the active and passive node!&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="mso-bidi-font-family:Calibri;&amp;#xD;&amp;#xA;mso-bidi-theme-font:minor-latin;color:#00B050"&gt;&lt;span style="mso-list:Ignore"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;Mount
the database:&lt;br /&gt;
&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#00B050"&gt;Mount-Database
-Identity &amp;lt;Server\StorageGroupName\DatabaseName&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;color:#00B050"&gt;&lt;span style="mso-list:Ignore"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Resume the storage group copy:&lt;br /&gt;
&lt;i style="mso-bidi-font-style:normal"&gt;&lt;span style="color:#00B050"&gt;Resume-StorageGroupCopy
-Identity &amp;lt;Server\StorageGroupName&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;span style="color:#00B050"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin"&gt;&lt;span style="mso-list:Ignore"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;      
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Check that replication is occurring and the replication
status is healthy.&lt;/p&gt;



&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-18.0pt;mso-list:l1 level1 lfo2"&gt;&lt;span style="mso-bidi-font-family:Calibri;mso-bidi-theme-font:minor-latin;color:#7030A0"&gt;&lt;span style="mso-list:Ignore"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/148623.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/hmTUXFbp0QI" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2012/02/07/exchange-2007-cluster-continuous-replication-ccr.aspx</feedburner:origLink></item><item><title>Problem: DropDownList Always Posts Blank Value in ASP.Net MVC 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/t-p5h85N8Ao/problem-dropdownlist-always-posts-blank-value-in-asp.net-mvc.aspx</link><pubDate>Tue, 07 Feb 2012 15:08:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DougLampe/archive/2012/02/07/problem-dropdownlist-always-posts-blank-value-in-asp.net-mvc.aspx</guid><wfw:comment>http://geekswithblogs.net/DougLampe/comments/148622.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DougLampe/comments/commentRss/148622.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DougLampe/archive/2012/02/07/problem-dropdownlist-always-posts-blank-value-in-asp.net-mvc.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DougLampe/services/trackbacks/148622.aspx</trackback:ping><source url="http://geekswithblogs.net/DougLampe/rss.aspx">Problem: DropDownList Always Posts Blank Value in ASP.Net MVC 2</source><description>&lt;p&gt;Consider the following code:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;= Html.DropDownList(&lt;span class="str"&gt;"State"&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectList(&lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] { &lt;span class="str"&gt;""&lt;/span&gt;,&lt;span class="str"&gt;"AK"&lt;/span&gt;,&lt;span class="str"&gt;"AL"&lt;/span&gt;,&lt;span class="str"&gt;"AR"&lt;/span&gt;,&lt;span class="str"&gt;"AS"&lt;/span&gt;,&lt;span class="str"&gt;"AZ"&lt;/span&gt;,&lt;span class="str"&gt;"CA"&lt;/span&gt;,&lt;span class="str"&gt;"CO"&lt;/span&gt;,&lt;span class="str"&gt;"CT"&lt;/span&gt;,&lt;span class="str"&gt;"DC"&lt;/span&gt;,&lt;span class="str"&gt;"DE"&lt;/span&gt;,&lt;span class="str"&gt;"FL"&lt;/span&gt;,&lt;span class="str"&gt;"GA"&lt;/span&gt;,&lt;span class="str"&gt;"GU"&lt;/span&gt;,&lt;span class="str"&gt;"HI"&lt;/span&gt;,&lt;span class="str"&gt;"IA"&lt;/span&gt;,&lt;span class="str"&gt;"ID"&lt;/span&gt;,
                    &lt;span class="str"&gt;"IL"&lt;/span&gt;,&lt;span class="str"&gt;"IN"&lt;/span&gt;,&lt;span class="str"&gt;"KS"&lt;/span&gt;,&lt;span class="str"&gt;"KY"&lt;/span&gt;,&lt;span class="str"&gt;"LA"&lt;/span&gt;,&lt;span class="str"&gt;"MA"&lt;/span&gt;,&lt;span class="str"&gt;"MD"&lt;/span&gt;,&lt;span class="str"&gt;"ME"&lt;/span&gt;,&lt;span class="str"&gt;"MH"&lt;/span&gt;,&lt;span class="str"&gt;"MI"&lt;/span&gt;,&lt;span class="str"&gt;"MN"&lt;/span&gt;,&lt;span class="str"&gt;"MO"&lt;/span&gt;,&lt;span class="str"&gt;"MS"&lt;/span&gt;,&lt;span class="str"&gt;"MT"&lt;/span&gt;,&lt;span class="str"&gt;"NC"&lt;/span&gt;,&lt;span class="str"&gt;"ND"&lt;/span&gt;,&lt;span class="str"&gt;"NE"&lt;/span&gt;,&lt;span class="str"&gt;"NH"&lt;/span&gt;,&lt;span class="str"&gt;"NJ"&lt;/span&gt;,&lt;span class="str"&gt;"NM"&lt;/span&gt;,&lt;span class="str"&gt;"NV"&lt;/span&gt;,&lt;span class="str"&gt;"NY"&lt;/span&gt;,
                    &lt;span class="str"&gt;"OH"&lt;/span&gt;,&lt;span class="str"&gt;"OK"&lt;/span&gt;,&lt;span class="str"&gt;"OR"&lt;/span&gt;,&lt;span class="str"&gt;"PA"&lt;/span&gt;,&lt;span class="str"&gt;"PR"&lt;/span&gt;,&lt;span class="str"&gt;"PW"&lt;/span&gt;,&lt;span class="str"&gt;"RI"&lt;/span&gt;,&lt;span class="str"&gt;"SC"&lt;/span&gt;,&lt;span class="str"&gt;"SD"&lt;/span&gt;,&lt;span class="str"&gt;"TN"&lt;/span&gt;,&lt;span class="str"&gt;"TX"&lt;/span&gt;,&lt;span class="str"&gt;"UT"&lt;/span&gt;,&lt;span class="str"&gt;"VA"&lt;/span&gt;,&lt;span class="str"&gt;"VI"&lt;/span&gt;,&lt;span class="str"&gt;"VT"&lt;/span&gt;,&lt;span class="str"&gt;"WA"&lt;/span&gt;,&lt;span class="str"&gt;"WI"&lt;/span&gt;,&lt;span class="str"&gt;"WV"&lt;/span&gt;,&lt;span class="str"&gt;"WY"&lt;/span&gt;})) &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Simple enough, right?  Display a dropdown list with a value for each state.  There is only one problem.  The resulting HTML looks like this:&lt;/p&gt;
&lt;p&gt;&amp;lt;select id="State" name="state"&amp;gt;&amp;lt;option&amp;gt;&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;AK&amp;lt;/option&amp;gt;...&lt;/p&gt;
&lt;p&gt;While this is valid HTML in &lt;em&gt;most&lt;/em&gt; browsers, it fails in IE 8 running in compatability mode.  In essence, it is treated like this:&lt;/p&gt;
&lt;p&gt;&amp;lt;option value=""&amp;gt;&amp;lt;/option&amp;gt;&amp;lt;option value=""&amp;gt;AK&amp;lt;/option&amp;gt;...&lt;/p&gt;
&lt;p&gt;A simple solution is to force a value like this:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;= Html.DropDownList(&lt;span class="str"&gt;"State"&lt;/span&gt;, &lt;span class="kwrd"&gt;new&lt;/span&gt; SelectList((&lt;span class="kwrd"&gt;new&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;[] { &lt;span class="str"&gt;""&lt;/span&gt;,&lt;span class="str"&gt;"AK"&lt;/span&gt;,&lt;span class="str"&gt;"AL"&lt;/span&gt;,&lt;span class="str"&gt;"AR"&lt;/span&gt;,&lt;span class="str"&gt;"AS"&lt;/span&gt;,&lt;span class="str"&gt;"AZ"&lt;/span&gt;,&lt;span class="str"&gt;"CA"&lt;/span&gt;,&lt;span class="str"&gt;"CO"&lt;/span&gt;,&lt;span class="str"&gt;"CT"&lt;/span&gt;,&lt;span class="str"&gt;"DC"&lt;/span&gt;,&lt;span class="str"&gt;"DE"&lt;/span&gt;,&lt;span class="str"&gt;"FL"&lt;/span&gt;,&lt;span class="str"&gt;"GA"&lt;/span&gt;,&lt;span class="str"&gt;"GU"&lt;/span&gt;,&lt;span class="str"&gt;"HI"&lt;/span&gt;,&lt;span class="str"&gt;"IA"&lt;/span&gt;,&lt;span class="str"&gt;"ID"&lt;/span&gt;,
                    &lt;span class="str"&gt;"IL"&lt;/span&gt;,&lt;span class="str"&gt;"IN"&lt;/span&gt;,&lt;span class="str"&gt;"KS"&lt;/span&gt;,&lt;span class="str"&gt;"KY"&lt;/span&gt;,&lt;span class="str"&gt;"LA"&lt;/span&gt;,&lt;span class="str"&gt;"MA"&lt;/span&gt;,&lt;span class="str"&gt;"MD"&lt;/span&gt;,&lt;span class="str"&gt;"ME"&lt;/span&gt;,&lt;span class="str"&gt;"MH"&lt;/span&gt;,&lt;span class="str"&gt;"MI"&lt;/span&gt;,&lt;span class="str"&gt;"MN"&lt;/span&gt;,&lt;span class="str"&gt;"MO"&lt;/span&gt;,&lt;span class="str"&gt;"MS"&lt;/span&gt;,&lt;span class="str"&gt;"MT"&lt;/span&gt;,&lt;span class="str"&gt;"NC"&lt;/span&gt;,&lt;span class="str"&gt;"ND"&lt;/span&gt;,&lt;span class="str"&gt;"NE"&lt;/span&gt;,&lt;span class="str"&gt;"NH"&lt;/span&gt;,&lt;span class="str"&gt;"NJ"&lt;/span&gt;,&lt;span class="str"&gt;"NM"&lt;/span&gt;,&lt;span class="str"&gt;"NV"&lt;/span&gt;,&lt;span class="str"&gt;"NY"&lt;/span&gt;,
                    &lt;span class="str"&gt;"OH"&lt;/span&gt;,&lt;span class="str"&gt;"OK"&lt;/span&gt;,&lt;span class="str"&gt;"OR"&lt;/span&gt;,&lt;span class="str"&gt;"PA"&lt;/span&gt;,&lt;span class="str"&gt;"PR"&lt;/span&gt;,&lt;span class="str"&gt;"PW"&lt;/span&gt;,&lt;span class="str"&gt;"RI"&lt;/span&gt;,&lt;span class="str"&gt;"SC"&lt;/span&gt;,&lt;span class="str"&gt;"SD"&lt;/span&gt;,&lt;span class="str"&gt;"TN"&lt;/span&gt;,&lt;span class="str"&gt;"TX"&lt;/span&gt;,&lt;span class="str"&gt;"UT"&lt;/span&gt;,&lt;span class="str"&gt;"VA"&lt;/span&gt;,&lt;span class="str"&gt;"VI"&lt;/span&gt;,&lt;span class="str"&gt;"VT"&lt;/span&gt;,&lt;span class="str"&gt;"WA"&lt;/span&gt;,&lt;span class="str"&gt;"WI"&lt;/span&gt;,&lt;span class="str"&gt;"WV"&lt;/span&gt;,&lt;span class="str"&gt;"WY"&lt;/span&gt;}).Select(x =&amp;gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; { Text = x, Value = x}), &lt;span class="str"&gt;"Value"&lt;/span&gt;, &lt;span class="str"&gt;"Text"&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;)) &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;You're welcome!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/DougLampe/aggbug/148622.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/t-p5h85N8Ao" height="1" width="1"/&gt;</description><dc:creator>Doug Lampe</dc:creator><feedburner:origLink>http://geekswithblogs.net/DougLampe/archive/2012/02/07/problem-dropdownlist-always-posts-blank-value-in-asp.net-mvc.aspx</feedburner:origLink></item><item><title>Mocking ITable&amp;lt;T&amp;gt;</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DkrmaTuiiWI/mocking-itablelttgt.aspx</link><pubDate>Tue, 07 Feb 2012 09:12:20 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cskardon/archive/2012/02/06/mocking-itablelttgt.aspx</guid><wfw:comment>http://geekswithblogs.net/cskardon/comments/148621.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cskardon/comments/commentRss/148621.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cskardon/archive/2012/02/06/mocking-itablelttgt.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cskardon/services/trackbacks/148621.aspx</trackback:ping><source url="http://geekswithblogs.net/cskardon/rss.aspx">Mocking ITable&amp;lt;T&amp;gt;</source><description>&lt;p&gt;I have to do some mocking of an &lt;a title="ITable on MSDN" href="http://msdn.microsoft.com/en-us/library/system.data.linq.itable.aspx" target="_blank"&gt;ITable&lt;/a&gt; to be able to test some of my code, as you may imagine this is the point where we’re crossing the data boundary… Now, ITable is a total bugger to mock, I’ve tried on (at least) 3 separate occasions to get it mocked, and have only now, finally achieved an 80% solution.&lt;/p&gt;  &lt;p&gt;(Nothing is ever 100%)&lt;/p&gt;  &lt;p&gt;I’m not using any mock framework, they just take too long to setup (&lt;em&gt;in this case&lt;/em&gt;) and instead have a concrete class that implements ITable and uses an &lt;a href="http://msdn.microsoft.com/en-us/library/5y536ey6.aspx" target="_blank"&gt;IList&lt;/a&gt; as it’s base.&lt;/p&gt;  &lt;p&gt;Without further ado:&lt;/p&gt;  &lt;blockquote&gt;   &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Data.Linq;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq.Expressions;

&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; MockTable&amp;lt;T&amp;gt; : ITable&amp;lt;T&amp;gt; &lt;span class="kwrd"&gt;where&lt;/span&gt; T : &lt;span class="kwrd"&gt;class&lt;/span&gt;
{
    &lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;readonly&lt;/span&gt; IList&amp;lt;T&amp;gt; _entities;

    &lt;span class="kwrd"&gt;public&lt;/span&gt; MockTable(IList&amp;lt;T&amp;gt; entities)
    {
        _entities = entities;
    }

    &lt;span class="preproc"&gt;#region&lt;/span&gt; ITable&amp;lt;T&amp;gt; Members

    &lt;span class="kwrd"&gt;public&lt;/span&gt; IEnumerator&amp;lt;T&amp;gt; GetEnumerator()
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; _entities.GetEnumerator();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
        &lt;span class="kwrd"&gt;return&lt;/span&gt; GetEnumerator();
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; Expression Expression 
    { 
        get 
        { 
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _entities.AsQueryable().Expression; 
        } 
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; Type ElementType 
    { 
        get 
        { 
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _entities.AsQueryable().ElementType; 
        } 
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; IQueryProvider Provider 
    { 
        get 
        { 
            &lt;span class="kwrd"&gt;return&lt;/span&gt; _entities.AsQueryable().Provider; 
        } 
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; InsertOnSubmit(T entity)
    {
        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException();
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Attach(T entity)
    {
        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException();
    }

    &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; DeleteOnSubmit(T entity)
    {
        &lt;span class="kwrd"&gt;throw&lt;/span&gt; &lt;span class="kwrd"&gt;new&lt;/span&gt; NotImplementedException();
    }
    &lt;span class="preproc"&gt;#endregion&lt;/span&gt; ITable&amp;lt;T&amp;gt; Members
}&lt;/pre&gt;
&lt;/blockquote&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;To use, in your test, let’s say you have an IDataContext (and why not) looking like this:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;interface&lt;/span&gt; IDataContext
{
    ITable&amp;lt;Person&amp;gt; People { get; set; }
}&lt;/pre&gt;
&lt;/blockquote&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;You can then mock this interface like so:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;pre class="csharpcode"&gt;[TestMethod]
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Something_DoesSomething_WhenSomething()
{
    &lt;span class="rem"&gt;//Create seed list&lt;/span&gt;
    var people = &lt;span class="kwrd"&gt;new&lt;/span&gt; List&amp;lt;Person&amp;gt;{ &lt;span class="kwrd"&gt;new&lt;/span&gt; Person{Name = &lt;span class="str"&gt;"Chris Skardon"&lt;/span&gt;} };
    
    &lt;span class="rem"&gt;//Create new Mock&lt;/span&gt;
    var dataContextMock = &lt;span class="kwrd"&gt;new&lt;/span&gt; Mock&amp;lt;IDataContext&amp;gt;();
    
    &lt;span class="rem"&gt;//Setup the People ITable property&lt;/span&gt;
    dataContextMock
        .Setup(dc =&amp;gt; dc.People)
        .Returns(&lt;span class="kwrd"&gt;new&lt;/span&gt; MockTable&amp;lt;Person&amp;gt;(people));
    
    &lt;span class="rem"&gt;/* Asserts etc */&lt;/span&gt;
}&lt;/pre&gt;
&lt;/blockquote&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;It’s obviously not perfect, I haven’t bothered with several methods, but I’ll get to them later…&lt;/p&gt;

&lt;p&gt;&lt;a title="Chris Skardon is on Google+" href="http://plus.google.com/101339052790440625852/about" rel="author"&gt;Chris&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/cskardon/aggbug/148621.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DkrmaTuiiWI" height="1" width="1"/&gt;</description><dc:creator>Chris Skardon</dc:creator><feedburner:origLink>http://geekswithblogs.net/cskardon/archive/2012/02/06/mocking-itablelttgt.aspx</feedburner:origLink></item><item><title>Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/klfwVnqW-s4/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</link><pubDate>Tue, 07 Feb 2012 07:56:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</guid><wfw:comment>http://geekswithblogs.net/AbhishekLohani/comments/148620.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AbhishekLohani/comments/commentRss/148620.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AbhishekLohani/services/trackbacks/148620.aspx</trackback:ping><source url="http://geekswithblogs.net/AbhishekLohani/rss.aspx">Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting</source><description>Coded UI Test comes news with  Vs2010.

Use Hand Coding Coded UI Test For Automated Vs2010 Test Scripting


Hand Coding Coded UI Test  use the scripting Language c# or vb.net




Thanks
Abhishek

 &lt;img src="http://geekswithblogs.net/AbhishekLohani/aggbug/148620.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/klfwVnqW-s4" height="1" width="1"/&gt;</description><dc:creator>AbhishekLohani</dc:creator><feedburner:origLink>http://geekswithblogs.net/AbhishekLohani/archive/2012/02/07/use-hand-coding-coded-ui-test-for-automated-vs2010-test.aspx</feedburner:origLink></item><item><title>An alternative to cursor</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/vIG0mC8S-Zc/an-alternative-to-cursor.aspx</link><pubDate>Tue, 07 Feb 2012 05:28:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx</guid><wfw:comment>http://geekswithblogs.net/saiful/comments/148619.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/saiful/comments/commentRss/148619.aspx</wfw:commentRss><comments>http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/saiful/services/trackbacks/148619.aspx</trackback:ping><source url="http://geekswithblogs.net/saiful/rss.aspx">An alternative to cursor</source><description>&lt;div dir="ltr" style="text-align: left;"&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;While
 working with database we often require to use Cursor. Cursors force the
 database engine to repeatedly fetch rows. This may slow down your 
database and locking may occur. As a result cursor are not suggested to 
use if not extremely necessary.&lt;/div&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="background-color: white; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"&gt;If
 there is a primary key on a table, you can usually write a WHILE loop 
to do the same work without incurring the overhead of a cursor. The 
following example demonstrate the idea:&lt;/div&gt;&lt;div&gt;  &lt;br /&gt;
&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;Declare&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt; @ItemId &lt;span style="color: blue;"&gt;bigint&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;Declare&lt;/span&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt; @OldItemCode &lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;50&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: blue;"&gt;Top&lt;/span&gt; 1&lt;span style="mso-spacerun: yes;"&gt;   &lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;=&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;,&lt;/span&gt; @OldItemCode&lt;span style="color: grey;"&gt;=&lt;/span&gt;OldItemCode&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;         &lt;/span&gt;InvItem&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;WHERE&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;IsStockItem &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'true'&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;WHILE&lt;/span&gt; @ItemId &lt;span style="color: grey;"&gt;is&lt;/span&gt; &lt;span style="color: grey;"&gt;not&lt;/span&gt; &lt;span style="color: grey;"&gt;null&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;BEGIN&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;print&lt;/span&gt; &lt;span style="color: red;"&gt;'Item: '&lt;/span&gt;&lt;span style="color: grey;"&gt;+&lt;/span&gt;&lt;span style="color: magenta;"&gt;convert&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;10&lt;span style="color: grey;"&gt;),&lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;)+&lt;/span&gt;&lt;span style="color: red;"&gt;' - '&lt;/span&gt;&lt;span style="color: grey;"&gt;+&lt;/span&gt;&lt;span style="color: magenta;"&gt;convert&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;varchar&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;50&lt;span style="color: grey;"&gt;),&lt;/span&gt;@OldItemCode&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;            &lt;/span&gt;&lt;span style="color: blue;"&gt;if&lt;/span&gt; &lt;span style="color: grey;"&gt;exists&lt;/span&gt;&lt;span style="color: blue;"&gt; &lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;&lt;span style="color: blue;"&gt;select&lt;/span&gt; ItemId &lt;span style="color: blue;"&gt;from&lt;/span&gt; InvItem &lt;span style="color: blue;"&gt;where&lt;/span&gt; IsStockItem&lt;span style="color: grey;"&gt;=&lt;/span&gt;1 &lt;span style="color: grey;"&gt;and&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;&amp;gt;&lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt; &lt;span style="color: blue;"&gt;Top&lt;/span&gt; 1&lt;span style="mso-spacerun: yes;"&gt;    &lt;/span&gt;@ItemId&lt;span style="color: grey;"&gt;=&lt;/span&gt;ItemId&lt;span style="color: grey;"&gt;,&lt;/span&gt; @OldItemCode&lt;span style="color: grey;"&gt;=&lt;/span&gt;OldItemCode&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;         &lt;/span&gt;InvItem&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;WHERE&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span style="color: grey;"&gt;(&lt;/span&gt;IsStockItem &lt;span style="color: grey;"&gt;=&lt;/span&gt; &lt;span style="color: red;"&gt;'true'&lt;/span&gt;&lt;span style="color: grey;"&gt;)&lt;/span&gt; &lt;span style="color: grey;"&gt;and&lt;/span&gt; ItemId&lt;span style="color: grey;"&gt;&amp;gt;&lt;/span&gt;@ItemId&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;begin&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 4;"&gt;                        &lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt; @ItemId&lt;span style="color: grey;"&gt;=null&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in; mso-layout-grid-align: none; text-autospace: none;"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;"&gt;&lt;span style="mso-tab-count: 3;"&gt;                  &lt;/span&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;"&gt;&lt;span style="mso-spacerun: yes;"&gt;      &lt;/span&gt;&lt;span style="color: blue;"&gt;END&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/saiful/aggbug/148619.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/vIG0mC8S-Zc" height="1" width="1"/&gt;</description><dc:creator>saiful</dc:creator><feedburner:origLink>http://geekswithblogs.net/saiful/archive/2012/02/07/an-alternative-to-cursor.aspx</feedburner:origLink></item><item><title>Using Entity Framework to Query Dynamic Types</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/R_ofCDQ9DkM/using-entity-framework-to-query-dynamic-types.aspx</link><pubDate>Mon, 06 Feb 2012 23:21:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx</guid><wfw:comment>http://geekswithblogs.net/DavidBarrett/comments/148618.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DavidBarrett/comments/commentRss/148618.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DavidBarrett/services/trackbacks/148618.aspx</trackback:ping><source url="http://geekswithblogs.net/DavidBarrett/rss.aspx">Using Entity Framework to Query Dynamic Types</source><description>&lt;p&gt;I ran across a unique scenario recently, and I’m not sure if I should be proud of the solution, or appalled at the Frankenstein result.  Either way, I thought I’d post about it to possibly help others in the same situation.&lt;/p&gt;  &lt;p&gt;I was developing a website leveraging jQuery / AJAX to query views of data at runtime.  The kicker?  I didn’t know which views.  The choice of database view was determined via configuration and user choice.&lt;/p&gt;  &lt;p&gt;I was leveraging &lt;a href="http://www.trirand.com/blog/"&gt;jqGrid&lt;/a&gt; for the client-side grid presentation, sorting, filtering, etc.  I was also proving out an approach using the &lt;a href="http://www.trirand.net/download.aspx"&gt;MVC library for jqGrid&lt;/a&gt; to bind and query for results (this isn't necessary for this discussion, but was the original reason to create this solution, as we’ll soon see).&lt;/p&gt;  &lt;p&gt;The jqGrid MVC library uses IQueryable data sources to bind to the grid.  IQueryable in and of itself isn’t that hard to produce, but what about when you don’t know what the type will look like (read =&amp;gt; the view you’re binding to is unknown at runtime)?  It sure would be nice to leverage an existing technology like Entity Framework, but EF assumes you know the tables / views in advance.  It’s not a bad assumption; but I definitely have an edge case here.&lt;/p&gt;  &lt;p&gt;So, the summary is: how do you return an IQueryable&amp;lt;T&amp;gt; when T is unknown at compile-time?&lt;/p&gt;  &lt;p&gt;There are some constraints here, all of which makes this solution more palatable/scary:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;I don’t need to worry about database updates.  Views are hard to update, anyway, usually requiring INSTEAD OF triggers. &lt;/li&gt;    &lt;li&gt;I could eliminate EF and just run a straight database query, mapping the datareader into a List&amp;lt;T&amp;gt;, where T is dynamically typed at runtime.  I could then return List&amp;lt;T&amp;gt;.AsQueryable(), but I lose something significant:  deferred execution.  I’m returning the entire resultset and then using Linq in memory to sort and filter the result.  What if I have a million rows?  Awful. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So, I set about to force EF into helping me solve the problem.  Nothing like forcing a square peg into a round hole.&lt;/p&gt;  &lt;p&gt;First off, how do I create an EF context that will return dynamic results?  This part is fairly simple.&lt;/p&gt;  &lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Context class for dynamic queries and catalog information
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext &lt;/span&gt;: &lt;span style="color: #2b91af"&gt;DbContext
&lt;/span&gt;{

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="QueryCatalogContext" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="model"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The model.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;QueryCatalogContext(&lt;span style="color: #2b91af"&gt;DbCompiledModel &lt;/span&gt;model)
        : &lt;span style="color: blue"&gt;base&lt;/span&gt;(&lt;span style="color: #a31515"&gt;"NewmontDB"&lt;/span&gt;, model)
    {
        modelProvided = &lt;span style="color: blue"&gt;true&lt;/span&gt;;
    }&lt;/pre&gt;

&lt;p&gt;&lt;/p&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;EF allows us to provide a model at runtime, so assuming I can define a model based on my run-time view, I’m OK there.  Now how do I return an IQueryable&amp;lt;T&amp;gt; from this context?

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Gets a set of generalized query results.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IQueryable&lt;/span&gt;&amp;lt;T&amp;gt; GetDynamicQueryResults&amp;lt;T&amp;gt;(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query)
{

    &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns = &lt;span style="color: blue"&gt;this&lt;/span&gt;.GetColumnMetadata(query);

    &lt;span style="color: blue"&gt;string &lt;/span&gt;className = &lt;span style="color: #2b91af"&gt;QueryTypeFactory&lt;/span&gt;.GetType(query, columns).Name;

    &lt;span style="color: green"&gt;// Build the query and execute
    &lt;/span&gt;&lt;span style="color: blue"&gt;string &lt;/span&gt;sql = &lt;span style="color: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #a31515"&gt;"SELECT VALUE {0} FROM CodeFirstContainer.{0} AS {0}"&lt;/span&gt;, className);
    &lt;span style="color: blue"&gt;return new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ObjectQuery&lt;/span&gt;&amp;lt;T&amp;gt;(sql, ((&lt;span style="color: #2b91af"&gt;IObjectContextAdapter&lt;/span&gt;)&lt;span style="color: blue"&gt;this&lt;/span&gt;).ObjectContext, &lt;span style="color: #2b91af"&gt;MergeOption&lt;/span&gt;.NoTracking);

}&lt;/pre&gt;

&lt;p&gt;GetColumnMetadata is an internal function that returns a list of column (class property) metadata based on the particular query metadata (it does this by querying the database for view column metadata). QueryTypeFactory uses the &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx"&gt;Dynamic Linq Library&lt;/a&gt; to stamp out (and cache) types based on a set of properties (the columns I just retrieved).  I then turn that type info into an EF SQL statement and return an ObjectQuery&amp;lt;T&amp;gt; with no tracking.&lt;/p&gt;

&lt;p&gt;OK, that’s fine and dandy, but how do I provide the model and, more importantly, how do I call the generic method if I don’t know what T is in advance?&lt;/p&gt;

&lt;p&gt;The service class that actually executes the query using the context passes in the model and calls the generic method.  That mechanism follows:&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Gets the dynamic query results.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
/// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
/// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;IQueryable&lt;/span&gt;&amp;lt;T&amp;gt; GetDynamicQueryResults&amp;lt;T&amp;gt;(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns) &lt;span style="color: blue"&gt;where &lt;/span&gt;T : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: green"&gt;// Define a dynamic type and create a configuration for it
    &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbModelBuilder &lt;/span&gt;builder = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DbModelBuilder&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DbModelBuilderVersion&lt;/span&gt;.V4_1);
    &lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;T&amp;gt; configuration = (&lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;T&amp;gt;)&lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;&amp;gt;).MakeGenericType(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(T)), query, columns);

    &lt;span style="color: green"&gt;// Add configuration for dynamic type
    &lt;/span&gt;builder.Configurations.Add(configuration);

    &lt;span style="color: blue"&gt;using &lt;/span&gt;(&lt;span style="color: #2b91af"&gt;SqlConnection &lt;/span&gt;connection = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SqlConnection&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;ConfigurationManager&lt;/span&gt;.ConnectionStrings[&lt;span style="color: #a31515"&gt;"NewmontDB"&lt;/span&gt;].ConnectionString)) &lt;span style="color: green"&gt;// Only need the connection for building the model;&lt;/span&gt;&lt;/pre&gt;

&lt;pre class="code"&gt;    {
        &lt;span style="color: green"&gt;// Can't use implicit IDisposable because the context is needed when the IQueryable is evaluated.
        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext &lt;/span&gt;context = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;QueryCatalogContext&lt;/span&gt;(builder.Build(connection).Compile());
        &lt;span style="color: blue"&gt;return &lt;/span&gt;context.GetDynamicQueryResults&amp;lt;T&amp;gt;(query);
    }
}&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;First, the service class creates a DbModelBuilder.  The magic happens in the next line.  Because I don’t know the type T at runtime, I need to use reflection to create an instance of the DynamicViewConfiguration&amp;lt;T&amp;gt; class.  I then pass this to the model builder (this class is an EntityTypeConfiguration&amp;lt;T&amp;gt;).  I use a new connection string for building the model (EF has to query the view for metadata) and then compile the model, passing it into the context constructor.  I then return the GetDynamicQueryResults&amp;lt;T&amp;gt; method, returning a true IQueryable&amp;lt;T&amp;gt; object.&lt;/p&gt;

&lt;p&gt;The DynamicViewConfiguration&amp;lt;T&amp;gt; class is used to define the model for EF.  At a minimum, models must define what table they map to and what constitutes the primary key.  This is what the DynamicViewConfiguration&amp;lt;T&amp;gt; class does.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;A dynamic entity configuration for views specified at run-time.
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; : &lt;span style="color: #2b91af"&gt;EntityTypeConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; &lt;span style="color: blue"&gt;where &lt;/span&gt;TDynamic : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="DynamicViewConfiguration" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="query"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The query.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    /// &amp;lt;param name="columns"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;The columns.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicViewConfiguration(&lt;span style="color: #2b91af"&gt;QueryMetadata &lt;/span&gt;query, &lt;span style="color: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color: #2b91af"&gt;ColumnMetadata&lt;/span&gt;&amp;gt; columns)
        : &lt;span style="color: blue"&gt;base&lt;/span&gt;()
    {

        &lt;span style="color: green"&gt;// Locate key column (TODO: Handle multiple key fields)
        &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ColumnMetadata &lt;/span&gt;key = columns.FirstOrDefault(c =&amp;gt; c.IsKey) ?? columns[0];
        &lt;span style="color: #2b91af"&gt;Activator&lt;/span&gt;.CreateInstance(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;DynamicViewLambdaGenerator&lt;/span&gt;&amp;lt;,&amp;gt;).MakeGenericType(&lt;span style="color: blue"&gt;typeof&lt;/span&gt;(TDynamic), key.DataType.ClrType), &lt;span style="color: blue"&gt;this&lt;/span&gt;, key.Name);

        ToTable(query.Name);

    }

}&lt;/pre&gt;

&lt;p&gt;DynamicViewLambdaGenerator&amp;lt;T&amp;gt; is an internal class that defines the lambda for the PK (the key field).&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
/// &lt;/span&gt;&lt;span style="color: green"&gt;Internal class to generate lambda expressions for the configuration
&lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
&lt;/span&gt;&lt;span style="color: blue"&gt;internal class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;DynamicViewLambdaGenerator&lt;/span&gt;&amp;lt;TDynamic, TKey&amp;gt; &lt;span style="color: blue"&gt;where &lt;/span&gt;TDynamic : &lt;span style="color: blue"&gt;class
&lt;/span&gt;{

    &lt;span style="color: green"&gt;// TODO: Change to a stateful approach and cache reflection and expressions if usage of this class increases
    &lt;/span&gt;&lt;span style="color: blue"&gt;private readonly &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;type;
    &lt;span style="color: blue"&gt;private readonly string &lt;/span&gt;keyPropertyName;

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Initializes a new instance of the &lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;see cref="PropertyLambdaGenerator" /&amp;gt; &lt;/span&gt;&lt;span style="color: green"&gt;class.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;param name="propertyName"&amp;gt;&lt;/span&gt;&lt;span style="color: green"&gt;Name of the property.&lt;/span&gt;&lt;span style="color: gray"&gt;&amp;lt;/param&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;public &lt;/span&gt;DynamicViewLambdaGenerator(&lt;span style="color: #2b91af"&gt;DynamicViewConfiguration&lt;/span&gt;&amp;lt;TDynamic&amp;gt; configuration, &lt;span style="color: blue"&gt;string &lt;/span&gt;keyPropertyName)
    {
        &lt;span style="color: blue"&gt;this&lt;/span&gt;.keyPropertyName = keyPropertyName;
        &lt;span style="color: blue"&gt;this&lt;/span&gt;.type = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(TDynamic);

        configuration.HasKey(&lt;span style="color: blue"&gt;this&lt;/span&gt;.Generate());
    }

    &lt;span style="color: gray"&gt;/// &amp;lt;summary&amp;gt;
    /// &lt;/span&gt;&lt;span style="color: green"&gt;Generates this instance.
    &lt;/span&gt;&lt;span style="color: gray"&gt;/// &amp;lt;/summary&amp;gt;
    /// &amp;lt;returns&amp;gt;&amp;lt;/returns&amp;gt;
    &lt;/span&gt;&lt;span style="color: blue"&gt;private &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;TDynamic, TKey&amp;gt;&amp;gt; Generate()
    {
        &lt;span style="color: #2b91af"&gt;PropertyInfo &lt;/span&gt;property = type.GetProperty(keyPropertyName);
        &lt;span style="color: #2b91af"&gt;ParameterExpression &lt;/span&gt;thing = &lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Parameter(type);
        &lt;span style="color: #2b91af"&gt;MemberExpression &lt;/span&gt;keyExpression = &lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Property(thing, property);

        &lt;span style="color: blue"&gt;return &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Expression&lt;/span&gt;.Lambda&amp;lt;&lt;span style="color: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;TDynamic, TKey&amp;gt;&amp;gt;(keyExpression, thing);
    }
}&lt;/pre&gt;

&lt;p&gt;OK, bear with me.  This is where all the real funny stuff goes on.  In the DynamicViewConfiguration&amp;lt;T&amp;gt; constructor, we find the primary key column.  We use that to (again, through reflection, because we don’t know any generic types as compile time) create the lambda function for the EF entity configuration HasKey method.  We use the key property name, reflection, and more of the Dynamic Linq library to return the property of the type within the Generate() method.&lt;/p&gt;

&lt;p&gt;After that, we call ToTable passing in the name of the view.  Voila.  We’ve defined the underlying view name and the key field.&lt;/p&gt;

&lt;p&gt;With the context (and model) defined for our runtime type, the service class can then call GetDynamicQueryResults&amp;lt;T&amp;gt;, and as mentioned earlier, I get a true IQueryable&amp;lt;T&amp;gt; back.  I can use Linq to filter or sort the results and the view is not queried until the set is iterated.&lt;/p&gt;

&lt;p&gt;The last missing piece is how to call the service class.  This is done in an MVC controller.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;span style="color: green"&gt;// Generate a type based on the return columns
&lt;/span&gt;&lt;span style="color: #2b91af"&gt;Type &lt;/span&gt;type = &lt;span style="color: #2b91af"&gt;QueryTypeFactory&lt;/span&gt;.GetType(query, columns);

&lt;span style="color: #2b91af"&gt;MethodInfo &lt;/span&gt;generic = &lt;span style="color: blue"&gt;typeof&lt;/span&gt;(&lt;span style="color: #2b91af"&gt;IQueryCatalogDynamic&lt;/span&gt;).GetMethod(&lt;span style="color: #a31515"&gt;"GetDynamicQueryResults"&lt;/span&gt;).MakeGenericMethod(type);
&lt;span style="color: blue"&gt;var &lt;/span&gt;data = generic.Invoke(repository, &lt;span style="color: blue"&gt;new object&lt;/span&gt;[] { query, columns });&lt;/pre&gt;

&lt;p&gt;The controller gets the runtime type through our type factory class, then calls the GetDynamicQueryResults on the service instance, and we invoke the method, passing in our parameters.  The controller uses this functionality to return an IQueryable&amp;lt;T&amp;gt; to the grid databinding function, which actually performs the sort and filter.  With literally millions of rows in some tables, the jqGrid client-side paging and sorting was nearly instant.&lt;/p&gt;

&lt;p&gt;Now I know that this is sort of a bastardization of technology, but the use case is narrow, and it worked great for my scenario.  The purpose isn’t really how to uglify EF, but more so how some solutions can be solved with a little ingenuity (and a lot of head-banging against keyboards).&lt;/p&gt; &lt;img src="http://geekswithblogs.net/DavidBarrett/aggbug/148618.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/R_ofCDQ9DkM" height="1" width="1"/&gt;</description><dc:creator>David Barrett</dc:creator><feedburner:origLink>http://geekswithblogs.net/DavidBarrett/archive/2012/02/06/using-entity-framework-to-query-dynamic-types.aspx</feedburner:origLink></item><item><title>Android&amp;ndash;Create a ListView with rounded corners</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/QbfyDVIwi20/androidndashcreate-a-listview-with-rounded-corners.aspx</link><pubDate>Mon, 06 Feb 2012 22:26:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx</guid><wfw:comment>http://geekswithblogs.net/bosuch/comments/148617.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bosuch/comments/commentRss/148617.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bosuch/services/trackbacks/148617.aspx</trackback:ping><source url="http://geekswithblogs.net/bosuch/rss.aspx">Android&amp;ndash;Create a ListView with rounded corners</source><description>&lt;p&gt;In a &lt;a href="http://geekswithblogs.net/bosuch/archive/2011/01/31/android---create-a-custom-multi-line-listview-bound-to-an.aspx" target="_blank"&gt;previous post&lt;/a&gt; I showed how to create a custom multi-line ListView bound to an ArrayList. Let’s make it a little more visually appealing and give each item some rounded corners.&lt;/p&gt;  &lt;p&gt;If you followed the previous how-to you wound up with something that looked like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_thumb.png" width="244" height="241" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To put each ListView item (name, address &amp;amp; phone) into its own rounded-corner box, create a new file in your res/drawable directory called border.xml, and paste in the following code:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;&amp;lt;shape xmlns:android="&lt;/font&gt;&lt;a href="http://schemas.android.com/apk/res/android&amp;quot;"&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.android.com/apk/res/android"&lt;/font&gt;&lt;/a&gt;&lt;font size="2" face="Times New Roman"&gt; &amp;gt;       &lt;br /&gt;    &amp;lt;stroke android:width="1dp" android:color="#FFFFFF" /&amp;gt;         &lt;br /&gt;    &amp;lt;padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /&amp;gt;         &lt;br /&gt;    &amp;lt;corners android:radius="8dp" /&amp;gt;         &lt;br /&gt;&amp;lt;/shape&amp;gt;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Then, specify the background of your LinearLayout in custom_row_view.xml:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;android:background="@drawable/border"&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And that’s it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/d691ddf7ffa5_E181/image_thumb_1.png" width="226" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course, you can mess with colors, padding etc. to get the look you want, and you can apply this to just about any object in your layout.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/bosuch/aggbug/148617.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/QbfyDVIwi20" height="1" width="1"/&gt;</description><dc:creator>Bill Osuch</dc:creator><feedburner:origLink>http://geekswithblogs.net/bosuch/archive/2012/02/06/androidndashcreate-a-listview-with-rounded-corners.aspx</feedburner:origLink></item><item><title>setting the database to offline/online state</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/PWK0pRCZ81Q/setting-the-database-to-offlineonline-state.aspx</link><pubDate>Mon, 06 Feb 2012 20:14:04 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx</guid><wfw:comment>http://geekswithblogs.net/lszk/comments/148616.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/lszk/comments/commentRss/148616.aspx</wfw:commentRss><comments>http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/lszk/services/trackbacks/148616.aspx</trackback:ping><source url="http://geekswithblogs.net/lszk/rss.aspx">setting the database to offline/online state</source><description>Sometimes we want to make a changes to the database or create a backup, but the users must be disconnected for this time. The easiest way is to set the database to the offline state: &lt;br /&gt;ALTER DATABASE dbname SET OffLine WITH ROLLBACK IMMEDIATE&lt;br /&gt;and back&lt;br /&gt;ALTER DATABASE dbname SET OnLine WITH ROLLBACK IMMEDIATE&lt;br /&gt;&lt;br /&gt;The alternative is to set the Restrict Access to the Restricted User in the database Properties/Options.&lt;br /&gt; &lt;img src="http://geekswithblogs.net/lszk/aggbug/148616.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/PWK0pRCZ81Q" height="1" width="1"/&gt;</description><dc:creator>Łukasz Kuryło</dc:creator><feedburner:origLink>http://geekswithblogs.net/lszk/archive/2012/02/06/setting-the-database-to-offlineonline-state.aspx</feedburner:origLink></item><item><title>Accessing all context properties in a custom BizTalk pipeline component</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8sU5A7UKABc/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</link><pubDate>Mon, 06 Feb 2012 20:06:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</guid><wfw:comment>http://geekswithblogs.net/bosuch/comments/148615.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/bosuch/comments/commentRss/148615.aspx</wfw:commentRss><comments>http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/bosuch/services/trackbacks/148615.aspx</trackback:ping><source url="http://geekswithblogs.net/bosuch/rss.aspx">Accessing all context properties in a custom BizTalk pipeline component</source><description>&lt;p&gt;Previously I talked about how to create a custom BizTalk pipeline component, and gave a few examples for accessing specific context properties. I wanted to be able to dump all the context properties to disk for examination, so I added a few lines of code and an on/off switch.&lt;/p&gt;  &lt;p&gt;First, add two properties to your component:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;private bool _EnableContextTrace;       &lt;br /&gt;private string _FileTraceLocation;&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public bool EnableContextTrace       &lt;br /&gt;{        &lt;br /&gt;    get { return _EnableContextTrace; }        &lt;br /&gt;    set { _EnableContextTrace = value; }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public string FileTraceLocation       &lt;br /&gt;{        &lt;br /&gt;    get { return _FileTraceLocation; }        &lt;br /&gt;    set { _FileTraceLocation = value; }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Make sure to add them to the Load() and Save() methods in the IPersistPropertyBag region:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public virtual void Load(Microsoft.BizTalk.Component.Interop.IPropertyBag pb, int errlog)       &lt;br /&gt;{        &lt;br /&gt;    object val = null;        &lt;br /&gt;    val = this.ReadPropertyBag(pb, "EnableContextTrace");        &lt;br /&gt;    if ((val != null))        &lt;br /&gt;        this._EnableContextTrace = ((bool)(val));        &lt;br /&gt;    val = this.ReadPropertyBag(pb, "FileTraceLocation");        &lt;br /&gt;    if ((val != null))        &lt;br /&gt;        this._FileTraceLocation = ((string)(val));        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;public virtual void Save(Microsoft.BizTalk.Component.Interop.IPropertyBag pb, bool fClearDirty, bool fSaveAllProperties)       &lt;br /&gt;{        &lt;br /&gt;    this.WritePropertyBag(pb, "EnableContextTrace", this.EnableFileTrace);        &lt;br /&gt;    this.WritePropertyBag(pb, "FileTraceLocation", this.FileTraceLocation);        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;And finally add some code to the Execute method to loop through all the context properties and write them to a text file:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;if (_EnableContextTrace &amp;amp;&amp;amp; _FileTraceLocation.Length &amp;gt; 0)       &lt;br /&gt;{        &lt;br /&gt;    IBaseMessageContext contextList = inmsg.Context;        &lt;br /&gt;    string name;        &lt;br /&gt;    string nmspace;        &lt;br /&gt;    string contextItems = "";        &lt;br /&gt;    for (int x = 0; x &amp;lt; contextList.CountProperties; x++)        &lt;br /&gt;    {        &lt;br /&gt;        contextList.ReadAt(x, out name, out nmspace);        &lt;br /&gt;        string value = contextList.Read(name, nmspace).ToString();        &lt;br /&gt;        contextItems += "Name: " + name + " - " + "Namespace: " + nmspace + " - " + value + "\r\n";        &lt;br /&gt;    }&lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;    using (StreamWriter outfile = new StreamWriter(_FileTraceLocation + "ContextProperties.txt"))       &lt;br /&gt;    {        &lt;br /&gt;        outfile.Write(contextItems);        &lt;br /&gt;    }        &lt;br /&gt;}&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;After building the DLL and adding it to the Pipeline Components directory, you should be able to configure the properties: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/5a1b063f79d0_C162/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/bosuch/Windows-Live-Writer/5a1b063f79d0_C162/image_thumb.png" width="356" height="89" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Deploy the project, drop and file in, and examine the contents of the ContextProperties.txt file that was created. In my case I ran a HIPAA 837 file through and got the following:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font size="2" face="Times New Roman"&gt;Name: FileCreationTime - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/file-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 2/6/2012 7:41:01 PM       &lt;br /&gt;Name: ReceivedFileName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/file-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - C:\Temp\Split5010Claims\Input\0217_ACS_UIC_837P_OUT_20120203124952.edi       &lt;br /&gt;Name: ActivityIdentity - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {BDE71A7F-7351-480E-90A9-3607A92FAE2F}       &lt;br /&gt;Name: AdapterReceiveCompleteTime - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 2/6/2012 7:41:01 PM       &lt;br /&gt;Name: PortName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P       &lt;br /&gt;Name: InboundTransportLocation - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - C:\Temp\Split5010Claims\Input\*_837P_*.edi       &lt;br /&gt;Name: InterchangeID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {E0124062-FF6C-41B1-94F9-BDC929D54FC4}       &lt;br /&gt;Name: ReceiveInstanceID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {28D3080A-DE0F-48AC-AB08-C0B61285061F}       &lt;br /&gt;Name: ReceiveLocationName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P_FILE       &lt;br /&gt;Name: ReceivePortID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {C4184808-467F-400F-9681-84924F44E9F4}       &lt;br /&gt;Name: ReceivePortName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - Input5010_P       &lt;br /&gt;Name: AuthenticationRequiredOnReceivePort - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - False       &lt;br /&gt;Name: InboundTransportType - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - FILE       &lt;br /&gt;Name: LRPMsgBodyTracking - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: MessageExchangePattern - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 1       &lt;br /&gt;Name: ReceivePipelineID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - {45C53C6F-DBE9-49DB-AE7B-58A9D0901730}       &lt;br /&gt;Name: ReceivePortAuth - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: MessageType - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/EDI/X12/2006#X12_00501_837_P&lt;/font&gt;      &lt;br /&gt;&lt;font size="2" face="Times New Roman"&gt;Name: SuspendMessageOnRoutingFailure - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - True       &lt;br /&gt;Name: ISA05 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 30       &lt;br /&gt;Name: ISA06 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 208876513       &lt;br /&gt;Name: ISA07 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 30       &lt;br /&gt;Name: ISA08 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 205498481UIC5       &lt;br /&gt;Name: ISA15 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - P       &lt;br /&gt;Name: ISA_Segment - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - ISA*##*##########*##*##########*30*123456789      *30*987654321UIC5  *120203*1249*U*00501*000000064*0*P*:~       &lt;br /&gt;Name: GS01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - HC       &lt;br /&gt;Name: GS02 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 208876513       &lt;br /&gt;Name: GS03 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 205498481UIC5       &lt;br /&gt;Name: GS07 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - X       &lt;br /&gt;Name: GS08 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 005010X222A1       &lt;br /&gt;Name: ST01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 837       &lt;br /&gt;Name: GS_Segment - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - GS*HC*123456789*987654321UIC5*20120203*1249*64*X*005010X222A1~       &lt;br /&gt;Name: ReuseEnvelope - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - False       &lt;br /&gt;Name: TsSequenceNumberInGroup - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 72       &lt;br /&gt;Name: GE01 - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 72       &lt;br /&gt;Name: AgreementPartIDOnReceive - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: AgreementID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - 0       &lt;br /&gt;Name: AgreementName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTSGuestParty       &lt;br /&gt;Name: SenderPartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTS-SENDER       &lt;br /&gt;Name: PartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/messagetracking-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - BTSGuestParty       &lt;br /&gt;Name: SourcePartyID - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/BizTalk/2003/system-properties&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - s-1-5-7       &lt;br /&gt;Name: ReceiverPartyName - Namespace: &lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt;http://schemas.microsoft.com/Edi/PropertySchema&lt;/font&gt;&lt;font size="2" face="Times New Roman"&gt; - RECEIVE-PARTNER&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt; &lt;img src="http://geekswithblogs.net/bosuch/aggbug/148615.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8sU5A7UKABc" height="1" width="1"/&gt;</description><dc:creator>Bill Osuch</dc:creator><feedburner:origLink>http://geekswithblogs.net/bosuch/archive/2012/02/06/accessing-all-context-properties-in-a-custom-biztalk-pipeline-component.aspx</feedburner:origLink></item><item><title>Transition to Exchange 2007 from exchange 2003</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/eGpQIkOxLUs/transition-to-exchange-2007-from-exchange-2003.aspx</link><pubDate>Mon, 06 Feb 2012 20:05:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx</guid><wfw:comment>http://geekswithblogs.net/marcde/comments/148614.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/marcde/comments/commentRss/148614.aspx</wfw:commentRss><comments>http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx#comment</comments><slash:comments>2</slash:comments><trackback:ping>http://geekswithblogs.net/marcde/services/trackbacks/148614.aspx</trackback:ping><source url="http://geekswithblogs.net/marcde/rss.aspx">Transition to Exchange 2007 from exchange 2003</source><description>&lt;p&gt;In the lifespan of an organisation it’s messaging environment be transitioned to a newer version several times. Whilst this is not a complicated thing to do it does require some level of planning and thought. I’ll be addressing the transitioning from &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 to 2007 from a fairly simple view here. Since the general outlines of the process are the same for nearly every situation there is no need for different detailed documents on this. &lt;/p&gt;  &lt;p&gt;We’ll be working with the following infrastructure in this guide:&lt;/p&gt;  &lt;p&gt;· 2 windows 2008 R2 domain controllers&lt;/p&gt;  &lt;p&gt;· 1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 SP2 server&lt;/p&gt;  &lt;p&gt;· 1 &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3 server.&lt;/p&gt;  &lt;p&gt;Since this is a transition from a legacy environment there are some more steps to take than if we would be straight up installing a completely new &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 environment. I will not neglect to point out some things that you might need to differently in case you would have a slightly different environment. So let’s get started!&lt;/p&gt;  &lt;h3&gt;Preparing the environment for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007&lt;/h3&gt;  &lt;p&gt;Installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 in an existing legacy environment firstly require you prepare the legacy permissions. Since the architecture of &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 changed quite a bit (f.e. no more routing group connectors!) this will prepare the legacy &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; environment RUS to work properly whist the 2007 servers are there.&lt;/p&gt;  &lt;p&gt;First of all, you need to make sure your &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 environment is in native mode:&lt;/p&gt;  &lt;p&gt;1. Open &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; system manager   &lt;br /&gt;2. Right click the very top level item (in my case: toasterlans (exchange))    &lt;br /&gt;3. Select properties    &lt;br /&gt;4. Make sure the operation mode is in Native mode (aka no &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2000 servers). If it is not, upgrade it by clicking the button below operation mode. &lt;br /&gt;&lt;/p&gt;5. Now switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;6. Open a command prompt as administrator    &lt;br /&gt;7. Navigate to your installation media    &lt;br /&gt;8. Type in “setup.com /preparelegacyexchangepermissions”    &lt;br /&gt;9. Setup will start to prepare the domain and &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003 with legacy permissions.  &lt;p&gt;&lt;i&gt;The next step is to prepare the Active Directory Schema:&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. Switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;2. Open a command prompt as administrator    &lt;br /&gt;3. Type in servermanagercmd –i RSAT-ADDS    &lt;br /&gt;4. Reboot    &lt;br /&gt;5. Logon on and open a command prompt as administrator    &lt;br /&gt;6. Navigate to your installation media    &lt;br /&gt;7. Type in “setup.com /prepareschema”    &lt;br /&gt;8. Wait for completion…&lt;/p&gt;Note that we installed the RSAT-ADDS component on our server to allow setup to contact the active directory. If you do not wish to install this component (it will get installed later on anyways) you can opt to run the prepare schema and AD operation on a domain controller.  &lt;p&gt;&lt;i&gt;And finally our last step in preparing the environment for &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;1. switch over to the future &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server (make sure you are logged on to the domain)   &lt;br /&gt;2. Open a command prompt as administrator    &lt;br /&gt;3. Navigate to your installation media    &lt;br /&gt;4. Type in “setup.com /prepareAD”    &lt;br /&gt;5. Wait for completion…&lt;/p&gt;Now that the routing group connectors, the permission and the schema have all been dealt with we can start installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 in to our environment!  &lt;h3&gt;Installation&lt;/h3&gt;  &lt;p&gt;First of all it might seem I’m missing something here, where are the prerequisites? Your totally right there… Put in the following commands to get those prerequisites on the machine…&lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre class="alt"&gt;Servermanagercmd –I RSAT-ADDS (&lt;span class="kwrd"&gt;if&lt;/span&gt; you didn’t install &lt;span class="kwrd"&gt;this&lt;/span&gt; earlier)&lt;/pre&gt;

  &lt;pre&gt;Reboot&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Metabase&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Lgcy-Mgmt-Console&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Powershell (installed by &lt;span class="kwrd"&gt;default&lt;/span&gt; on 2008 R2)&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Server&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-ISAPI-Ext&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Metabase&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Lgcy-Mgmt-Console&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Basic-Auth&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Digest-Auth&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i Web-Windows-Auth&lt;/pre&gt;

  &lt;pre class="alt"&gt;ServerManagerCmd -i Web-Dyn-Compression&lt;/pre&gt;

  &lt;pre&gt;ServerManagerCmd -i RPC-over-HTTP-proxy&lt;/pre&gt;
&lt;/div&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 go ahead and start setup and click the start &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 SP3 installation. &lt;br /&gt;&lt;/p&gt;Read through the new features, click next. Accept the license agreement and click next.I usually leave error reporting on, but your mileage might differ. Now on the next screen we have the option between a typical installation and a custom installation. Since this is about a simple all in one server transition, select typical. If you need to change the installation path this would be the time to do so! Click next.&lt;br /&gt;&lt;br /&gt;The following screen requires you to select a server in the routing group connector that &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 will connect to. Basically this means that all mail flow between the organisations will go through that server. So click browse and select the appropriate server.&lt;br /&gt;&lt;br /&gt;Setup will perform some prerequisite tests and check for updates. This might take a while so go and get yourself something to drink. When this ends you might get some warnings. Take note of them and press “install”.&lt;p&gt;Installation will, once again, take a while depending on your hardware speeds. We’re almost done installing &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; so no panic! Once the installation is completed you can go ahead and click finish J. You’ll probably get presented by a popup asking the server to reboot before placing it in production, quickly followed by the EMC opening up.&lt;/p&gt;&lt;p&gt;Now, before we move users on to the server we will have to reboot, but first we want to make some configuration changes to the server.

&lt;/p&gt;&lt;h3&gt;Configuration&lt;/h3&gt;

&lt;h4&gt;Accepted domains&lt;/h4&gt;

&lt;p&gt;First of all we need to configure the accepted domains J.&lt;/p&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Open Organization configuration

  &lt;br /&gt;3. Open Hub transport

  &lt;br /&gt;4. Open the Accepted Domains tab.

  &lt;br /&gt;5. Check that all domains have been transferred from the 2003 server

  &lt;br /&gt;6. Open the email address policies tab

  &lt;br /&gt;7. Check that all policies have been transferred from the 2003 server.&lt;/p&gt;

&lt;h4&gt;Mailflow&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Open the Server configuration section

  &lt;br /&gt;3. Open Hub Transport

  &lt;br /&gt;4. Right click the default receive connector

  &lt;br /&gt;5. Open the permission groups tab

  &lt;br /&gt;6. Check the anonymous users checkmark

  &lt;br /&gt;7. Go back to the organization configuration

  &lt;br /&gt;8. Open hub transport

  &lt;br /&gt;9. Click on the send connectors tab

  &lt;br /&gt;10. Create a new send connector by choosing that action in the right pane

  &lt;br /&gt;11. Name it

  &lt;br /&gt;12. Choose internet from the intended use drop down list

  &lt;br /&gt;13. Next

  &lt;br /&gt;14. Click on add

  &lt;br /&gt;15. In the address field add “*”

  &lt;br /&gt;16. Click on OK, next

  &lt;br /&gt;17. If you have a smarthost use the information in this section

  &lt;br /&gt;18. Click on next, next, new, finish&lt;/p&gt;

&lt;p&gt;With these steps completed you can now send and receive mail through the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 servers! Go ahead and reboot the server before proceeding any further. With the server there is still a number of other tasks that need to be performed; Replication of the public folders, moving the database, OAB generation servers and removing the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; installation.&lt;/p&gt;

&lt;h4&gt;Replicating all public folders&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Go to toolbox

  &lt;br /&gt;3. Open Public Folder management Console

  &lt;br /&gt;4. Configure replication as follows:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;a. Right click the public folder you want to replicate
    &lt;br /&gt;b. Properties

    &lt;br /&gt;c. Replication tab

    &lt;br /&gt;d. Add

    &lt;br /&gt;e. Select the server you want to replicate with

    &lt;br /&gt;f. Press OK, OK&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Note that you will have to replicate the free busy data if you are using outlook 2003 clients! Once the public folders have replicated proceed with the steps below…&lt;/p&gt;

&lt;p&gt;Point all external links to the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 CAS servers at this point&lt;/p&gt;

&lt;h3&gt;Transition&lt;/h3&gt;

&lt;h4&gt;Moving mailboxes&lt;/h4&gt;

&lt;p&gt;1. Open the EMC
  &lt;br /&gt;2. Go to recipient configuration

  &lt;br /&gt;3. Open the mailbox section

  &lt;br /&gt;4. Select the users you want to move (use batches if possible)

  &lt;br /&gt;5. Right click

  &lt;br /&gt;6. Move mailbox

  &lt;br /&gt;7. Browse to select the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 mailbox store

  &lt;br /&gt;8. Next

  &lt;br /&gt;9. Next

  &lt;br /&gt;10. Next 

  &lt;br /&gt;11. Move

  &lt;br /&gt;12. Sit back and enjoy&lt;/p&gt;

&lt;h4&gt;OAB Generation server&lt;/h4&gt;

&lt;p&gt;1. Open EMC
  &lt;br /&gt;2. Expand organization configuration

  &lt;br /&gt;3. Expand mailbox

  &lt;br /&gt;4. Offline address book tab

  &lt;br /&gt;5. Right click the default offline address book

  &lt;br /&gt;6. move

  &lt;br /&gt;7. Browse to select the new server

  &lt;br /&gt;8. Move

  &lt;br /&gt;9. Finish

  &lt;br /&gt;10. Right click detault offline address book

  &lt;br /&gt;11. Properties

  &lt;br /&gt;12. Distribution

  &lt;br /&gt;13. Enable web-based distribution 

  &lt;br /&gt;14. Add

  &lt;br /&gt;15. Select the web directory

  &lt;br /&gt;16. OK, OK&lt;/p&gt;

&lt;p&gt;The last seven steps will allow all outlook 2007 and 2010 client to use web distribution to download the OAB.&lt;/p&gt;

&lt;h4&gt;Removing the routing group connector:&lt;/h4&gt;

&lt;p&gt;· Get-routinggroupconnector | remove-routinggroupconnector&lt;/p&gt;

&lt;h4&gt;Moving the RUS&lt;/h4&gt;

&lt;p&gt;1. Open system manager on the 2003 server
  &lt;br /&gt;2. Expand recipients node

  &lt;br /&gt;3. Expand recipient update services

  &lt;br /&gt;4. Perform the following for both items listed:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;a. Right click
    &lt;br /&gt;b. Properties

    &lt;br /&gt;c. Brose next to &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; server

    &lt;br /&gt;d. Select the &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 server

    &lt;br /&gt;e. OK

    &lt;br /&gt;f. OK&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;Uninstalling &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003&lt;/h4&gt;

&lt;p&gt;1. Open the control panel
  &lt;br /&gt;2. Add or remove programs

  &lt;br /&gt;3. &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2003

  &lt;br /&gt;4. Change/remove

  &lt;br /&gt;5. Select remove from the drop down menus

  &lt;br /&gt;&lt;/p&gt;

&lt;p&gt;And you are now finished, running completely on &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007! Of course this was a very basic guide and there are a ton of things more you can do with &lt;a title="Exchange" href="http://geekswithblogs.net/marcde/category/12862.aspx" rel=""&gt;Exchange&lt;/a&gt; 2007 that we’ll cover in upcoming articles!&lt;/p&gt; &lt;img src="http://geekswithblogs.net/marcde/aggbug/148614.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/eGpQIkOxLUs" height="1" width="1"/&gt;</description><dc:creator>marc dekeyser</dc:creator><feedburner:origLink>http://geekswithblogs.net/marcde/archive/2012/02/06/transition-to-exchange-2007-from-exchange-2003.aspx</feedburner:origLink></item><item><title>How To Copy A Schema Container To Another SQL Azure Database</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/h7OIGqGhKyw/how-to-copy-a-schema-container-to-another-sql-azure.aspx</link><pubDate>Tue, 07 Feb 2012 07:07:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx</guid><wfw:comment>http://geekswithblogs.net/hroggero/comments/148613.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/hroggero/comments/commentRss/148613.aspx</wfw:commentRss><comments>http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/hroggero/services/trackbacks/148613.aspx</trackback:ping><source url="http://geekswithblogs.net/hroggero/rss.aspx">How To Copy A Schema Container To Another SQL Azure Database</source><description>&lt;p&gt;This article is written to assist SQL Azure customers to copy a SCHEMA container from one SQL Azure database to another. Schema separation (or compress shard) is a technique used by applications that hold multiple customer “databases” inside the same physical database, but separated logically by a SCHEMA container. At times it may be necessary to copy a given SCHEMA container from one database to another. Copying a SCHEMA container from one database to another can be very difficult because you need to only extract and import the data contained in the tables found in that schema. &lt;/p&gt;  &lt;p&gt;If your SQL Azure database has multiple schema containers in it, and you would like to copy the objects under that schema to another database, you can do so by following the steps below. The article uses the Enzo Backup tool (&lt;a title="http://bluesyntax.net/backup.aspx" href="http://bluesyntax.net/backup.aspx"&gt;http://bluesyntax.net/backup.aspx&lt;/a&gt;), designed to help in achieving this complex task.&lt;/p&gt;  &lt;h4&gt;Example Overview&lt;/h4&gt;  &lt;p&gt;Let’s assume you have a database with multiple SCHEMA containers and you would like to copy one of the schema containers to another database. A SCHEMA container holds tables, foreign keys, default constraints, indexes and more. In the screenshot below the selected database has 5 schema contains: the DBO schema and 4 custom SCHEMA container. The tool allows you to copy the objects from any schema into another database. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_2.png" width="605" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Backing Up Your SCHEMA Container&lt;/h4&gt;  &lt;p&gt;The first step is to backup your schema. Enzo Backup gives you the options needed to backup a single SCHEMA container at a time. &lt;/p&gt;  &lt;p&gt;1- If you have registered your databases previously with the backup tool, select the database from the list of databases on the left pane, right-click on the SCHEMA container (i.e. your logical database) and select Backup to Blob (or file). Otherwise click on the Backup –&amp;gt; To Blob Device from the menu and enter the server credentials, and specify the name of the SCHEMA to backup from the Advanced screen.&lt;/p&gt;  &lt;p&gt;2- Type the name of your backup device&lt;/p&gt;  &lt;p&gt;3- Optionally select a cloud agent if you are saving to a Blob on the Advanced tab (note: a cloud agent must be deployed separately)&lt;/p&gt;  &lt;p&gt;4- Click Start&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_8.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_3.png" width="529" height="399" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Restoring Your SCHEMA Container&lt;/h4&gt;  &lt;p&gt;Once the backup is complete, you can restore the backup device to the database server of your choice. Note that you could restore to a local SQL Server database or to another SQL Azure database server. &lt;/p&gt;  &lt;p&gt;1- Click on Backups on the left pane to view your backup devices and find your device&lt;/p&gt;  &lt;p&gt;2- Right-click on your backup device (file or blob)&lt;/p&gt;  &lt;p&gt;3- Enter the credentials of the server you are restoring to and the name of the database&lt;/p&gt;  &lt;p&gt;4- If the database does not exist, select the Create If… option &lt;/p&gt;  &lt;p&gt;5- Optionally, if you are using a Blob device and restoring to a SQL Azure database, check the Use Cloud Agent (note: a cloud agent must be deployed separately)&lt;/p&gt;  &lt;p&gt;6- Click Start&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_10.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/hroggero/Windows-Live-Writer/How-To-Copy-A-Schema-Container-To-Anothe_C2E6/image_thumb_4.png" width="558" height="442" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If for some reason the database you are restoring to is not empty, you may see a warning indicating that the database has existing objects. Click “Yes” to continue. When the operation is complete, you can inspect your database to verify the presence of your logical database.&lt;/p&gt;  &lt;h4&gt;Considerations&lt;/h4&gt;  &lt;p&gt;- You can restore additional SCHEMA containers on an existing database. You would simply need to repeat the above steps for each SCHEMA container.&lt;/p&gt;  &lt;p&gt;- If your intent was to “move” the SCHEMA container, you will need to clean up the original database. Once your SCHEMA container has been copied, and you have verified all you data is present in the destination database, you will need to manually drop all the objects in the source database before dropping the SCHEMA container.&lt;/p&gt;  &lt;p&gt;- This tool does not support backing up SQL Server database. However you can restore a backup device created with Enzo Backup on a local SQL Server database if desired.&lt;/p&gt; &lt;img src="http://geekswithblogs.net/hroggero/aggbug/148613.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/h7OIGqGhKyw" height="1" width="1"/&gt;</description><dc:creator>Herve Roggero</dc:creator><feedburner:origLink>http://geekswithblogs.net/hroggero/archive/2012/02/06/how-to-copy-a-schema-container-to-another-sql-azure.aspx</feedburner:origLink></item><item><title>Windows 8 Composition and Content</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7gNLWlsfztM/windows-8-composition-and-content.aspx</link><pubDate>Mon, 06 Feb 2012 17:11:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx</guid><wfw:comment>http://geekswithblogs.net/WinAZ/comments/148612.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WinAZ/comments/commentRss/148612.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WinAZ/services/trackbacks/148612.aspx</trackback:ping><source url="http://geekswithblogs.net/WinAZ/rss.aspx">Windows 8 Composition and Content</source><description>&lt;p&gt;Composition is an integral part of Windows 8 UI design from both &lt;a href="http://en.wikipedia.org/wiki/Composition_(visual_arts)" target="_blank"&gt;aesthetic&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Composite_pattern" target="_blank"&gt;logical&lt;/a&gt; perspectives. This post modified my previous post, &lt;a href="http://geekswithblogs.net/WinAZ/archive/2012/01/30/refactoring-windows-8-code-behind-to-mvvm.aspx" target="_blank"&gt;Refactoring Windows 8 Code-Behind to MVVM&lt;/a&gt;. adding to the variety of compositional examples.  I’ll start with an explanation of composition in Windows 8, modify the previous code to show the power of composition, and then highlight a few more existing examples of where composition naturally fits into the Windows 8 UI environment.&lt;/p&gt;  &lt;h4&gt;Understanding Windows 8 Composition&lt;/h4&gt;  &lt;p&gt;A Windows 8 UI is built like a tree. You have a single root element that surrounds all other elements, multiple branches containing more elements, and finally many leaves that don’t contain any elements. In shorthand, the structure looks something like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Root&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;    Content&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;        Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;                Leaf&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;        Branch&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;            Leaf&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You might have noticed that I sneaked in an extra element, &lt;em&gt;Content&lt;/em&gt;, in the figure above that I hadn’t talked about yet. Nevertheless, &lt;em&gt;Content&lt;/em&gt; is necessary and important in Windows 8 development. The figure above is a generalization of the hierarchical relationship between elements.  However, the XAML below, based on the previous post, is a concrete example:&lt;/p&gt;  &lt;pre class="brush: xml"&gt;&amp;lt;UserControl x:Class="TwitterClient.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    d:DesignHeight="768" d:DesignWidth="1366"&amp;gt;
  
    &amp;lt;Grid x:Name="LayoutRoot" Background="#FF0C0C0C"&amp;gt;
        &amp;lt;Button Content="Refresh Public Tweets" Height="72" Width="365" 
                HorizontalAlignment="Left"  Margin="500,66,0,0" 
                Name="RefreshButton" VerticalAlignment="Top"
                Command="{Binding RefreshCommand}"/&amp;gt;
        &amp;lt;ListBox Height="465" HorizontalAlignment="Left" Margin="5,144,0,0" 
                 Name="PublicTweetListBox" VerticalAlignment="Top" Width="1355"
                 ItemsSource="{Binding Tweets}"&amp;gt;
            &amp;lt;ListBox.ItemTemplate&amp;gt;
                &amp;lt;DataTemplate&amp;gt;
                    &amp;lt;StackPanel Orientation="Horizontal" Height="132"&amp;gt;
                        &amp;lt;Image Source="{Binding ImageUrl}" 
                               Height="73" Width="73" 
                               VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                        &amp;lt;StackPanel Width="370"&amp;gt;
                            &amp;lt;TextBlock Text="{Binding Name}" 
                                       Foreground="#FFC8AB14" FontSize="28" /&amp;gt;
                            &amp;lt;TextBlock Text="{Binding Text}" 
                                       TextWrapping="Wrap" FontSize="24" /&amp;gt;
                        &amp;lt;/StackPanel&amp;gt;
                    &amp;lt;/StackPanel&amp;gt;
                &amp;lt;/DataTemplate&amp;gt;
            &amp;lt;/ListBox.ItemTemplate&amp;gt;
        &amp;lt;/ListBox&amp;gt;
    &amp;lt;/Grid&amp;gt;   
&amp;lt;/UserControl&amp;gt;&lt;/pre&gt;

&lt;p&gt;The example above gives a better idea of the compositional relationship between elements and how they form a tree that is visually identifiable through proper spacing of elements. &lt;em&gt;UserControl&lt;/em&gt; is the &lt;em&gt;Root&lt;/em&gt; element and &lt;em&gt;Grid&lt;/em&gt; is the &lt;em&gt;Content&lt;/em&gt; element for &lt;em&gt;Root&lt;/em&gt;.  Subsequent elements form a hierarchy, further displaying the compositional nature of Windows 8 UI development.&lt;/p&gt;

&lt;p&gt;Since the examples in this post are based on the &lt;a href="http://geekswithblogs.net/WinAZ/archive/2012/01/30/refactoring-windows-8-code-behind-to-mvvm.aspx" target="_blank"&gt;previous post&lt;/a&gt;, you might find it useful to have a few tips on getting from there to here, which is discussed next.&lt;/p&gt;

&lt;h4&gt;Reusing Previous Code&lt;/h4&gt;

&lt;p&gt;Over the past couple of posts, I’ve renamed the same project to something new.  This is more tedious than necessary, so I’ll just rename the project one more time to something more generic, like TwitterClient. If you’re thinking, “Oh no, not &lt;strong&gt;another &lt;/strong&gt;Twitter client!”, don’t worry. It’s just a sample program – and besides, no one will ever use it. &lt;/p&gt;

&lt;p&gt;Here’s a quick walk-through of the file system part of the rename:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Make a copy of &lt;em&gt;RefactorToMVVM&lt;/em&gt; folder in Windows Explorer and rename it to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;In the new &lt;em&gt;TwitterClient&lt;/em&gt; folder, rename the solution file, &lt;em&gt;RefactorToMVVM.sln&lt;/em&gt;, to &lt;strong&gt;TwitterClient.sln&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Unhide files and rename &lt;em&gt;RefactorToMVVM.v11.suo&lt;/em&gt; to &lt;strong&gt;TwitterClient.v11.suo&lt;/strong&gt; (Alternatively delete because VS11 recreates it for you). &lt;/li&gt;

  &lt;li&gt;Rename the project folder, &lt;em&gt;RefactorToMVVM&lt;/em&gt;, to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;In the new &lt;em&gt;TwitterClient&lt;/em&gt; project folder, rename the project file, &lt;em&gt;RefactorToMVVM.csproj&lt;/em&gt;, to &lt;strong&gt;TwitterClient.csproj&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now your file names are up-to-date, you’ll need to change a couple more items in the solution. To get started on this part, go back to the &lt;em&gt;TwitterClient&lt;/em&gt; solution folder and double-click on &lt;em&gt;TwitterClient.sln&lt;/em&gt; to open the solution. You’ll see an error saying that VS can’t open the &lt;em&gt;RefactorToMVVM&lt;/em&gt; project and that’s okay because you intentionally renamed it – meaning that the solution file won’t be able to find the project file under it’s new name. Click &lt;em&gt;OK&lt;/em&gt; for the error message box that appears. The following steps fix the project load problem and take you through the rest of the renaming:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;After the solution loads, right-click on the grayed-out &lt;em&gt;RefactorToMVVM&lt;/em&gt; project and select &lt;em&gt;Remove&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;Right-click on the solution, select &lt;em&gt;Add, Existing Project&lt;/em&gt; and an &lt;em&gt;Add Existing Project&lt;/em&gt; window will appear. &lt;/li&gt;

  &lt;li&gt;Navigate to the &lt;em&gt;TwitterClient&lt;/em&gt; solution, down to the &lt;em&gt;TwitterClient&lt;/em&gt; project, select &lt;em&gt;TwitterClient.csproj&lt;/em&gt; and click &lt;em&gt;OK&lt;/em&gt;. The new project will load. &lt;/li&gt;

  &lt;li&gt;Under the &lt;em&gt;TwitterClient&lt;/em&gt; project, double-click &lt;em&gt;Properties&lt;/em&gt; to open the &lt;em&gt;Properties&lt;/em&gt; configuration page. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Properties&lt;/em&gt; &lt;em&gt;Application&lt;/em&gt; tab, change both the &lt;em&gt;Assembly name&lt;/em&gt; and &lt;em&gt;Default namespaces&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Open &lt;em&gt;Tweet.cs&lt;/em&gt; (or any code file), select &lt;em&gt;RefactorToMVVM&lt;/em&gt;, type &lt;strong&gt;Ctrl+R+R&lt;/strong&gt;, and rename to &lt;strong&gt;TwitterClient&lt;/strong&gt;. Select preview, comments, and strings options and observe all the places in code where the change is made.  Click &lt;em&gt;Apply&lt;/em&gt; when you’re ready to make the changes. &lt;/li&gt;

  &lt;li&gt;Double-click the &lt;em&gt;Package.appxmanifest&lt;/em&gt; file, which opens the &lt;em&gt;Package&lt;/em&gt; configuration window. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Application UI&lt;/em&gt; tab, change &lt;em&gt;Display Name&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;, &lt;em&gt;Entry Point&lt;/em&gt; to &lt;strong&gt;TwitterClient.App&lt;/strong&gt;, and &lt;em&gt;Description&lt;/em&gt; to &lt;strong&gt;Client Application for Twitter&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;On the &lt;em&gt;Packaging&lt;/em&gt; tab, change &lt;em&gt;Package Display Name&lt;/em&gt; to &lt;strong&gt;TwitterClient&lt;/strong&gt;. &lt;/li&gt;

  &lt;li&gt;Save and close &lt;em&gt;Package.appxmanifest&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;The visual designer for &lt;em&gt;Package.appxmanifest&lt;/em&gt; doesn’t let you change everything and there’s one more item to remember. Right-click on &lt;em&gt;Package.appxmanifest&lt;/em&gt;, select &lt;em&gt;Open With&lt;/em&gt;, select &lt;em&gt;XML Editor&lt;/em&gt;, and click &lt;em&gt;OK&lt;/em&gt;. &lt;/li&gt;

  &lt;li&gt;Under &lt;em&gt;/Applications/Application&lt;/em&gt;, change the &lt;em&gt;Executable&lt;/em&gt; attribute to &lt;strong&gt;TwitterClient.exe&lt;/strong&gt;. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;Before finishing, press F7 to build the solution. If you have errors, it’s most likely because of the naming changes done previously. So, it would be useful to retrace your steps if the error message doesn’t lead you to the answer right away.  Now that we have a new renamed solution/project, we can proceed to an in-depth discussion of Composition and Content by adding a button the the tweet list.&lt;/font&gt;&lt;/p&gt;

&lt;h4&gt;Adding a Button&lt;/h4&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;Here, we’re not going to just add a button, we’re going to examine how a button supports composition through its &lt;em&gt;Content&lt;/em&gt; property. You’ll see attribute content, element content, and a cool trick that makes it easy to code compositional content in XAML.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font color="#ffffff"&gt;If you want a simple button with text, you can use the &lt;em&gt;Content&lt;/em&gt; attribute, like this:&lt;/font&gt;&lt;/p&gt;

&lt;pre class="brush: xml"&gt;&amp;lt;Button Content="{Binding Name}" /&amp;gt;&lt;/pre&gt;

&lt;p&gt;The XAML &lt;em&gt;Content&lt;/em&gt; attribute corresponds to a &lt;em&gt;Content&lt;/em&gt; property of the &lt;em&gt;Button&lt;/em&gt; class. Your first thought, upon seeing the &lt;em&gt;Content&lt;/em&gt; property on a &lt;em&gt;Button&lt;/em&gt;, might be to ask, “Why isn’t this property named Text?” That’s a logical question, especially if you’ve been using &lt;a href="http://msdn.microsoft.com/en-us/library/ms158234.aspx" target="_blank"&gt;Windows Forms&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.text.aspx" target="_blank"&gt;ASP.NET&lt;/a&gt;, or one of many other UI frameworks. Actually, Windows 8 is closer to both Silverlight and WPF in their view of composition and content. &lt;/p&gt;

&lt;p&gt;The primary rationale for content is because text isn’t the only object you can display on a button. You can add different types of UI elements to a button by assigning those items to the &lt;em&gt;Content&lt;/em&gt; property. In previous frameworks, that don’t support content, you would have needed to slog through extra code to create a special button. With Windows 8, you only need to assign a value to the content property of a given control. Here’s an example for creating a button that contains an image:&lt;/p&gt;

&lt;pre class="brush: xml"&gt;                        &amp;lt;Button&amp;gt;
                            &amp;lt;Button.Content&amp;gt;
                                &amp;lt;Image Source="{Binding ImageUrl}" 
                                       Height="73" Width="73" 
                                       VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                            &amp;lt;/Button.Content&amp;gt;
                        &amp;lt;/Button&amp;gt;&lt;/pre&gt;

&lt;p&gt;Above, &lt;em&gt;Button&lt;/em&gt; contains an image, which can’t be represented in text, as previously shown via the &lt;em&gt;Content&lt;/em&gt; attribute. This example uses Property Element syntax – &lt;em&gt;which is the control type and property name, separated by a dot&lt;/em&gt;. The power of this approach to re-defining the appearance of a button can’t be understated – you can see how easy it is to do. &lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: The content property isn’t always named &lt;em&gt;Content&lt;/em&gt;. i.e. Types derived from &lt;em&gt;ItemsControl&lt;/em&gt;, such as &lt;em&gt;ListBox&lt;/em&gt; designate the &lt;em&gt;Items&lt;/em&gt; property as their content property.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A control can be decorated with  &lt;em&gt;Windows.UI.Xaml.Markup.ContentPropertyAttribute&lt;/em&gt;, specifying what the content property is for that control. In the case of &lt;em&gt;Button&lt;/em&gt;, the content property is &lt;em&gt;Content&lt;/em&gt; (same name):&lt;/p&gt;

&lt;pre class="brush: csharp"&gt;    [ContentProperty("Content")]
    public class UserControl : Windows.UI.Xaml.Controls.Control
    {
        // ...

        public UIElement Content { get; set; }

        // ...
    }&lt;/pre&gt;

&lt;p&gt;This is good information if you’re a control developer, but it’s also interesting because of a special feature of content properties that gives you simpler syntax. More specifically, you can remove the Property Element syntax, like this:&lt;/p&gt;

&lt;pre class="brush: xml"&gt;                        &amp;lt;Button&amp;gt;
                            &amp;lt;Image Source="{Binding ImageUrl}" 
                                   Height="73" Width="73" 
                                   VerticalAlignment="Top" Margin="0,10,8,0"/&amp;gt;
                        &amp;lt;/Button&amp;gt;&lt;/pre&gt;

&lt;p&gt;The image  below is a new snapshot of the updated screen, showing how the images look as buttons. As you can see, customizing buttons is very easy.  More to the point, composing custom UI elements is easy via Windows 8 content support.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/WinAZ/Windows-Live-Writer/Windows-8-Composition-and-Content_F9C8/image_2.png"&gt;&lt;img style="border-width: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline; background-image: none;" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/WinAZ/Windows-Live-Writer/Windows-8-Composition-and-Content_F9C8/image_thumb.png" width="244" height="139" /&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;While this discussion focused on the Button, many other control types have content properties and support composition the same way.  If you look back at the XAML in the previous section, “Understanding Windows 8 Composition”, you’ll see several more composition examples, including &lt;em&gt;UserControl/Grid&lt;/em&gt;, &lt;em&gt;Grid/Elements&lt;/em&gt;, &lt;em&gt;ListBox/ListBox.ItemTemplate&lt;/em&gt;, and so on.&lt;/p&gt;

&lt;h4&gt;Summary&lt;/h4&gt;

&lt;p&gt;This post demonstrated the inherent support for composition in Windows 8 UI development. This capability is supported via content properties.  You saw how &lt;em&gt;Button&lt;/em&gt; demonstrates the power of composition and the role of the content property in facilitating composition.  Remember that &lt;em&gt;Button&lt;/em&gt; is only an example, and you should understand that other controls have content properties.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://twitter.com/#!/JoeMayo" target="_blank"&gt;@JoeMayo&lt;/a&gt;&lt;/p&gt; &lt;img src="http://geekswithblogs.net/WinAZ/aggbug/148612.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7gNLWlsfztM" height="1" width="1"/&gt;</description><dc:creator>Joe Mayo</dc:creator><feedburner:origLink>http://geekswithblogs.net/WinAZ/archive/2012/02/06/windows-8-composition-and-content.aspx</feedburner:origLink></item><item><title>Mac type grid view control for asp.net/java web applications</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8uWPqb2IfbE/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</link><pubDate>Mon, 06 Feb 2012 13:56:41 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</guid><wfw:comment>http://geekswithblogs.net/AnkitAgrawal/comments/148611.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AnkitAgrawal/comments/commentRss/148611.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AnkitAgrawal/services/trackbacks/148611.aspx</trackback:ping><source url="http://geekswithblogs.net/AnkitAgrawal/rss.aspx">Mac type grid view control for asp.net/java web applications</source><description>&lt;meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /&gt;
&lt;meta name="Generator" content="Microsoft Word 14 (filtered)" /&gt;
&lt;style&gt;&lt;!--
 /* Font Definitions */
 @font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:0in;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:0in;
	margin-left:.5in;
	margin-bottom:.0001pt;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast
	{margin-top:0in;
	margin-right:0in;
	margin-bottom:10.0pt;
	margin-left:.5in;
	line-height:115%;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
.MsoChpDefault
	{font-family:"Calibri","sans-serif";}
.MsoPapDefault
	{margin-bottom:10.0pt;
	line-height:115%;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
 /* List Definitions */
 ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
--&gt;&lt;/style&gt;





&lt;div class="WordSection1"&gt;

&lt;p class="MsoNormal" align="center" style="text-align:center"&gt;&lt;b&gt;&lt;u&gt;&lt;span style="font-size:12.0pt;line-height:115%"&gt;Mac type grid view control for
asp.net/java web applications&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;

&lt;p class="MsoNormal"&gt;For one of my project, I made a very dynamic grid which is
totally HTML based and very fast while rendering data from server.&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Features&lt;/u&gt;&lt;/b&gt;:&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;No
viewstate&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Dynamic
grid which gets data on scroll using REST based WCF service in JSon&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in"&gt;3.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;No
DOM modifications which makes the rendering very fast&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in"&gt;4.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Custom
control which can be integrated in any web application – Java / Asp.Net
(However I built it for Asp.Net)&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in"&gt;5.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Support
for very large record set.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in"&gt;6.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Designer
friendly – As the DOM doesn’t change and the basic structure remains the same.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-.25in"&gt;7.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Highly
extensible to support any kind of data&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Concept&lt;/u&gt;&lt;/b&gt;:&lt;/p&gt;

&lt;p class="MsoNormal"&gt;The concept comes from Apple applications and IPhone/IPad
where user is provided with very rich user interface which allows him to scroll
through the records very fast. Actually what happens is that the basic
structure of the grid remains the same (the table , tr, etc.) all that gets
modified is the content of the control. For example, if we talk about a link
button, only attributes that are modified are text, url. Rest remains the same.
This is what will make the grid to function very fast as you are actually not
modifying the DOM object from client but modifying some attributes which again
would give better performance.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;On UI, the grid is divided into two parts –&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in"&gt;1.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Actual
grid which will show the actual content. This would basically be the table with
TR’s inside. The table will have overflow as false so that this grid doesn’t have
a scroll bar. The content of this portion will be modified on scroll which is
explained in the second part.&lt;/p&gt;

&lt;p class="MsoListParagraphCxSpLast" style="text-indent:-.25in"&gt;2.&lt;span style="font:7.0pt &amp;quot;Times New Roman&amp;quot;"&gt;       &lt;/span&gt;Second
Div which will have the scroll bar. The concept here would be to insert another
Div in this which will have height = Total number of records * height of each
TR. This would generate a scrollbar for user. The only thing that needs to be
handled now is the scroll event.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Implementation&lt;/u&gt;&lt;/b&gt; (ASP.NET)&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Basically this grid was designed for an ASP.NET project but
can eventually be used in java also as it basically works on the basic html
tags of HTML. I created a custom control here that would override the render
mechanism of a WebControl.&lt;/p&gt;

&lt;p class="MsoNormal"&gt; &lt;/p&gt;

&lt;/div&gt;

 &lt;img src="http://geekswithblogs.net/AnkitAgrawal/aggbug/148611.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8uWPqb2IfbE" height="1" width="1"/&gt;</description><dc:creator>AnkitAgrawal</dc:creator><feedburner:origLink>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/mac-type-grid-view-control-for-asp.netjava-web-applications.aspx</feedburner:origLink></item><item><title>Uniqueness of SessionId and GUID</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/xMCLn8A7XAc/uniqueness-of-sessionid-and-guid.aspx</link><pubDate>Mon, 06 Feb 2012 13:55:22 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx</guid><wfw:comment>http://geekswithblogs.net/AnkitAgrawal/comments/148610.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AnkitAgrawal/comments/commentRss/148610.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AnkitAgrawal/services/trackbacks/148610.aspx</trackback:ping><source url="http://geekswithblogs.net/AnkitAgrawal/rss.aspx">Uniqueness of SessionId and GUID</source><description>&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br class="Apple-interchange-newline" /&gt;Random and unique are two different words with very different meaning. To generate random number, there are many algorithms but none to guarantee unique number. This causes a problem of non-unique GUID and SessionId generated in any application whether you use .NET / java / php. (I have seen this in ASP.NET and java). If you grill down to the algorithm that is used to create SessionId, it does never guarantee a unique number whenever it is generated. &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;When you hover over the SessionId in ASP.NET application in VS, it says Unique SessionId. I don’t know how they can guarantee a unique id when there algorithm doesn’t support so. Below is the code:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font color="#1000a0" face="'Courier New'" style="font-size: 10pt; "&gt;internal&lt;/font&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt; &lt;font color="#1000a0"&gt;static&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String" title="System.String&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt; &lt;b&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Create(System.Security.Cryptography.RandomNumberGenerator&amp;amp;):String"&gt;&lt;font color="#0000ff"&gt;Create&lt;/font&gt;&lt;/a&gt;&lt;/b&gt;(&lt;font color="#1000a0"&gt;ref&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RandomNumberGenerator" title="System.Security.Cryptography.RandomNumberGenerator&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;RandomNumberGenerator&lt;/font&gt;&lt;/a&gt; randgen)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;if&lt;/font&gt; (randgen == &lt;font color="#800000"&gt;null&lt;/font&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        randgen = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RNGCryptoServiceProvider/.ctor()" title="System.Security.Cryptography.RNGCryptoServiceProvider.RNGCryptoServiceProvider();&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;RNGCryptoServiceProvider&lt;/font&gt;&lt;/a&gt;();&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    }&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[] &lt;b&gt;data&lt;/b&gt; = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[&lt;font color="#800000"&gt;15&lt;/font&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    randgen.&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Security.Cryptography.RandomNumberGenerator/GetBytes(Byte%5b%5d)" title="void System.Security.Cryptography.RandomNumberGenerator.GetBytes(byte[]);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;GetBytes&lt;/font&gt;&lt;/a&gt;(data);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;return&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Encode(Byte%5b%5d):String" title="string System.Web.SessionState.SessionId.Encode(byte[] buffer);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;Encode&lt;/font&gt;&lt;/a&gt;(data);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; line-height: 14px; "&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font color="#1000a0" face="'Courier New'" style="font-size: 10pt; "&gt;private&lt;/font&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt; &lt;font color="#1000a0"&gt;static&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String" title="System.String&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt; &lt;b&gt;&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/Encode(Byte%5b%5d):String"&gt;&lt;font color="#0000ff"&gt;Encode&lt;/font&gt;&lt;/a&gt;&lt;/b&gt;(&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Byte" title="System.Byte&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;byte&lt;/font&gt;&lt;/a&gt;[] buffer)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Char" title="System.Char&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;char&lt;/font&gt;&lt;/a&gt;[] &lt;b&gt;chArray&lt;/b&gt; = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Char" title="System.Char&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;char&lt;/font&gt;&lt;/a&gt;[&lt;font color="#800000"&gt;0x18&lt;/font&gt;];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;num2&lt;/b&gt; = &lt;font color="#800000"&gt;0&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;for&lt;/font&gt; (&lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;i&lt;/b&gt; = &lt;font color="#800000"&gt;0&lt;/font&gt;; i &amp;lt; &lt;font color="#800000"&gt;15&lt;/font&gt;; i += &lt;font color="#800000"&gt;5&lt;/font&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    {&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;num4&lt;/b&gt; = ((buffer[i] | (buffer[i + &lt;font color="#800000"&gt;1&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;8&lt;/font&gt;)) | (buffer[i + &lt;font color="#800000"&gt;2&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;0x10&lt;/font&gt;)) | (buffer[i + &lt;font color="#800000"&gt;3&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;0x18&lt;/font&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.Int32" title="System.Int32&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;int&lt;/font&gt;&lt;/a&gt; &lt;b&gt;index&lt;/b&gt; = num4 &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;5&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;10&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;15&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;20&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;0x19&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        num4 = ((num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;30&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;3&lt;/font&gt;) | (buffer[i + &lt;font color="#800000"&gt;4&lt;/font&gt;] &amp;lt;&amp;lt; &lt;font color="#800000"&gt;2&lt;/font&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = num4 &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        index = (num4 &amp;gt;&amp;gt; &lt;font color="#800000"&gt;5&lt;/font&gt;) &amp;amp; &lt;font color="#800000"&gt;0x1f&lt;/font&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;        chArray[num2++] = &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Web:4.0.0.0:b03f5f7f11d50a3a/System.Web.SessionState.SessionId/s_encoding:Char%5b%5d" title="char[] System.Web.SessionState.SessionId.s_encoding;&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;s_encoding&lt;/font&gt;&lt;/a&gt;[index];&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    }&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; margin-bottom: 0.0001pt; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; "&gt;    &lt;font color="#1000a0"&gt;return&lt;/font&gt; &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:4.0.0.0:b77a5c561934e089/System.String/.ctor(Char%5b%5d)" title="System.String.String(char[]);&amp;#xD;&amp;#xA;&amp;#xD;&amp;#xA;CTRL+Click to open in new tab."&gt;&lt;font color="#0000ff"&gt;string&lt;/font&gt;&lt;/a&gt;(chArray);&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="text-align: left; "&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "&gt;&lt;font face="'Courier New'" style="font-size: 10pt; line-height: 14px; "&gt;}&lt;/font&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br class="Apple-interchange-newline" /&gt; &lt;img src="http://geekswithblogs.net/AnkitAgrawal/aggbug/148610.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/xMCLn8A7XAc" height="1" width="1"/&gt;</description><dc:creator>AnkitAgrawal</dc:creator><feedburner:origLink>http://geekswithblogs.net/AnkitAgrawal/archive/2012/02/06/uniqueness-of-sessionid-and-guid.aspx</feedburner:origLink></item><item><title>Resharper Nightly Builds and Stylecop</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/EfHPJ1dAUuI/resharper-nightly-builds-and-stylecop.aspx</link><pubDate>Mon, 06 Feb 2012 07:11:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148609.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148609.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148609.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Resharper Nightly Builds and Stylecop</source><description>The latest stylecop checks the ReSharper build number. In case you have to put on a more recent nightly build (as I am in the process of doing), here is the URL:&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds"&gt;http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;(Stylecop 4.7.8.0 checks the build number of ReSharper)&lt;br /&gt;&lt;br /&gt;
&lt;div style="position:relative; background:#7d255b url(http://www.jetbrains.com/resharper/features/rs/rs1/rs210x60_violet.gif) no-repeat 0 0; border:solid 1px #7d255b; margin:0;padding:0;text-decoration:none;text-indent:0;letter-spacing:-0.001em; width:208px; height:58px"&gt;&lt;span style="margin: -1px 0 0 63px;padding: 0;float: left;font-size: 10px;cursor:pointer;  background-image:none;border:0;color: #e9d5e1; font-family: trebuchet ms,arial,sans-serif;font-weight: normal;"&gt;Can't code without&lt;/span&gt;&lt;a href="http://www.jetbrains.com/resharper/features/navigation_search.html" alt="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" title="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" style="position:absolute;left:0;margin:0;padding:35px 0 1px 8px;width:200px; line-height:11px;font-size:10px;cursor:pointer;  background-image:none;border:none;display:block; color:#e9d5e1; font-family:tahoma,arial,sans-serif;font-weight: normal;text-decoration:none;"&gt;Powerful search and navigation in C#,&lt;br /&gt;VB, XML, ASP.NET, XAML and more&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148609.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/EfHPJ1dAUuI" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/06/resharper-nightly-builds-and-stylecop.aspx</feedburner:origLink></item><item><title>Site Columns can't be deleted / edited in SharePoint 2010??</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Su59vBKXQ6E/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</link><pubDate>Mon, 06 Feb 2012 01:46:29 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</guid><wfw:comment>http://geekswithblogs.net/DinoGrl/comments/148608.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/DinoGrl/comments/commentRss/148608.aspx</wfw:commentRss><comments>http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/DinoGrl/services/trackbacks/148608.aspx</trackback:ping><source url="http://geekswithblogs.net/DinoGrl/rss.aspx">Site Columns can't be deleted / edited in SharePoint 2010??</source><description>&lt;p&gt;&lt;font face="Tahoma"&gt;I've recently migrated over to 2010 -- this is to say that I've recently started working at a company with an enterprise level 2010 SharePoint instance.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;As I was doing to customer requirement - content type-architecture-alignment and testing last week, I noticed that there are various SharePoint site columns that can't be modified and / or removed from (even) a custom list once they've been added.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;I did quick internet search and wasn't able to find anything riveting.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Tahoma"&gt;Anyone know what the scoop is on this?&lt;/font&gt; &lt;/p&gt; &lt;img src="http://geekswithblogs.net/DinoGrl/aggbug/148608.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Su59vBKXQ6E" height="1" width="1"/&gt;</description><dc:creator>Melanie Curfman</dc:creator><feedburner:origLink>http://geekswithblogs.net/DinoGrl/archive/2012/02/05/site-columns-cant-be-deleted--edited-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>Job hopping with the buddy system</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/MSQvqvUXKqs/job-hopping-with-the-buddy-system.aspx</link><pubDate>Mon, 06 Feb 2012 05:51:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx</guid><wfw:comment>http://geekswithblogs.net/TomPepe/comments/148607.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TomPepe/comments/commentRss/148607.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TomPepe/services/trackbacks/148607.aspx</trackback:ping><source url="http://geekswithblogs.net/TomPepe/rss.aspx">Job hopping with the buddy system</source><description>&lt;p&gt;Imagine this scenario: You are sitting in your final technical interview the lead architect asks you about your experience using the MVC pattern noted on your resume.  Before you &lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/tagteam_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="tagteam" border="0" alt="tagteam" align="left" src="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/tagteam_thumb.jpg" width="244" height="143" /&gt;&lt;/a&gt;can answer the coworker who developed that application with you says “I can answer this one, if that’s OK.”  The interview goes great and in two weeks you get the call and receive an offer for both of you.&lt;/p&gt;  &lt;p&gt;That’s one offer with given to a team of job applicants.  You all accept together as one unit or agree to reject the offer and keep looking.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Sound crazy?  Not according to The authors of “The 2020 Workplace” nor to s&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/The2020Workplace_2.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="The2020Workplace" border="0" alt="The2020Workplace" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/TomPepe/Windows-Live-Writer/0fe2d2cf3d00_14298/The2020Workplace_thumb.jpg" width="163" height="244" /&gt;&lt;/a&gt;several bloggers like &lt;a href="http://professional.damonoverboe.org/hiring-a-pair-of-programmers-crazy"&gt;damonoverboe.net&lt;/a&gt; and &lt;a href="http://moddingideas.com/?p=1800"&gt;moddingideas.com&lt;/a&gt; (see prediction 6).  “The 2020 Workplace” suggests that the future of IT may operate more “like Hollywood” with specialized teams who are hired, evaluated, rewarded, and even reprimanded as a group.&lt;/p&gt;  &lt;p&gt;This book was required reading for the masters program I just completed in Dec of 11.  This was the primary text for &lt;a href="http://blogs.missouristate.edu/mscis/2011/11/03/tap-into-social-media/"&gt;Dr Perreault’s class&lt;/a&gt;.  It is interesting that Damon would promote such a similar concept.  &lt;/p&gt;  &lt;p&gt;There is some compelling evidence that the importance of “socializing” your work reputations is increasing.  Have you noticed an uptick in coworkers who found out about the job openings through Facebook, LinkedIn, and twitter?  Have you or has your boss or interviewing company been to your blog?  Perhaps the same people who vouch for us on LinkedIn and Facebook should be in our interviews with us and if we are successful together why wouldn’t we want to keep working together?&lt;/p&gt;  &lt;p&gt;What do you think?  Is this a good idea?  Will employers start hiring entire teams?  Thank you for your input.  &lt;/p&gt; &lt;img src="http://geekswithblogs.net/TomPepe/aggbug/148607.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/MSQvqvUXKqs" height="1" width="1"/&gt;</description><dc:creator>tom</dc:creator><feedburner:origLink>http://geekswithblogs.net/TomPepe/archive/2012/02/05/job-hopping-with-the-buddy-system.aspx</feedburner:origLink></item><item><title>Stylecop 4.7.8.0 released </title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-ZwSNKElDRo/stylecop-4.7.8.0-released.aspx</link><pubDate>Sun, 05 Feb 2012 17:29:30 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148601.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148601.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148601.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Stylecop 4.7.8.0 released </source><description>Stylecop 4.7.8.0 has been released at &lt;a target="_blank" href="http://stylecop.codeplex.com/releases/view/79972"&gt;http://stylecop.codeplex.com/releases/view/79972&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;"This version is now compatible with R# 5.1 (5.1.3000.12), R# 6.0 
(6.0.2202.688), R# 6.1 (6.1.37.86) and R# 6.1.1 (6.1.42.60) available 
from &lt;a href="http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds" class="ecxexternalLink" target="_blank"&gt;http://confluence.jetbrains.net/display/ReSharper/ReSharper+6.1.1+Nightly+Builds&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are the bug details for &lt;a href="http://stylecop.codeplex.com/workitem/list/advanced?keyword=&amp;amp;status=Fixed&amp;amp;type=All&amp;amp;priority=All&amp;amp;release=4.7&amp;amp;assignedTo=All&amp;amp;component=All&amp;amp;sortField=Id&amp;amp;sortDirection=Ascending&amp;amp;page=0" class="ecxexternalLink" target="_blank"&gt;fixed in 4.7&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and  &lt;a href="http://stylecop.codeplex.com/workitem/list/advanced?keyword=&amp;amp;status=Closed&amp;amp;type=All&amp;amp;priority=All&amp;amp;release=4.7&amp;amp;assignedTo=All&amp;amp;component=All&amp;amp;sortField=Id&amp;amp;sortDirection=Ascending&amp;amp;page=0" class="ecxexternalLink" target="_blank"&gt;closed in 4.7&lt;span class="ecxexternalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; issues (over 20 issues fixed since 4.6)"&lt;br /&gt;&lt;br /&gt;
&lt;div style="position:relative; background:#7d255b url(http://www.jetbrains.com/resharper/features/rs/rs1/rs210x60_violet.gif) no-repeat 0 0; border:solid 1px #7d255b; margin:0;padding:0;text-decoration:none;text-indent:0;letter-spacing:-0.001em; width:208px; height:58px"&gt;&lt;span style="margin: -1px 0 0 63px;padding: 0;float: left;font-size: 10px;cursor:pointer;  background-image:none;border:0;color: #e9d5e1; font-family: trebuchet ms,arial,sans-serif;font-weight: normal;"&gt;Can't code without&lt;/span&gt;&lt;a href="http://www.jetbrains.com/resharper/features/navigation_search.html" alt="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" title="Powerful search and navigation in C#, VB, XML, ASP.NET, XAML and more" style="position:absolute;left:0;margin:0;padding:35px 0 1px 8px;width:200px; line-height:11px;font-size:10px;cursor:pointer;  background-image:none;border:none;display:block; color:#e9d5e1; font-family:tahoma,arial,sans-serif;font-weight: normal;text-decoration:none;"&gt;Powerful search and navigation in C#,&lt;br /&gt;VB, XML, ASP.NET, XAML and more&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148601.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-ZwSNKElDRo" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/stylecop-4.7.8.0-released.aspx</feedburner:origLink></item><item><title>Path Too Long for Team Foundation Database Project Build</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HuP2j0elogo/path-too-long-for-team-foundation-database-project-build.aspx</link><pubDate>Sun, 05 Feb 2012 16:43:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx</guid><wfw:comment>http://geekswithblogs.net/deadlydog/comments/148600.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/deadlydog/comments/commentRss/148600.aspx</wfw:commentRss><comments>http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/deadlydog/services/trackbacks/148600.aspx</trackback:ping><source url="http://geekswithblogs.net/deadlydog/rss.aspx">Path Too Long for Team Foundation Database Project Build</source><description>&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:RelyOnVML/&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif][if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-CA&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif][if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif][if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;p class="MsoNormal"&gt;Arrggghhhh TFS and builds!  Such a love-hate
relationship!  So we have our TFS builds setup to both compile our C#
projects as well as compile and deploy our Team Foundation (TF) Database (DB) projects. 
One day I started getting the following file path too long error message on our build server:&lt;br /&gt;
&lt;br /&gt;
$/RQ4TeamProject/Prototypes/BuildProcessTests/RQ4.Database.sln - 1 error(s), 69
warning(s), View Log File&lt;br /&gt;
 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\TeamData\Microsoft.Data.Schema.TSqlTasks.targets
(80): The "SqlSetupDeployTask" task failed unexpectedly.
Microsoft.Data.Schema.Build.BuildFailedException: The specified path, file
name, or both are too long. The fully qualified file name must be less than 260
characters, and the directory name must be less than 248 characters. ---&amp;gt;
System.IO.PathTooLongException: The specified path, file name, or both are too
long. The fully qualified file name must be less than 260 characters, and the
directory name must be less than 248 characters.    at
System.IO.PathHelper.Append(Char value)    at
System.IO.Path.NormalizePath(String path, Boolean fullCheck, Int32
maxPathLength)    at System.IO.FileStream.Init(String path, FileMode
mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share,
Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String
msgPath, Boolean bFromProxy, Boolean useLongPath)    at
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare
share, Int32 bufferSize, FileOptions options, String msgPath, Boolean
bFromProxy)    at System.IO.FileStream..ctor(String path,
FileMode mode, FileAccess access, FileShare share, Int32 bufferSize,
FileOptions options)    at System.IO.StreamReader..ctor(String
path, Encoding encoding, Boolean detectEncodingFromByteOrderMarks, Int32
bufferSize)    at System.IO.StreamReader..ctor(String path,
Boolean detectEncodingFromByteOrderMarks)    at
Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.GenerateMergedSqlCmdFiles(DeploymentContributorConfigurationSetup
setup, DeploymentContributorConfigurationFile configFile)    at
Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.OnEstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    at
Microsoft.Data.Schema.Build.DeploymentContributor.EstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    --- End of inner exception stack trace
---    at Microsoft.Data.Schema.Build.DeploymentContributor.EstablishDeploymentConfiguration(DeploymentContributorConfigurationSetup
setup)    at
Microsoft.Data.Schema.Build.DeploymentProjectBuilder.VerifyConfiguration()   
at Microsoft.Data.Schema.Tasks.DBSetupDeployTask.BuildDeploymentProject(ErrorManager
errors, ExtensionManager em)    at
Microsoft.Data.Schema.Tasks.DBSetupDeployTask.Execute()    at
Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()   
at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost
taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost,
ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean&amp;amp; taskResult)&lt;br /&gt;
&lt;br /&gt;
Naturally I said, "Ok, our TF DB project isn't compiling because a path is
too long. Somebody must have checked in a stored procedure with a really long
name".  After viewing the history of the branch I was trying to build
however, I didn't see anything that stuck out.  So for fun I thought I
would shorten the Build Definition name's length and build again.  Viola,
like most path issues with TFS this fixed the issue (this is because the build
definition name is often used in the path that TFS moves/builds files
to).  However, we have many queries setup that match the specific Build
Definition name (since it's used in the "Integrated in Build" work
item value), so shortening it wasn't a long term solution.  As an added
frustration bonus, I discovered our build definition name was only 1 character too
long!&lt;br /&gt;
&lt;/p&gt;&lt;p class="MsoNormal"&gt;The first thing I did was make a &lt;a href="http://pathlengthchecker.codeplex.com"&gt;Path Length Checker&lt;/a&gt; program
so I could see how long the file paths (files and directories) really were on the build server.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Oddly enough, the longest paths were 40
characters short of the maximum limit described by the error message.&lt;/p&gt;&lt;p class="MsoNormal"&gt;So I took a look at our database folder structure and saw that it really was
wasting a lot of characters.  This is what the path to one of our stored
procedure folders looks like: "..\Database\Schema
Objects\Schemas\dbo\Programmability\Stored Procedures\Procs1".  I
figured that I would just rename some of these folders in Visual Studio and
that should be good........OMG never try this while connected to TFS!  I
got a popup warning for every single file under the directory I was renaming
(thousands of them), with something along the lines of "Cannot access file
X, or it is locked.....blah blah. Please press OK".  So after holding
down the enter key for a over an hour to get past all these prompts it finally
finished.  When I reviewed the changes to check in, I saw that many
duplicate folders had been created, and there were miscellaneous files all over
the place; some got moved, some never; what a mess.  So I went ahead and reverted my
changes.&lt;br /&gt;
&lt;br /&gt;
So I thought, "Ok, let's try this again, but first going offline so as not
to connect to TFS".  So I disabled my internet connection and opened
the database solution (this is the only way that I know of to work
"offline" in TFS :( ).  I then tried to change the high
level folder "Schema Objects" to just "Schema".  Nope,
Visual Studio complained that the folder was locked and couldn't be changed. 
I thought to myself, "TFS makes all non-checked out files read-only, and I'm offline so it can't check them out. 
That must be the problem".  So I opened up explorer and made all of
the files and folders writable and tried again. Nope, no deal; same error message.&lt;br /&gt;
&lt;br /&gt;
So I thought, "Alright, let's try doing a low level directory
instead".  It seems that VS would only let me rename a directory that
didn't contain other directories.  So I renamed the "Procs1"
folder to just "1".  I no longer got the warning prompt for every
file, but it was still pretty slow and I could watch VS process every file in
the Solution Explorer window.  After about 10 minutes it finally
finished.  So I checked in my changes and tried building again. 
Nope, same error message as before about the path being too long.&lt;br /&gt;
&lt;br /&gt;
So I said screw this.  I opened up the TFS Source Control Explorer and
renamed the folder from there.  It worked just fine.  I then had to
open up the Database.dbproj file in a text editor and do a find and replace to
replace "\Schema Objects\" with "\Schema\".  This
worked for refactoring the folder structure quickly, but I was still getting
the "path too long" error message on the build server. Arrrrgg!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So I went back to the build, set the verbosity to
“diagnostic” and launched another build (which failed again with the path too long error).&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Looking through the error message I noticed
that it did complete building the DB schema, and went on to failing on building
the Pre/Post deployment scripts.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Looking
back to my original error message and reading it more carefully I noticed this
line, “Microsoft.Data.Schema.Sql.Build.SqlPrePostDeploymentModifier.GenerateMergedSqlCmdFiles”.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;So now I was pretty sure the problem was in
the pre and post deployment scripts.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Now, we have a very custom process for our database scripts,
and part of this process involves using SQLCMD mode to include other script files
into our pre and post deployment files when they are generated; it basically
makes it look like the referenced script’s contents were in the pre/post
deployment script the entire time.  This is necessary for us so that developers don't have to look through pre and post deployment scripts that are tens of thousands of lines long.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;It
turns out that while none of these referenced script files themselves had a
path that was over the limit, somehow during the generation of the pre/post
deployment scripts it was making the path even longer.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;I looked through our referenced scripts and saw a few
particularly long ones.&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;So I refactored
them to shorten the file names, and presto the build worked!&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Hooray!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;I’m guessing that the reason the build wouldn’t give me an
actual filename when it encountered the error is because SQLCMD mode was
dynamically referencing those scripts at build time, so to the build it just looked like the pre and post deployment scripts were each thousands of lines long, when in fact they are only maybe 50 lines long, but they "include" other files, and those file references must be used at build time.&lt;br /&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;So the morals of this story are:&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;o:OfficeDocumentSettings&gt;
  &lt;o:RelyOnVML/&gt;
  &lt;o:AllowPNG/&gt;
 &lt;/o:OfficeDocumentSettings&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;EN-CA&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:EnableOpenTypeKerning/&gt;
   &lt;w:DontFlipMirrorIndents/&gt;
   &lt;w:OverrideTableStyleHps/&gt;
  &lt;/w:Compatibility&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val="Cambria Math"/&gt;
   &lt;m:brkBin m:val="before"/&gt;
   &lt;m:brkBinSub m:val="&amp;#45;-"/&gt;
   &lt;m:smallFrac m:val="off"/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val="0"/&gt;
   &lt;m:rMargin m:val="0"/&gt;
   &lt;m:defJc m:val="centerGroup"/&gt;
   &lt;m:wrapIndent m:val="1440"/&gt;
   &lt;m:intLim m:val="subSup"/&gt;
   &lt;m:naryLim m:val="undOvr"/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267"&gt;
  &lt;w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 7"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 8"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" Name="toc 9"/&gt;
  &lt;w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/&gt;
  &lt;w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/&gt;
  &lt;w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/&gt;
  &lt;w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/&gt;
  &lt;w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/&gt;
  &lt;w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/&gt;
  &lt;w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/&gt;
  &lt;w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/&gt;
  &lt;w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/&gt;
  &lt;w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/&gt;
  &lt;w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/&gt;
  &lt;w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/&gt;
  &lt;w:LsdException Locked="false" Priority="37" Name="Bibliography"/&gt;
  &lt;w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
	{mso-style-name:"Table Normal";
	mso-tstyle-rowband-size:0;
	mso-tstyle-colband-size:0;
	mso-style-noshow:yes;
	mso-style-priority:99;
	mso-style-parent:"";
	mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
	mso-para-margin-top:0cm;
	mso-para-margin-right:0cm;
	mso-para-margin-bottom:10.0pt;
	mso-para-margin-left:0cm;
	line-height:115%;
	mso-pagination:widow-orphan;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	mso-ascii-font-family:Calibri;
	mso-ascii-theme-font:minor-latin;
	mso-hansi-font-family:Calibri;
	mso-hansi-theme-font:minor-latin;
	mso-bidi-font-family:"Times New Roman";
	mso-bidi-theme-font:minor-bidi;
	mso-fareast-language:EN-US;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;/p&gt;&lt;p class="MsoNormal"&gt;1. If VS is blowing chunks when you try to rename a folder
(especially when connected to TFS), don't do it through VS.  Instead
modify the folder structure outside of VS and then manually edit the
.csproj/.dbproj/.vbproj files to mirror the changes.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;2. Whenever you are stumped on a build error, go back and
THOROUGHLY read the ENTIRE error message.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;3. Be careful when using compile-time language features to
reference/include external files.&lt;/p&gt;

 &lt;img src="http://geekswithblogs.net/deadlydog/aggbug/148600.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HuP2j0elogo" height="1" width="1"/&gt;</description><dc:creator>deadlydog</dc:creator><feedburner:origLink>http://geekswithblogs.net/deadlydog/archive/2012/02/05/path-too-long-for-team-foundation-database-project-build.aspx</feedburner:origLink></item><item><title>Free Document scanning software - FreeOCR </title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/pW7cpJKxvEg/free-document-scanning-software---freeocr.aspx</link><pubDate>Sun, 05 Feb 2012 16:28:05 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148599.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148599.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148599.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">Free Document scanning software - FreeOCR </source><description>Free OCR scanning software is available from &lt;a target="_blank" href="http://www.paperfile.net/"&gt;http://www.paperfile.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span class="style15"&gt;Click
            link below to download FreeOCR.net.&lt;br /&gt;
      &lt;/span&gt;This is a bootstrap installer and will only download the files needed to install the latest version of FreeOCR&lt;/p&gt;
        &lt;p&gt;&lt;a href="http://www.paperfile.net/freeocr.exe"&gt;Download Here &lt;/a&gt;&lt;/p&gt;
        &lt;font face="Arial, Helvetica, sans-serif"&gt;This includes the English
          language Pack&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;
&lt;img alt="Screenshot" src="http://www.paperfile.net/scanfile.jpg" /&gt;&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148599.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/pW7cpJKxvEg" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/free-document-scanning-software---freeocr.aspx</feedburner:origLink></item><item><title>APress Deal of the Day - 5/Feb/2012 -  Applied ASP.NET 4 in Context</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/TRB7Pz93ksE/apress-deal-of-the-day---5feb2012----applied.aspx</link><pubDate>Sun, 05 Feb 2012 14:50:36 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx</guid><wfw:comment>http://geekswithblogs.net/TATWORTH/comments/148598.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TATWORTH/comments/commentRss/148598.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TATWORTH/services/trackbacks/148598.aspx</trackback:ping><source url="http://geekswithblogs.net/TATWORTH/rss.aspx">APress Deal of the Day - 5/Feb/2012 -  Applied ASP.NET 4 in Context</source><description>Today's $10 Deal of the day from APress at &lt;a target="_blank" href="http://www.apress.com/9781430234678"&gt;http://www.apress.com/9781430234678&lt;/a&gt; is Applied ASP.NET 4 in Context&lt;br /&gt;&lt;br /&gt;"&lt;em&gt;Applied ASP.NET 4 in Context&lt;/em&gt; answers the commonly asked 
question, "Yes, but how does it work in reality?" Through a series of 
carefully constructed examples, the book shows how ASP.NET works in a 
real-world context, showing how technologies and best practices can be 
drawn together to create well-crafted web applications."&lt;br /&gt;&lt;br /&gt;
&lt;img alt="book cover" src="http://www.apress.com/media/catalog/product/cache/9/small_image/125x/040ec09b1e35df139433887a97daa66f/A/9/A9781430234678-small_7.png" /&gt;
&lt;br /&gt;&lt;br /&gt;
I have read other books by Alan Freeman and I know he is an excellent author who is good at providing real world examples.
&lt;br /&gt; &lt;img src="http://geekswithblogs.net/TATWORTH/aggbug/148598.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/TRB7Pz93ksE" height="1" width="1"/&gt;</description><dc:creator>TATWORTH</dc:creator><feedburner:origLink>http://geekswithblogs.net/TATWORTH/archive/2012/02/05/apress-deal-of-the-day---5feb2012----applied.aspx</feedburner:origLink></item></channel></rss>

