<?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" href="http://feeds.feedburner.com/geekswithblogs" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Test</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Mk-ncBBWSNY/test.aspx</link><pubDate>Tue, 10 Nov 2009 14:12:17 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/10/test.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136179.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136179.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/10/test.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136179.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Test</source><description>&lt;div style="padding: 5px 5px 10px 5px; margin-top: 5px; border: 1px solid #ddd; background-color: #fff;line-height: 16px;"&gt;       &lt;div style="float: left; margin-right: 5px; overflow: visible;"&gt;&lt;a href="http://posterous.com/getfile/files.posterous.com/ukmsdn/aEf3otfibU8iJ8TsSr02AZ9lXL19W3YDTo6gUwv1OMtU3qj76KDBZdvqZwT6/ukmsdnflash009_low.mp3" style="color: #bc7134;"&gt;&lt;img src="http://posterous.com/images/filetypes/mp3.png" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;       &lt;div style="font-size: 10px; color: #424037;line-height: 16px;"&gt;  &lt;br /&gt;Download now or &lt;a href="http://ukmsdn.posterous.com/test-46528" style="color: #bc7134;"&gt;listen on posterous&lt;/a&gt;&lt;/div&gt;       &lt;b&gt;&lt;a href="http://posterous.com/getfile/files.posterous.com/ukmsdn/aEf3otfibU8iJ8TsSr02AZ9lXL19W3YDTo6gUwv1OMtU3qj76KDBZdvqZwT6/ukmsdnflash009_low.mp3" style="color: #bc7134;"&gt;ukmsdnflash009_low.mp3&lt;/a&gt;&lt;/b&gt; &lt;span style="font-size: 10px; color: #424037;"&gt;(9898 KB)&lt;/span&gt;       &lt;br style="clear: both;" /&gt;&lt;/div&gt;      &lt;p&gt;    &lt;/p&gt;&lt;div&gt;Test&lt;/div&gt;      &lt;p style="font-size: 10px;"&gt;  &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;   from &lt;a href="http://ukmsdn.posterous.com/test-46528"&gt;UK MSDN Podcast&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136179"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136179" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136179.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Mk-ncBBWSNY" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/10/test.aspx</feedburner:origLink></item><item><title>Test 2</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/-oKSxUrpEfE/test-2.aspx</link><pubDate>Tue, 10 Nov 2009 14:11:42 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/10/test-2.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136178.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136178.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/10/test-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136178.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">Test 2</source><description>Test 2      &lt;p style="font-size: 10px;"&gt;  &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;   from &lt;a href="http://ukmsdn.posterous.com/test-2-352"&gt;UK MSDN Podcast&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136178"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136178" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136178.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/-oKSxUrpEfE" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/10/test-2.aspx</feedburner:origLink></item><item><title>MSDN Flash Podcast Show 011 - Steve Marx on Windows Azure</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/HwxyA6YSLpc/msdn-flash-podcast-show-011---steve-marx-on-windows.aspx</link><pubDate>Tue, 10 Nov 2009 14:09:01 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/iupdateable/archive/2009/11/10/msdn-flash-podcast-show-011---steve-marx-on-windows.aspx</guid><wfw:comment>http://geekswithblogs.net/iupdateable/comments/136177.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/iupdateable/comments/commentRss/136177.aspx</wfw:commentRss><comments>http://geekswithblogs.net/iupdateable/archive/2009/11/10/msdn-flash-podcast-show-011---steve-marx-on-windows.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/iupdateable/services/trackbacks/136177.aspx</trackback:ping><source url="http://geekswithblogs.net/iupdateable/rss.aspx">MSDN Flash Podcast Show 011 - Steve Marx on Windows Azure</source><description>&lt;div style="padding: 5px 5px 10px 5px; margin-top: 5px; border: 1px solid #ddd; background-color: #fff;line-height: 16px;"&gt;       &lt;div style="float: left; margin-right: 5px; overflow: visible;"&gt;&lt;a href="http://posterous.com/getfile/files.posterous.com/ukmsdn/3Bi4c8hykDo9fslsDOMTP3b3pERC4K5ioeOi0aeyACiEYkbQyLeE3iLUeH4B/ukmsdnflash011.mp3" style="color: #bc7134;"&gt;&lt;img src="http://posterous.com/images/filetypes/mp3.png" style="border: none;" /&gt;&lt;/a&gt;&lt;/div&gt;       &lt;div style="font-size: 10px; color: #424037;line-height: 16px;"&gt;&lt;b&gt;Msdn Flash Show 011 - Steve Marx On Windows Azure&lt;/b&gt; by Eric Nelson At Iupdateable. Com  &lt;br /&gt;Download now or &lt;a href="http://ukmsdn.posterous.com/msdn-flash-podcast-show-011-steve-marx-on-win-0" style="color: #bc7134;"&gt;listen on posterous&lt;/a&gt;&lt;/div&gt;       &lt;b&gt;&lt;a href="http://posterous.com/getfile/files.posterous.com/ukmsdn/3Bi4c8hykDo9fslsDOMTP3b3pERC4K5ioeOi0aeyACiEYkbQyLeE3iLUeH4B/ukmsdnflash011.mp3" style="color: #bc7134;"&gt;ukmsdnflash011.mp3&lt;/a&gt;&lt;/b&gt; &lt;span style="font-size: 10px; color: #424037;"&gt;(17418 KB)&lt;/span&gt;       &lt;br style="clear: both;" /&gt;&lt;/div&gt;      &lt;p&gt;    &lt;/p&gt;&lt;p style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Also knows as "that's where I left my shoe" (you will need to listen to understand that)&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;This is a bonus edition of the podcast recorded on the 6th of October in London with &lt;a href="http://blog.smarx.com/"&gt;Steve Marx&lt;/a&gt;, Technical Strategist working on Windows Azure.&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;It starts slow, it needed a few edits (deletes!) as we battled with "what is still not public" but picks up to be a pretty useful look at the improvements we have made to Windows Azure over the last few months with a specific focus on storage.&lt;/span&gt;&lt;/p&gt; &lt;p style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Topics covered include:&lt;/span&gt;&lt;/p&gt; &lt;ul type="disc" style="MARGIN-TOP: 0cm;"&gt; &lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Entity Group Transactions &lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;StorageClient library &lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Queues &lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Blobs and Shared Access Signatures/Blob Container Access Policies &lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Communication between nodes without queues &lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;Logging &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;b&gt;&lt;span style=""&gt;Show Links:&lt;/span&gt;&lt;/b&gt;&lt;span style=""&gt;&lt;/span&gt;&lt;/p&gt; &lt;ul type="disc" style="MARGIN-TOP: 0cm;"&gt; &lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://blog.smarx.com/posts/using-container-level-access-policies-in-windows-azure-storage"&gt;Container Access Policies&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://blog.smarx.com/posts/new-storage-feature-signed-access-signatures"&gt;Shared Access Signatures&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://blog.smarx.com/posts/sample-code-for-new-windows-azure-blob-features" title="http://blog.smarx.com/posts/sample-code-for-new-windows-azure-blob-features CTRL + Click to follow link"&gt;Copy Blob and get committed block list methods&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://blog.smarx.com/posts/sample-code-for-batch-transactions-in-windows-azure-tables"&gt;Entity Group Transactions&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://blogs.msdn.com/windowsazure/archive/2009/10/03/upcoming-changes-to-windows-azure-logging.aspx"&gt;Azure Logging&lt;/a&gt;&lt;/span&gt;&lt;span style=""&gt; &lt;span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/li&gt;&lt;li style="MARGIN: 0cm 0cm 0pt;"&gt;&lt;span style=""&gt;&lt;a href="http://www.cerebrata.com/" title="http://www.cerebrata.com/"&gt;http://www.cerebrata.com/&lt;/a&gt;  &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p /&gt;      &lt;p style="font-size: 10px;"&gt;  &lt;a href="http://posterous.com"&gt;Posted via email&lt;/a&gt;   from &lt;a href="http://ukmsdn.posterous.com/msdn-flash-podcast-show-011-steve-marx-on-win-0"&gt;UK MSDN Podcast&lt;/a&gt;  &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136177"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136177" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/iupdateable/aggbug/136177.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/HwxyA6YSLpc" height="1" width="1"/&gt;</description><dc:creator>Eric Nelson</dc:creator><feedburner:origLink>http://geekswithblogs.net/iupdateable/archive/2009/11/10/msdn-flash-podcast-show-011---steve-marx-on-windows.aspx</feedburner:origLink></item><item><title>Visual WebGui Application Platform Released</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5UJRDhZ25s8/visual-webgui-application-platform-released.aspx</link><pubDate>Tue, 10 Nov 2009 13:59:55 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Webgui/archive/2009/11/10/visual-webgui-application-platform-released.aspx</guid><wfw:comment>http://geekswithblogs.net/Webgui/comments/136176.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Webgui/comments/commentRss/136176.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Webgui/archive/2009/11/10/visual-webgui-application-platform-released.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Webgui/services/trackbacks/136176.aspx</trackback:ping><source url="http://geekswithblogs.net/Webgui/rss.aspx">Visual WebGui Application Platform Released</source><description>&lt;p mce_keep="true"&gt;&lt;a href="http://www.visualwebgui.com/tabid/110/Default.aspx"&gt;Visual WebGui &lt;/a&gt;released a new version today - version 6.3.12 is a further stabilization on the way to releasing the all-new 6.4.&lt;/p&gt;
&lt;p&gt;The new release includes enhancements to the Control Wrapper such as improved support for 3rd party controls and a more stable overall operation after a few issues were resolved.&lt;/p&gt;
&lt;p mce_keep="true"&gt;Visual WebGui provides Develop, Run, Manage &amp;amp; Migrate benefits for Ajax empowered &lt;a class="" mce_href="http://www.visualwebgui.com/tabid/656/Default.aspx" href="http://www.visualwebgui.com/tabid/656/Default.aspx"&gt;Web&lt;/a&gt; / &lt;a class="" mce_href="http://www.visualwebgui.com/Gizmox/Products/VisualWebGuiforCloud/tabid/657/Default.aspx" href="http://www.visualwebgui.com/Gizmox/Products/VisualWebGuiforCloud/tabid/657/Default.aspx"&gt;Cloud applications&lt;/a&gt;&lt;/p&gt;
&lt;p mce_keep="true"&gt;&lt;a class="featurelink" href="http://www.visualwebgui.com/tabid/110/Default.aspx"&gt;Free Visual WebGui Development Tools Downloads&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136176"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136176" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Webgui/aggbug/136176.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5UJRDhZ25s8" height="1" width="1"/&gt;</description><dc:creator>Webgui</dc:creator><feedburner:origLink>http://geekswithblogs.net/Webgui/archive/2009/11/10/visual-webgui-application-platform-released.aspx</feedburner:origLink></item><item><title>Writing custom MembershipProvider</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/K0JkLEnBox4/writing-custom-membershipprovider-again.aspx</link><pubDate>Tue, 10 Nov 2009 13:42:19 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/lszk/archive/2009/11/10/writing-custom-membershipprovider-again.aspx</guid><wfw:comment>http://geekswithblogs.net/lszk/comments/136175.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/lszk/comments/commentRss/136175.aspx</wfw:commentRss><comments>http://geekswithblogs.net/lszk/archive/2009/11/10/writing-custom-membershipprovider-again.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/lszk/services/trackbacks/136175.aspx</trackback:ping><source url="http://geekswithblogs.net/lszk/rss.aspx">Writing custom MembershipProvider</source><description>This text is based on the Chris Pels video located &lt;a href="http://www.asp.net/learn/videos/video-189.aspx"&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
ASP.NET Membership mechanism allows to use the build-in server tables to store and retrieve user data. By default, this mechanism can only be used with SQL Server database to which Microsoft provides suitable MembershipProvider class. &lt;br /&gt;
Inheriting from this abstract class, developer can use his own table(-es) from any database and use any database engine other than SQL Server, like Oracle, DB2 etc.&lt;br /&gt;
&lt;br /&gt;
In this article I would like to show, how to implement this class for my own User table, using Linq to SQL. &lt;br /&gt;
&lt;br /&gt;
This table looks like below. As you can see, there is less fields than in the default User table from the Membership mechanism, because now I have only these fields which I need in my project:    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;img height="189" width="194" alt="" src="/images/geekswithblogs_net/lszk/10905/r_user table.PNG" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To select, delete and update data in this table, I created a several stored procedures:&lt;br /&gt;
&lt;br /&gt;
&lt;img height="255" width="548" src="/images/geekswithblogs_net/lszk/10905/o_procedures2.PNG" alt="" /&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The T-SQL code for this table and procedures can be found at the end of this article.&lt;br /&gt;
&lt;br /&gt;
Implementing the class derived from the MembershipProvider it isn't all what have to be done. Beyond this, the provider must also be configured in the Web.config file:&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Code formatted with Procent.Samples: http://www.maciejaniserowicz.com/samples/CodeFormatter.aspx --&gt;
&lt;div id="code"&gt;
&lt;pre&gt;&lt;font size="4"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  1:&lt;/span&gt;  		&amp;lt;authentication mode=&lt;span style="color: rgb(224, 85, 29);"&gt;"Forms"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  2:&lt;/span&gt;  			&amp;lt;forms loginUrl=&lt;span style="color: rgb(224, 85, 29);"&gt;"Default.aspx"&lt;/span&gt; name=&lt;span style="color: rgb(224, 85, 29);"&gt;".ASPXFORMSAUTH"&lt;/span&gt;/&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  3:&lt;/span&gt;  		&amp;lt;/authentication&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  4:&lt;/span&gt;  		&amp;lt;authorization&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  5:&lt;/span&gt;  			&amp;lt;deny users=&lt;span style="color: rgb(224, 85, 29);"&gt;"?"&lt;/span&gt;/&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  6:&lt;/span&gt;  		&amp;lt;/authorization&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  7:&lt;/span&gt;  		&amp;lt;machineKey validationKey=&lt;span style="color: rgb(224, 85, 29);"&gt;"C50B3C89CB21F4F1422FF158A5B42D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE"&lt;/span&gt; decryptionKey=&lt;span style="color: rgb(224, 85, 29);"&gt;"8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F"&lt;/span&gt; validation=&lt;span style="color: rgb(224, 85, 29);"&gt;"SHA1"&lt;/span&gt;/&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  8:&lt;/span&gt;  		&amp;lt;!--Custom Membership Provider Configuration--&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  9:&lt;/span&gt;  		&amp;lt;membership defaultProvider=&lt;span style="color: rgb(224, 85, 29);"&gt;"ShopMembershipProvider"&lt;/span&gt; userIsOnlineTimeWindow=&lt;span style="color: rgb(224, 85, 29);"&gt;"15"&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 10:&lt;/span&gt;  			&amp;lt;providers&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 11:&lt;/span&gt;  				&amp;lt;clear/&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 12:&lt;/span&gt;  				&amp;lt;add name=&lt;span style="color: rgb(224, 85, 29);"&gt;"ShopMembershipProvider"&lt;/span&gt; type=&lt;span style="color: rgb(224, 85, 29);"&gt;"Shop.Data.ShopMembershipProvider"&lt;/span&gt; connectionStringName=&lt;span style="color: rgb(224, 85, 29);"&gt;"ShopConnectionString"&lt;/span&gt; enablePasswordRetrieval=&lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt; enablePasswordReset=&lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt; requiresQuestionAndAnswer=&lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt; writeExceptionsToEventLog=&lt;span style="color: rgb(224, 85, 29);"&gt;"false"&lt;/span&gt;/&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 13:&lt;/span&gt;  			&amp;lt;/providers&amp;gt;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 14:&lt;/span&gt;  		&amp;lt;/membership&amp;gt;&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
The abstract class have many methods, so the below source code is huge, despite the fact that, some of these methods aren't implemented, because I do not have corresponding fields in the data table.&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Code formatted with Procent.Samples: http://www.maciejaniserowicz.com/samples/CodeFormatter.aspx --&gt;
&lt;div id="code"&gt;
&lt;pre&gt;&lt;font size="4"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  1:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  2:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  3:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  4:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Web;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  5:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Web.Security;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  6:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Configuration;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  7:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Configuration.Provider;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  8:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Web.Configuration;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  9:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Security.Cryptography;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 10:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 11:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 12:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;namespace&lt;/span&gt; Shop.Data&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 13:&lt;/span&gt;  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 14:&lt;/span&gt;      &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;class&lt;/span&gt; ShopMembershipProvider : MembershipProvider&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 15:&lt;/span&gt;      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 16:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; MachineKeySection machineKey;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 17:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; ShopMembershipDataContext db;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 18:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; newPasswordLength = 8;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 19:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 20:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; ApplicationName&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 21:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 22:&lt;/span&gt;              get;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 23:&lt;/span&gt;              set;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 24:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 25:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 26:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; enablePasswordReset;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 27:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; EnablePasswordReset&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 28:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 29:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; enablePasswordReset; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 30:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 31:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 32:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; enablePasswordRetrieval;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 33:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; EnablePasswordRetrieval&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 34:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 35:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; enablePasswordRetrieval; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 36:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 37:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 38:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; requiresQuestionAndAnswer;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 39:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; RequiresQuestionAndAnswer&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 40:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 41:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; requiresQuestionAndAnswer; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 42:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 43:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 44:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; requiresUniqueEmail;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 45:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; RequiresUniqueEmail&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 46:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 47:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; requiresUniqueEmail; } &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 48:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 49:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 50:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; maxInvalidPasswordAttempts;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 51:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; MaxInvalidPasswordAttempts&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 52:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 53:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; maxInvalidPasswordAttempts; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 54:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 55:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 56:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; passwordAttemptWindow;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 57:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; PasswordAttemptWindow&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 58:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 59:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; passwordAttemptWindow; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 60:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 61:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 62:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; MembershipPasswordFormat passwordFormat;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 63:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipPasswordFormat PasswordFormat&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 64:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 65:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; passwordFormat; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 66:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 67:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 68:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; minRequiredNonAlphanumericCharacters;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 69:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; MinRequiredNonAlphanumericCharacters&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 70:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 71:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; minRequiredNonAlphanumericCharacters; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 72:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 73:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 74:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; minRequiredPasswordLength;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 75:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; MinRequiredPasswordLength&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 76:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 77:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; minRequiredPasswordLength; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 78:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 79:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 80:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; passwordStrengthRegularExpression;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 81:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; PasswordStrengthRegularExpression&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 82:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 83:&lt;/span&gt;              get { &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; passwordStrengthRegularExpression; }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 84:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 85:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 86:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;void&lt;/span&gt; Initialize(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; name, System.Collections.Specialized.NameValueCollection config)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 87:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 88:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (config == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 89:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 90:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ArgumentNullException(&lt;span style="color: rgb(224, 85, 29);"&gt;"config"&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 91:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 92:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 93:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (name == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt; || name.Length == 0)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 94:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 95:&lt;/span&gt;                  name = &lt;span style="color: rgb(224, 85, 29);"&gt;"ShopMembershipProvider"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 96:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 97:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 98:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;base&lt;/span&gt;.Initialize(name, config);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 99:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;100:&lt;/span&gt;              ApplicationName = GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"applicationName"&lt;/span&gt;], System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;101:&lt;/span&gt;              maxInvalidPasswordAttempts = Convert.ToInt32(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"maxInvalidPasswordAttempts"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"5"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;102:&lt;/span&gt;              passwordAttemptWindow = Convert.ToInt32(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"passwordAttemptWindow"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"10"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;103:&lt;/span&gt;              minRequiredNonAlphanumericCharacters = Convert.ToInt32(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"minRequiredAlphaNumericCharacters"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"1"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;104:&lt;/span&gt;              minRequiredPasswordLength = Convert.ToInt32(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"minRequiredPasswordLength"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"7"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;105:&lt;/span&gt;              passwordStrengthRegularExpression = Convert.ToString(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"passwordStrengthRegularExpression"&lt;/span&gt;], String.Empty));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;106:&lt;/span&gt;              enablePasswordReset = Convert.ToBoolean(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"enablePasswordReset"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;107:&lt;/span&gt;              enablePasswordRetrieval = Convert.ToBoolean(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"enablePasswordRetrieval"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;108:&lt;/span&gt;              requiresQuestionAndAnswer = Convert.ToBoolean(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"requiresQuestionAndAnswer"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"false"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;109:&lt;/span&gt;              requiresUniqueEmail = Convert.ToBoolean(GetConfigValue(config[&lt;span style="color: rgb(224, 85, 29);"&gt;"requiresUniqueEmail"&lt;/span&gt;], &lt;span style="color: rgb(224, 85, 29);"&gt;"true"&lt;/span&gt;));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;110:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;111:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; temp_format = config[&lt;span style="color: rgb(224, 85, 29);"&gt;"passwordFormat"&lt;/span&gt;];&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;112:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (temp_format == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;113:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;114:&lt;/span&gt;                  temp_format = &lt;span style="color: rgb(224, 85, 29);"&gt;"Hashed"&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;115:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;116:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;117:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;switch&lt;/span&gt; (temp_format)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;118:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;119:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(224, 85, 29);"&gt;"Hashed"&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;120:&lt;/span&gt;                      passwordFormat = MembershipPasswordFormat.Hashed;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;121:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;122:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(224, 85, 29);"&gt;"Encrypted"&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;123:&lt;/span&gt;                      passwordFormat = MembershipPasswordFormat.Encrypted;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;124:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;125:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; &lt;span style="color: rgb(224, 85, 29);"&gt;"Clear"&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;126:&lt;/span&gt;                      passwordFormat = MembershipPasswordFormat.Clear;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;127:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;128:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;129:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Password format not supported."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;130:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;131:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;132:&lt;/span&gt;              System.Configuration.Configuration cfg = WebConfigurationManager.OpenWebConfiguration(System.Web.Hosting.HostingEnvironment.ApplicationVirtualPath);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;133:&lt;/span&gt;              machineKey = cfg.GetSection(&lt;span style="color: rgb(224, 85, 29);"&gt;"system.web/machineKey"&lt;/span&gt;) as MachineKeySection;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;134:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;135:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (machineKey.ValidationKey.Contains(&lt;span style="color: rgb(224, 85, 29);"&gt;"AutoGenerate"&lt;/span&gt;))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;136:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;137:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (PasswordFormat != MembershipPasswordFormat.Clear)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;138:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;139:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Hashed or Encrypted passwords are not supported with auto-generated keys."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;140:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;141:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;142:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;143:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;144:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; GetConfigValue(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; configValue, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; defaultValue)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;145:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;146:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (String.IsNullOrEmpty(configValue))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;147:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;148:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; defaultValue;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;149:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;150:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;151:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; configValue;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;152:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;153:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;154:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; ChangePassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; oldPassword, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; newPassword)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;155:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;156:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (!ValidateUser(username, oldPassword))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;157:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;158:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;159:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;160:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;161:&lt;/span&gt;              ValidatePasswordEventArgs args = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ValidatePasswordEventArgs(username, newPassword, &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;162:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;163:&lt;/span&gt;              OnValidatingPassword(args);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;164:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;165:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (args.Cancel)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;166:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;167:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (args.FailureInformation != &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;168:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;169:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; args.FailureInformation;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;170:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;171:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;172:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;173:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; Exception(&lt;span style="color: rgb(224, 85, 29);"&gt;"Change password canceled due to new password validation failure."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;174:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;175:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;176:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;177:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;178:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;179:&lt;/span&gt;              db.ChangePassword(username, EncodePassword( newPassword));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;180:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;181:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;182:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;183:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;184:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;185:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;186:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;187:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;188:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;189:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;190:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;191:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;192:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;193:&lt;/span&gt;          &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;194:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; ChangePasswordQuestionAndAnswer(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; newPasswordQuestion, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; newPasswordAnswer)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;195:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;196:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (!ValidateUser(username, password))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;197:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;198:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;199:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;200:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;201:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;202:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;203:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; result = db.ChangePasswordQuestionAnswer(EncodePassword( newPasswordAnswer), newPasswordAnswer, username);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;204:&lt;/span&gt;             &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;205:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;206:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;207:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;208:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;209:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result != 0)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;210:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;211:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;212:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;213:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;214:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;215:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;216:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;217:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;218:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;219:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;220:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;221:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;222:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;223:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUser CreateUser(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; email, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; passwordQuestion, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; passwordAnswer, &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; isApproved, &lt;span style="color: rgb(0, 170, 255);"&gt;object&lt;/span&gt; providerUserKey, &lt;span style="color: rgb(0, 170, 255);"&gt;out&lt;/span&gt; MembershipCreateStatus status)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;224:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;225:&lt;/span&gt;              ValidatePasswordEventArgs args = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ValidatePasswordEventArgs(username, password, &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;226:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;227:&lt;/span&gt;              OnValidatingPassword(args);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;228:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;229:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (args.Cancel)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;230:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;231:&lt;/span&gt;                  status = MembershipCreateStatus.InvalidPassword;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;232:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;233:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;234:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;235:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; ((RequiresUniqueEmail &amp;amp;&amp;amp; (GetUserNameByEmail(email) != String.Empty)))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;236:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;237:&lt;/span&gt;                  status = MembershipCreateStatus.DuplicateEmail;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;238:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;239:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;240:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;241:&lt;/span&gt;              MembershipUser membershipUser = GetUser(username, &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;242:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;243:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (membershipUser == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;244:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;245:&lt;/span&gt;                  System.DateTime createDate = DateTime.Now;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;246:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;247:&lt;/span&gt;                  InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;248:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;249:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; result = db.CreateUser(Guid.NewGuid(), username, EncodePassword(password), passwordQuestion, EncodePassword(passwordAnswer), email);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;250:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;251:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;252:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;253:&lt;/span&gt;                      db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;254:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;255:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result == 0)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;256:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;257:&lt;/span&gt;                          status = MembershipCreateStatus.Success;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;258:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;259:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;260:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;261:&lt;/span&gt;                          status = MembershipCreateStatus.UserRejected;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;262:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;263:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;264:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;265:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;266:&lt;/span&gt;                      HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;267:&lt;/span&gt;                      status = MembershipCreateStatus.ProviderError;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;268:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;269:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;270:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; GetUser(username, &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;271:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;272:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;273:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;274:&lt;/span&gt;                  status = MembershipCreateStatus.DuplicateUserName;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;275:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;276:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;277:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;278:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;279:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;280:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; DeleteUser(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; deleteAllRelatedData)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;281:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;282:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;283:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;284:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; result = db.DeleteUser(username);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;285:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;286:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;287:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;288:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;289:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;290:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result == 0)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;291:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;292:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (deleteAllRelatedData)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;293:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;294:&lt;/span&gt;                          &lt;span style="color: rgb(0, 128, 0);"&gt;//Process commands to delete all data for the user in the database.&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;295:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;296:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;297:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;298:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;299:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;300:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;301:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;302:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;303:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;304:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;305:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;306:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;307:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;308:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;309:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;310:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUserCollection FindUsersByEmail(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; emailToMatch, &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageIndex, &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageSize, &lt;span style="color: rgb(0, 170, 255);"&gt;out&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; totalRecords)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;311:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;312:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;313:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;314:&lt;/span&gt;              FindUsersByEmailResult result = db.FindUsersByEmail(emailToMatch).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;315:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;316:&lt;/span&gt;              MembershipUserCollection membershipUsers = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUserCollection();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;317:&lt;/span&gt;              &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;318:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; counter = 0;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;319:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;320:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;321:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;322:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;323:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;324:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; startIndex = pageSize * pageIndex;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;325:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; endIndex = startIndex + pageSize - 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;326:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;327:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;while&lt;/span&gt; (result!=&lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;328:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;329:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (counter &amp;gt;= startIndex)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;330:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;331:&lt;/span&gt;                          MembershipUser membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUser(&lt;span style="color: rgb(0, 170, 255);"&gt;this&lt;/span&gt;.Name,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;332:&lt;/span&gt;                  result.Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;333:&lt;/span&gt;                  result.UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;334:&lt;/span&gt;                  result.Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;335:&lt;/span&gt;                  result.Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;336:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;337:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;338:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;339:&lt;/span&gt;                  result.RegisterDate,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;340:&lt;/span&gt;                  DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;341:&lt;/span&gt;                          membershipUsers.Add(membershipUser);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;342:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;343:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;344:&lt;/span&gt;                      counter += 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;345:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;346:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;347:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;348:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;349:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;350:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;351:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;352:&lt;/span&gt;              totalRecords = counter;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;353:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;354:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; membershipUsers;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;355:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;356:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;357:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;void&lt;/span&gt; InitDB()&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;358:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;359:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (db == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;360:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;361:&lt;/span&gt;                  db = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ShopMembershipDataContext();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;362:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;363:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;364:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;365:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUserCollection FindUsersByName(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; usernameToMatch, &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageIndex, &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageSize, &lt;span style="color: rgb(0, 170, 255);"&gt;out&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; totalRecords)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;366:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;367:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;368:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;369:&lt;/span&gt;              FindUsersByNameResult result = db.FindUsersByName(usernameToMatch).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;370:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;371:&lt;/span&gt;              MembershipUserCollection membershipUsers = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUserCollection();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;372:&lt;/span&gt;              &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;373:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; counter = 0;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;374:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;375:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;376:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;377:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;378:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;379:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; startIndex = pageSize * pageIndex;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;380:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; endIndex = startIndex + pageSize - 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;381:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;382:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;while&lt;/span&gt; (result != &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;383:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;384:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (counter &amp;gt;= startIndex)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;385:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;386:&lt;/span&gt;                          MembershipUser membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUser(&lt;span style="color: rgb(0, 170, 255);"&gt;this&lt;/span&gt;.Name,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;387:&lt;/span&gt;                  result.Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;388:&lt;/span&gt;                  result.UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;389:&lt;/span&gt;                  result.Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;390:&lt;/span&gt;                  result.Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;391:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;392:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;393:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;394:&lt;/span&gt;                  result.RegisterDate,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;395:&lt;/span&gt;                  DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;396:&lt;/span&gt;                          membershipUsers.Add(membershipUser);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;397:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;398:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;399:&lt;/span&gt;                      counter += 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;400:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;401:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;402:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;403:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;404:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;405:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;406:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;407:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;408:&lt;/span&gt;              totalRecords = counter;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;409:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;410:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; membershipUsers;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;411:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;412:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;413:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUserCollection GetAllUsers(&lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageIndex, &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; pageSize, &lt;span style="color: rgb(0, 170, 255);"&gt;out&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; totalRecords)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;414:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;415:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;416:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;417:&lt;/span&gt;              GetAllUsersResult result = db.GetAllUsers().FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;418:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;419:&lt;/span&gt;              MembershipUserCollection users = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUserCollection();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;420:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;421:&lt;/span&gt;              totalRecords = 0;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;422:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;423:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;424:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;425:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;426:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;427:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; counter = 0;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;428:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; startIndex = pageSize * pageIndex;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;429:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; endIndex = startIndex + pageSize - 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;430:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;431:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;while&lt;/span&gt; (result!=&lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;432:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;433:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (counter &amp;gt;= startIndex)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;434:&lt;/span&gt;                      {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;435:&lt;/span&gt;                          users.Add(&lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUser(&lt;span style="color: rgb(0, 170, 255);"&gt;this&lt;/span&gt;.Name,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;436:&lt;/span&gt;                  result.Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;437:&lt;/span&gt;                  result.UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;438:&lt;/span&gt;                  result.Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;439:&lt;/span&gt;                  result.Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;440:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;441:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;442:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;443:&lt;/span&gt;                  result.RegisterDate,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;444:&lt;/span&gt;                  DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;445:&lt;/span&gt;                      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;446:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;447:&lt;/span&gt;                      counter += 1;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;448:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;449:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;450:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;451:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;452:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;453:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;454:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;455:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; users;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;456:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;457:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;458:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; GetNumberOfUsersOnline()&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;459:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;460:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; NotImplementedException();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;461:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;462:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;463:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; GetPassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; answer)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;464:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;465:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (!EnablePasswordRetrieval)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;466:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;467:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Password Retrieval Not Enabled."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;468:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;469:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;470:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (PasswordFormat == MembershipPasswordFormat.Hashed)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;471:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;472:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Cannot retrieve Hashed passwords."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;473:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;474:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;475:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;476:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;477:&lt;/span&gt;              GetPasswordResult result = db.GetPassword(username).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;478:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;479:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password = String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;480:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; passwordAnswer = String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;481:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;482:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;483:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;484:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;485:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;486:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result!=&lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;487:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;488:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;489:&lt;/span&gt;                      password = result.Password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;490:&lt;/span&gt;                      passwordAnswer = result.Answer;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;491:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;492:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;493:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;494:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"The supplied user name is not found."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;495:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;496:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;497:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;498:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;499:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;500:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;501:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;502:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (RequiresQuestionAndAnswer &amp;amp;&amp;amp; !CheckPassword(answer, passwordAnswer))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;503:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;504:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Incorrect password answer."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;505:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;506:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;507:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (PasswordFormat == MembershipPasswordFormat.Encrypted)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;508:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;509:&lt;/span&gt;                  password = UnEncodePassword(password);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;510:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;511:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;512:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;513:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;514:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;515:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUser GetUser(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; userIsOnline)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;516:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;517:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;518:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;519:&lt;/span&gt;              GetUserResult result = db.GetUser(username).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;520:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;521:&lt;/span&gt;              MembershipUser membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;522:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;523:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;524:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;525:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;526:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;527:&lt;/span&gt;                  membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUser(&lt;span style="color: rgb(0, 170, 255);"&gt;this&lt;/span&gt;.Name,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;528:&lt;/span&gt;                  result.Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;529:&lt;/span&gt;                  result.UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;530:&lt;/span&gt;                  result.Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;531:&lt;/span&gt;                  result.Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;532:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;533:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;534:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;535:&lt;/span&gt;                  result.RegisterDate,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;536:&lt;/span&gt;                  DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;537:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;538:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;539:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;540:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;541:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;542:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;543:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;544:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; membershipUser;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;545:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;546:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;547:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; MembershipUser GetUser(&lt;span style="color: rgb(0, 170, 255);"&gt;object&lt;/span&gt; providerUserKey, &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; userIsOnline)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;548:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;549:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;550:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;551:&lt;/span&gt;              GetUserByUserIdResult result = db.GetUserByUserId((Guid)providerUserKey).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;552:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;553:&lt;/span&gt;              MembershipUser membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;554:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;555:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;556:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;557:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;558:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;559:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result!=&lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;560:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;561:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;562:&lt;/span&gt;                      membershipUser = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipUser(&lt;span style="color: rgb(0, 170, 255);"&gt;this&lt;/span&gt;.Name,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;563:&lt;/span&gt;                  result.Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;564:&lt;/span&gt;                  result.UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;565:&lt;/span&gt;                  result.Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;566:&lt;/span&gt;                  result.Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;567:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;568:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;569:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;570:&lt;/span&gt;                  result.RegisterDate,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;571:&lt;/span&gt;                  DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;572:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;573:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;574:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;575:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;576:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;577:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;578:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;579:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; membershipUser;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;580:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;581:&lt;/span&gt;          &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;582:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; GetUserNameByEmail(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; email)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;583:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;584:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;585:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;586:&lt;/span&gt;              GetUserNameByEmailResult result = db.GetUserNameByEmail(email).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;587:&lt;/span&gt;       &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;588:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username = String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;589:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;590:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;591:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;592:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;593:&lt;/span&gt;                  username = result.Email;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;594:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;595:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;596:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;597:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;598:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;599:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;600:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (username == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;601:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;602:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;603:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;604:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;605:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;606:&lt;/span&gt;                  username.Trim();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;607:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;608:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;609:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; username;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;610:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;611:&lt;/span&gt;         &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;612:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; ResetPassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; answer)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;613:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;614:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (!EnablePasswordReset)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;615:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;616:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; NotSupportedException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Password Reset is not enabled."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;617:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;618:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;619:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; ((answer == &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;) &amp;amp;&amp;amp; (RequiresQuestionAndAnswer))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;620:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;621:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;622:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Password answer required for password Reset."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;623:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;624:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;625:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; newPassword =&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;626:&lt;/span&gt;                System.Web.Security.Membership.GeneratePassword(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;627:&lt;/span&gt;                newPasswordLength,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;628:&lt;/span&gt;                MinRequiredNonAlphanumericCharacters&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;629:&lt;/span&gt;                );&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;630:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;631:&lt;/span&gt;              ValidatePasswordEventArgs args = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ValidatePasswordEventArgs(username, newPassword, &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;632:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;633:&lt;/span&gt;              OnValidatingPassword(args);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;634:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;635:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (args.Cancel)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;636:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;637:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (args.FailureInformation != &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;638:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;639:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; args.FailureInformation;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;640:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;641:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;642:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;643:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Reset password canceled due to password validation failure."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;644:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;645:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;646:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;647:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;648:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;649:&lt;/span&gt;              GetPasswordAnswerResult result = db.GetPasswordAnswer(username).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;650:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;651:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; rowsAffected = 0;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;652:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; passwordAnswer = String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;653:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;654:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;655:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;656:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;657:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;658:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result != &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;659:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;660:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;661:&lt;/span&gt;                      passwordAnswer = result.Answer;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;662:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;663:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;664:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;665:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"The supplied user name is not found."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;666:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;667:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;668:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (RequiresQuestionAndAnswer &amp;amp;&amp;amp; (!CheckPassword(answer, passwordAnswer)))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;669:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;670:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Incorrect password answer."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;671:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;672:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;673:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; updateResult = db.UpdatePassword(EncodePassword(newPassword), username);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;674:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;675:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;676:&lt;/span&gt;                  rowsAffected = updateResult;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;677:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;678:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;679:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;680:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;681:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;682:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;683:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (rowsAffected &amp;gt; 0)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;684:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;685:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; newPassword;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;686:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;687:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;688:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;689:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; MembershipPasswordException(&lt;span style="color: rgb(224, 85, 29);"&gt;"User not found, or user is locked out. Password not Reset."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;690:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;691:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;692:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;693:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; UnlockUser(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; userName)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;694:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;695:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; NotImplementedException();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;696:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;697:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;698:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;void&lt;/span&gt; UpdateUser(MembershipUser user)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;699:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;700:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;701:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;702:&lt;/span&gt;              db.UpdateUser(user.Email, user.UserName);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;703:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;704:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;705:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;706:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;707:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;708:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;709:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;710:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;711:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;712:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;713:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;714:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;override&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; ValidateUser(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; username, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;715:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;716:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; isValid = &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;717:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;718:&lt;/span&gt;              InitDB();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;719:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;720:&lt;/span&gt;              ValidateUserResult result = db.ValidateUser(username).FirstOrDefault();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;721:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;722:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; storedPassword = String.Empty;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;723:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;724:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;try&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;725:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;726:&lt;/span&gt;                  db.SubmitChanges();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;727:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;728:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (result != &lt;span style="color: rgb(0, 170, 255);"&gt;null&lt;/span&gt;)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;729:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;730:&lt;/span&gt;                      storedPassword = result.Password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;731:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;732:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;else&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;733:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;734:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;735:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;736:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;737:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (CheckPassword(password, storedPassword))&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;738:&lt;/span&gt;                  {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;739:&lt;/span&gt;                      isValid = &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;740:&lt;/span&gt;                  }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;741:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;742:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;catch&lt;/span&gt; (Exception e)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;743:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;744:&lt;/span&gt;                  HttpContext.Current.Response.Write(e.Message);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;745:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;746:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;747:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; isValid;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;748:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;749:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;750:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;bool&lt;/span&gt; CheckPassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password, &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; dbpassword)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;751:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;752:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; pass1 = password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;753:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; pass2 = dbpassword;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;754:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;755:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;switch&lt;/span&gt; (PasswordFormat)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;756:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;757:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Encrypted:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;758:&lt;/span&gt;                      pass2 = UnEncodePassword(dbpassword);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;759:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;760:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Hashed:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;761:&lt;/span&gt;                      pass1 = EncodePassword(password);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;762:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;763:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;764:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;765:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;766:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;767:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;if&lt;/span&gt; (pass1 == pass2)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;768:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;769:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;true&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;770:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;771:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;772:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;false&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;773:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;774:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;775:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; EncodePassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;776:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;777:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; encodedPassword = password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;778:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;779:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;switch&lt;/span&gt; (PasswordFormat)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;780:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;781:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Clear:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;782:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;783:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Encrypted:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;784:&lt;/span&gt;                      encodedPassword =&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;785:&lt;/span&gt;                        Convert.ToBase64String(EncryptPassword(Encoding.Unicode.GetBytes(password)));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;786:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;787:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Hashed:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;788:&lt;/span&gt;                      HMACSHA1 hash = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; HMACSHA1();&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;789:&lt;/span&gt;                      hash.Key = HexToByte(machineKey.ValidationKey);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;790:&lt;/span&gt;                      encodedPassword =&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;791:&lt;/span&gt;                        Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password)));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;792:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;793:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;794:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Unsupported password format."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;795:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;796:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;797:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; encodedPassword;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;798:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;799:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;800:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; UnEncodePassword(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; encodedPassword)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;801:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;802:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; password = encodedPassword;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;803:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;804:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;switch&lt;/span&gt; (PasswordFormat)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;805:&lt;/span&gt;              {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;806:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Clear:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;807:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;808:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Encrypted:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;809:&lt;/span&gt;                      password =&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;810:&lt;/span&gt;                        Encoding.Unicode.GetString(DecryptPassword(Convert.FromBase64String(password)));&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;811:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;break&lt;/span&gt;;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;812:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;case&lt;/span&gt; MembershipPasswordFormat.Hashed:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;813:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Cannot unencode a hashed password."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;814:&lt;/span&gt;                  &lt;span style="color: rgb(0, 170, 255);"&gt;default&lt;/span&gt;:&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;815:&lt;/span&gt;                      &lt;span style="color: rgb(0, 170, 255);"&gt;throw&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; ProviderException(&lt;span style="color: rgb(224, 85, 29);"&gt;"Unsupported password format."&lt;/span&gt;);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;816:&lt;/span&gt;              }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;817:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;818:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; password;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;819:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;820:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;821:&lt;/span&gt;          &lt;span style="color: rgb(0, 170, 255);"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;byte&lt;/span&gt;[] HexToByte(&lt;span style="color: rgb(0, 170, 255);"&gt;string&lt;/span&gt; hexString)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;822:&lt;/span&gt;          {&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;823:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;byte&lt;/span&gt;[] returnBytes = &lt;span style="color: rgb(0, 170, 255);"&gt;new&lt;/span&gt; &lt;span style="color: rgb(0, 170, 255);"&gt;byte&lt;/span&gt;[hexString.Length / 2];&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;824:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0, 170, 255);"&gt;int&lt;/span&gt; i = 0; i &amp;lt; returnBytes.Length; i++)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;825:&lt;/span&gt;                  returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;826:&lt;/span&gt;              &lt;span style="color: rgb(0, 170, 255);"&gt;return&lt;/span&gt; returnBytes;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;827:&lt;/span&gt;          }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;828:&lt;/span&gt;      }&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;829:&lt;/span&gt;  }&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;br /&gt;
The T-SQL code:&lt;br /&gt;
&lt;br /&gt;
&lt;!-- Code formatted with Procent.Samples: http://www.maciejaniserowicz.com/samples/CodeFormatter.aspx --&gt;
&lt;div id="code"&gt;
&lt;pre&gt;&lt;font size="4"&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  1:&lt;/span&gt;  USE DB&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  2:&lt;/span&gt;  GO&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  3:&lt;/span&gt;  SET ANSI_NULLS ON&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  4:&lt;/span&gt;  GO&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  5:&lt;/span&gt;  SET QUOTED_IDENTIFIER ON&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  6:&lt;/span&gt;  GO&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  7:&lt;/span&gt;  CREATE TABLE [dbo].[User](&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  8:&lt;/span&gt;  	[UserId] [uniqueidentifier] NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;  9:&lt;/span&gt;  	[Login] [nvarchar](150) COLLATE Polish_CI_AS NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 10:&lt;/span&gt;  	[Password] [nvarchar](max) COLLATE Polish_CI_AS NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 11:&lt;/span&gt;  	[Question] [nvarchar](255) COLLATE Polish_CI_AS NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 12:&lt;/span&gt;  	[Answer] [nvarchar](255) COLLATE Polish_CI_AS NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 13:&lt;/span&gt;  	[Email] [nvarchar](200) COLLATE Polish_CI_AS NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 14:&lt;/span&gt;  	[RegisterDate] [datetime] NOT NULL,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 15:&lt;/span&gt;   CONSTRAINT [PK_User] PRIMARY KEY CLUSTERED &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 16:&lt;/span&gt;  (&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 17:&lt;/span&gt;  	[UserId] ASC&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 18:&lt;/span&gt;  )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 19:&lt;/span&gt;  ) ON [PRIMARY]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 20:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 21:&lt;/span&gt;  create procedure ChangePassword(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 22:&lt;/span&gt;  	@login nvarchar(150),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 23:&lt;/span&gt;  	@password nvarchar(max)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 24:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 25:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 26:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 27:&lt;/span&gt;  		SET NOCOUNT ON;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 28:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 29:&lt;/span&gt;    Update [User] Set&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 30:&lt;/span&gt;    Password=@password&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 31:&lt;/span&gt;    Where &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 32:&lt;/span&gt;    [Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 33:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 34:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 35:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 36:&lt;/span&gt;  create procedure GetUser(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 37:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 38:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 39:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 40:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 41:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 42:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 43:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 44:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 45:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 46:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 47:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 48:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 49:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 50:&lt;/span&gt;  			[Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 51:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 52:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 53:&lt;/span&gt;  create procedure CreateUser(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 54:&lt;/span&gt;  			@UserId uniqueidentifier,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 55:&lt;/span&gt;  			@Login nvarchar(150),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 56:&lt;/span&gt;  			@Password nvarchar(MAX),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 57:&lt;/span&gt;  			@Question nvarchar(255),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 58:&lt;/span&gt;  			@Answer nvarchar(255),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 59:&lt;/span&gt;  			@Email nvarchar(200)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 60:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 61:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 62:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 63:&lt;/span&gt;  	SET NOCOUNT ON;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 64:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 65:&lt;/span&gt;  	insert into [User](	&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 66:&lt;/span&gt;  			UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 67:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 68:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 69:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 70:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 71:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 72:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 73:&lt;/span&gt;  	) values(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 74:&lt;/span&gt;  			@UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 75:&lt;/span&gt;  			@Login,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 76:&lt;/span&gt;  			@Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 77:&lt;/span&gt;  			@Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 78:&lt;/span&gt;  			@Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 79:&lt;/span&gt;  			@Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 80:&lt;/span&gt;  			getdate()&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 81:&lt;/span&gt;  	)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 82:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 83:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 84:&lt;/span&gt;  create procedure GetUserByUserId(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 85:&lt;/span&gt;  	@UserId uniqueidentifier&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 86:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 87:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 88:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 89:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 90:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 91:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 92:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 93:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 94:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 95:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 96:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 97:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt; &lt;br /&gt; 98:&lt;/span&gt;  			UserId=@UserId&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt; 99:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;100:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;101:&lt;/span&gt;  create procedure GetUserNameByEmail(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;102:&lt;/span&gt;  	@email nvarchar(200)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;103:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;104:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;105:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;106:&lt;/span&gt;  	set @email=@email+'%'&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;107:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;108:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;109:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;110:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;111:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;112:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;113:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;114:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;115:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;116:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;117:&lt;/span&gt;  			Email like @email&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;118:&lt;/span&gt;  	order By [Login] Asc&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;119:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;120:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;121:&lt;/span&gt;  create procedure ValidateUser(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;122:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;123:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;124:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;125:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;126:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	Password&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;127:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;128:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;129:&lt;/span&gt;  			[Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;130:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;131:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;132:&lt;/span&gt;  create procedure ChangePasswordQuestionAnswer(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;133:&lt;/span&gt;  	@question nvarchar(255),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;134:&lt;/span&gt;  	@answer nvarchar(255),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;135:&lt;/span&gt;  	@userName nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;136:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;137:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;138:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;139:&lt;/span&gt;  	&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;140:&lt;/span&gt;  	SET NOCOUNT ON;&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;141:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;142:&lt;/span&gt;    Update [User] Set&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;143:&lt;/span&gt;    Question=@question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;144:&lt;/span&gt;    Answer=@answer&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;145:&lt;/span&gt;    Where &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;146:&lt;/span&gt;    [Login]=@userName&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;147:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;148:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;149:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;150:&lt;/span&gt;  create procedure DeleteUser(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;151:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;152:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;153:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;154:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;155:&lt;/span&gt;  	 Delete [User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;156:&lt;/span&gt;    Where &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;157:&lt;/span&gt;    [Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;158:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;159:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;160:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;161:&lt;/span&gt;  create procedure GetAllUsers&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;162:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;163:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;164:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;165:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;166:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;167:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;168:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;169:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;170:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;171:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;172:&lt;/span&gt;  	order by [Login] asc&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;173:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;174:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;175:&lt;/span&gt;  create procedure GetPassword(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;176:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;177:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;178:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;179:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;180:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;181:&lt;/span&gt;  			Answer&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;182:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;183:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt;	[Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;184:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;185:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;186:&lt;/span&gt;  create procedure GetPasswordAnswer(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;187:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;188:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;189:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;190:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;191:&lt;/span&gt;  	Select	Answer&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;192:&lt;/span&gt;  	From	[User]  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;193:&lt;/span&gt;  	Where	[Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;194:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;195:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;196:&lt;/span&gt;  create procedure UpdateUser(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;197:&lt;/span&gt;  	@email nvarchar(200),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;198:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;199:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;200:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;201:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;202:&lt;/span&gt;  	Update	[User] &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;203:&lt;/span&gt;  	Set		Email=@email&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;204:&lt;/span&gt;  	Where	[Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;205:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;206:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;207:&lt;/span&gt;  create procedure FindUsersByName(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;208:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;209:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;210:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;211:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;212:&lt;/span&gt;  	Set @login=@login+'%'&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;213:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;214:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;215:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;216:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;217:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;218:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;219:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;220:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;221:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;222:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;223:&lt;/span&gt;  			[Login] like @login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;224:&lt;/span&gt;  	order by [Login] asc&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;225:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;226:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;227:&lt;/span&gt;  create procedure FindUsersByEmail(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;228:&lt;/span&gt;  	@email nvarchar(200)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;229:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;230:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;span style="color: rgb(43, 145, 175);"&gt;&lt;br /&gt;231:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;232:&lt;/span&gt;  	Set @email=@email+'%'&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;233:&lt;/span&gt;  &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;234:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;select&lt;/span&gt;	UserId,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;235:&lt;/span&gt;  			[Login],&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;236:&lt;/span&gt;  			Password,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;237:&lt;/span&gt;  			Question,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;238:&lt;/span&gt;  			Answer,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;239:&lt;/span&gt;  			Email,&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;240:&lt;/span&gt;  			RegisterDate&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;241:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;from&lt;/span&gt;	[User]&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;242:&lt;/span&gt;  	&lt;span style="color: rgb(0, 170, 255);"&gt;where&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;243:&lt;/span&gt;  			Email like @email&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;244:&lt;/span&gt;  	order by [Login] asc&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;245:&lt;/span&gt;  end&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;246:&lt;/span&gt;  go&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;247:&lt;/span&gt;  create procedure UpdatePassword(&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;248:&lt;/span&gt;  	@password nvarchar(MAX),&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;249:&lt;/span&gt;  	@login nvarchar(150)&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;250:&lt;/span&gt;  )&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;251:&lt;/span&gt;  &lt;span style="color: rgb(0, 170, 255);"&gt;as&lt;/span&gt; &lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;252:&lt;/span&gt;  begin&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;253:&lt;/span&gt;  	Update [User] Set&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;254:&lt;/span&gt;    [Password]=@password&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;255:&lt;/span&gt;    Where [Login]=@login&lt;br /&gt;&lt;span style="color: rgb(43, 145, 175);"&gt;256:&lt;/span&gt;  end&lt;/font&gt;&lt;br /&gt;&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136175"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136175" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/lszk/aggbug/136175.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/K0JkLEnBox4" height="1" width="1"/&gt;</description><dc:creator>Łukasz Kuryło</dc:creator><feedburner:origLink>http://geekswithblogs.net/lszk/archive/2009/11/10/writing-custom-membershipprovider-again.aspx</feedburner:origLink></item><item><title>Gabriel Schenker introduction to NHibernate and Fluent NHibernate.</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/so58U7gTw58/gabriel-schenker-introduction-to-nhibernate-and-fluent-nhibernate.aspx</link><pubDate>Tue, 10 Nov 2009 12:54:28 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/van/archive/2009/11/10/gabriel-schenker-introduction-to-nhibernate-and-fluent-nhibernate.aspx</guid><wfw:comment>http://geekswithblogs.net/van/comments/136172.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/van/comments/commentRss/136172.aspx</wfw:commentRss><comments>http://geekswithblogs.net/van/archive/2009/11/10/gabriel-schenker-introduction-to-nhibernate-and-fluent-nhibernate.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/van/services/trackbacks/136172.aspx</trackback:ping><source url="http://geekswithblogs.net/van/rss.aspx">Gabriel Schenker introduction to NHibernate and Fluent NHibernate.</source><description>&lt;p&gt;&lt;strong&gt;Topic      &lt;br /&gt;&lt;/strong&gt;I will present an introduction to NHibernate and Fluent NHibernate. This introduction will not only discuss NHibernate in isolation but show its usage embedded in a realistic yet simple WPF application. All aspects of how to setup, run and extend such an application will be discussed. An important focus will be put on the differences between testing and running the application.  &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Bio      &lt;br /&gt;&lt;/strong&gt;After receiving my Ph.D. of Physics at the Federal Institute of Technologies in Zurich, Switzerland, I worked for some time in building physics, and subsequently moved to behavioral science. Among other things, I was involved in training expert examiners of different industries in how to write and take exams that are fair and really test the relevant aspects of their profession.     &lt;br /&gt;In 1996, I started as an independent consultant, mentor, trainer and developer. In 2001, a partner and I founded a small software company. We have been writing customer specific software for all kinds of industries as well as for the government.     &lt;br /&gt;Since March 2009, I have been working as a senior software architect for TOPAZ Technologies in Austin, TX. I moved to Austin in October 2009. &lt;/p&gt;  &lt;p&gt;I have been working on the .NET platform in my professional work since 2000. I am the author of the NHibernate FAQ blog and am a member of "Los Techies". I have also published several articles on DotNetSlackers about NHibernate and Fluent NHibernate. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Times below are Central Standard Time      &lt;br /&gt;&lt;/strong&gt;Start Time: Wed, November 11, 2009 8:00 PM UTC/GMT -6 hours     &lt;br /&gt;End Time: Wed, November 11, 2009 10:00 PM UTC/GMT -6 hours     &lt;br /&gt;Attendee URL: &lt;a title="http://www.virtualaltnet.com/van" href="http://www.virtualaltnet.com/van"&gt;http://www.virtualaltnet.com/van&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136172"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136172" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/van/aggbug/136172.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/so58U7gTw58" height="1" width="1"/&gt;</description><dc:creator>van</dc:creator><feedburner:origLink>http://geekswithblogs.net/van/archive/2009/11/10/gabriel-schenker-introduction-to-nhibernate-and-fluent-nhibernate.aspx</feedburner:origLink></item><item><title>Microsoft Releases New Facebook SDK Version (v 3.0)</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/z_qee-CXiiE/microsoft-releases-new-facebook-sdk-version-v-3.0.aspx</link><pubDate>Tue, 10 Nov 2009 05:59:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Mohamed/archive/2009/11/10/microsoft-releases-new-facebook-sdk-version-v-3.0.aspx</guid><wfw:comment>http://geekswithblogs.net/Mohamed/comments/136171.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Mohamed/comments/commentRss/136171.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Mohamed/archive/2009/11/10/microsoft-releases-new-facebook-sdk-version-v-3.0.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Mohamed/services/trackbacks/136171.aspx</trackback:ping><source url="http://geekswithblogs.net/Mohamed/rss.aspx">Microsoft Releases New Facebook SDK Version (v 3.0)</source><description>&lt;p&gt;&lt;img style="border-right-width: 0px; margin: 0px 0px 7px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://weblogs.asp.net/blogs/meligy/image_1EA25F0C.png" width="178" height="212" /&gt;Microsoft has released a new Facebook SDK Version 3.0 (other than their old not-so-great one) and it looks to have not just updated APIs but also wide range of features supported in many application types.&lt;/p&gt;  &lt;p&gt;Quoting a related blog post from c|net “The web services report” blog:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://news.cnet.com/8301-13515_3-10393823-26.html"&gt;http://news.cnet.com/8301-13515_3-10393823-26.html&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;i&gt;&lt;a href="http://team.silverlight.net/announcement/announcing-the-new-microsoft-sdk-for-facebook-platform/"&gt;Microsoft on Monday released a software development kit for Facebook&lt;/a&gt; that allows developers to &lt;a href="http://developers.facebook.com/news.php?blog=1&amp;amp;story=334"&gt;create Facebook applications for Silverlight and Windows Presentation Foundation&lt;/a&gt;. This should expand the reach of Facebook in third-party applications as well as make Silverlight and WPF more viable platforms for developers looking to build social applications.&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;&lt;a href="http://weblogs.asp.net/blogs/meligy/clip_image001_58EDAF20.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://weblogs.asp.net/blogs/meligy/clip_image001_thumb_69197719.jpg" width="244" height="100" /&gt;&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;A screenshot showing off the NewsFeed control for WPF.&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;(Credit: &lt;a href="http://team.silverlight.net/announcement/announcing-the-new-microsoft-sdk-for-facebook-platform/"&gt;The Silverlight Team Blog&lt;/a&gt;) &lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;The SDK comes complete with samples and tools to develop Facebook applications in ASP.NET, Silverlight, WPF, and WinForms. It also features the source code for the API, components, controls, and samples.&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;There are currently other libraries available that allow Facebook developers to develop with other technologies, such as &lt;a href="http://wiki.developers.facebook.com/index.php/JavaScript_Client_Library"&gt;JavaScript&lt;/a&gt;, &lt;a href="http://wiki.developers.facebook.com/index.php/PHP"&gt;PHP&lt;/a&gt;, &lt;a href="http://wiki.developers.facebook.com/index.php/Flash/ActionScript"&gt;ActionScript&lt;/a&gt;, and the &lt;a href="http://wiki.developers.facebook.com/index.php/Facebook_Connect_for_iPhone"&gt;iPhone&lt;/a&gt;. There are a variety of others as well, which can be seen &lt;a href="http://wiki.developers.facebook.com/index.php/Client_Libraries"&gt;here&lt;/a&gt;, but these are the ones that Facebook officially provides support for. &lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;Microsoft, as you may remember, &lt;a href="http://news.cnet.com/8301-13577_3-9803872-36.html"&gt;invested $240 million in Facebook&lt;/a&gt; back in October 2007. Many called this move more of a strategic play to keep Google and Yahoo from getting a stake in the company. The release of this SDK is a part of Facebook and Microsoft's ongoing partnership.&lt;/i&gt;&lt;/p&gt;    &lt;p&gt;&lt;i&gt;If you're interested in taking a look, you can download the SDK &lt;a href="http://msdn.microsoft.com/en-us/windows/ee388574.aspx"&gt;here&lt;/a&gt;.&lt;/i&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;h3 align="center"&gt;Check out the SDK Overview at:&lt;/h3&gt;  &lt;h3 align="center"&gt;&lt;a href="http://www.microsoft.com/facebooksdk"&gt;www.microsoft.com/facebooksdk&lt;/a&gt;&lt;/h3&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Quoting from homepage:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The toolkit is comprised of the following core assemblies:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;strong&gt;Facebook.dll&lt;/strong&gt;: This is the main assembly that will be used by all applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications (Silverlight and WPF) to enhance the Facebook platform to make databinding and data caching easier. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Facebook.Silverlight.dll&lt;/strong&gt;: This is the Silverlight version of the main assembly that will be used by all Silverlight applications. This has all the logic to handle communication with the Facebook application. This assembly also has specific support of XAML applications to enhance the Facebook platform to make databinding and data caching easier. The REST API in this assembly is Asynchronous only. &lt;/li&gt;      &lt;li&gt;&lt;strong&gt;Facebook.Web.dll&lt;/strong&gt;: This assembly should be used by Canvas applications. The main functionality supported in this assembly is to encapsulate the handshake between the Facebook application and a canvas application (both FBML and IFrame) &lt;/li&gt;      &lt;li&gt;&lt;font face="ver"&gt;&lt;strong&gt;Facebook.Web.Mvc.dll&lt;/strong&gt;: Provide a support building canvas applications using ASP.NET MVC. Separated from Facebook.Web.dll to avoid all developers from needing to install the MVC bits. &lt;/font&gt;&lt;/li&gt;      &lt;li&gt;&lt;font face="ver"&gt;&lt;strong&gt;Facebook.Winforms.dll&lt;/strong&gt;: This assembly provides support for writing Facebook applications using Winform technology. This provides a Component that wraps the API to make it easier to use from Winforms. This also contains some user controls to help display Facebook data easily.&lt;/font&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;font face="ver"&gt;To get started we recommend you download the SDK and refer to the "How to" guides and the Facebook Developer Wiki to get familiar with these new resources.&lt;/font&gt;&lt;/p&gt;    &lt;ol&gt;     &lt;li&gt;&lt;a href="http://facebooktoolkit.codeplex.com/"&gt;Download the SDK&lt;/a&gt;. &lt;/li&gt;      &lt;li&gt;Refer to the detailed instructions on the Facebook Developer Wiki. Here are some important links to use as a starting point.        &lt;ul&gt;         &lt;li&gt;&lt;a href="http://wiki.developers.facebook.com/index.php/Anatomy_of_a_Facebook_App"&gt;Anatomy_of_a_Facebook_App&lt;/a&gt; &lt;/li&gt;          &lt;li&gt;&lt;a href="http://wiki.developers.facebook.com/index.php/Platform_Core_Components"&gt;Platform_Core_Components&lt;/a&gt; &lt;/li&gt;          &lt;li&gt;&lt;a href="http://wiki.developers.facebook.com/index.php/How-to_Guides"&gt;How-to_Guides&lt;/a&gt; &lt;/li&gt;          &lt;li&gt;&lt;a href="http://wiki.developers.facebook.com/index.php/Creating_a_Platform_Application"&gt;Creating_a_Platform_Application&lt;/a&gt; &lt;/li&gt;       &lt;/ul&gt;     &lt;/li&gt;   &lt;/ol&gt;    &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/bb895876.aspx"&gt;Facebook SDK Version 3.0 Notes&lt;/a&gt;&lt;/p&gt;    &lt;h5&gt;ASP.NET Development&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee376934.aspx"&gt;Canvas Development&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee702803.aspx"&gt;Facebook Connect&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee695850.aspx"&gt;FBML Canvas&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee695841.aspx"&gt;IFrame Canvas&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee376924.aspx"&gt;Overview of ASP.NET Development&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;ToolKit Content Folder&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee702803.aspx"&gt;Facebook Connect&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee695850.aspx"&gt;FBML Canvas&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee695841.aspx"&gt;IFrame Canvas&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;Facebook Platform&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/cc895481.aspx"&gt;Facebook Platform&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee384381.aspx"&gt;REST API&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt;    &lt;h5&gt;Other Platforms&lt;/h5&gt;    &lt;ul&gt;     &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee395718.aspx"&gt;Silverlight&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/dd277870.aspx"&gt;WinForm&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windows/ee695840.aspx"&gt;WPF&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt; &lt;/blockquote&gt;  &lt;p&gt;Have fun,&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&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:2654b1da-c9ca-42ed-b979-45f18f3a501b" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Facebook" rel="tag"&gt;Facebook&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+News" rel="tag"&gt;Microsoft News&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Developers" rel="tag"&gt;Developers&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Applications" rel="tag"&gt;Applications&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SDK" rel="tag"&gt;SDK&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;&lt;p align="center"&gt;&lt;b&gt;Cross posted from &lt;a href="http://weblogs.asp.net/meligy/default.aspx"&gt;weblogs.asp.net/meligy&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136171"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136171" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Mohamed/aggbug/136171.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/z_qee-CXiiE" height="1" width="1"/&gt;</description><dc:creator>Mohamed Meligy</dc:creator><feedburner:origLink>http://geekswithblogs.net/Mohamed/archive/2009/11/10/microsoft-releases-new-facebook-sdk-version-v-3.0.aspx</feedburner:origLink></item><item><title>Delegate in anonymous type</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/7ThfSx8B7Ac/delegate-in-anonymous-type.aspx</link><pubDate>Tue, 10 Nov 2009 12:42:38 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/argot/archive/2009/11/10/delegate-in-anonymous-type.aspx</guid><wfw:comment>http://geekswithblogs.net/argot/comments/136169.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/argot/comments/commentRss/136169.aspx</wfw:commentRss><comments>http://geekswithblogs.net/argot/archive/2009/11/10/delegate-in-anonymous-type.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/argot/services/trackbacks/136169.aspx</trackback:ping><source url="http://geekswithblogs.net/argot/rss.aspx">Delegate in anonymous type</source><description>&lt;p&gt;&lt;font size="3"&gt;We all know the usage of the anonymous type:&lt;/font&gt;&lt;/p&gt;
&lt;div style="MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="LINE-HEIGHT: 115%; COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="LINE-HEIGHT: 115%; FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24 };&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;font size="3"&gt;What if we want to add a anonymous delegate or Lamba to it?&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;Like:&lt;/font&gt;&lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24, behaviour=&lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age) { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age; } };&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;font size="3"&gt;or&lt;/font&gt; &lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24, behaviour = (name, age) =&amp;gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Format( &lt;span style="COLOR: #a31515"&gt;"Hello, {0}! You are {1} years old."&lt;/span&gt;, name, age ) };&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;font size="3" face=""&gt;The above two will cause compile time error, because anonymous type need anonymous type property, not the anonymous method or lambda expression.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;There is some way to do it:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;1. define a Func:&lt;/font&gt;&lt;font face=""&gt;&lt;span style="COLOR: #2b91af; FONT-SIZE: 10pt"&gt;&lt;span style="COLOR: #2b91af; FONT-SIZE: 10pt"&gt;&lt;span style="COLOR: #2b91af; FONT-SIZE: 10pt"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: #2b91af; FONT-SIZE: 10pt"&gt;Func&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&amp;gt; behav =&lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;               &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            };&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;then we can do it:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; {Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24, behaviour = behav };&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;2. declare a delegate:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;delegate&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;behav&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age);&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;then we can do:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24, behaviour = (&lt;span style="COLOR: #2b91af"&gt;behav&lt;/span&gt;)&lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age) { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age; } };&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3" face=""&gt;or&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;var&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; obj = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { Name = &lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, Age = 24, behaviour = (&lt;span style="COLOR: #2b91af"&gt;behav&lt;/span&gt;)((name, age) =&amp;gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #a31515"&gt;"Hello, {0}! You are {1} years old."&lt;/span&gt;, name, age)) };&lt;/span&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;This is the demonstration only, if we want to use &lt;font face=""&gt;IEnumerable&amp;lt;AnonymousType&amp;gt;, as anonymous type can only be cast as object, there is article &lt;a href="http://mikehadlow.blogspot.com/2008/04/extension-properties-for-easy.html"&gt;here&lt;/a&gt; to describe how to use it. Here is another solution:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font size="3"&gt;&lt;font face=""&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;class&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;&amp;lt;TName, TAge, TBehaviour&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;&amp;gt; Collection { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Foo()&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        Collection = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; AddValue(TName name, TAge age, TBehaviour func)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;strong&gt;&lt;span style="COLOR: blue"&gt;var&lt;/span&gt; cust = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { CustomerName = name, Customerage = age, Behaviour = func };&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        Collection.Add(cust);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;static&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; T Cast&amp;lt;T&amp;gt;(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; obj, T type)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (T)obj;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;static&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&amp;gt; behav =&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; _foo = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&amp;gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, 24, behav);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"Tom"&lt;/span&gt;, 26, &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age) { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age; });&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"Tim"&lt;/span&gt;, 30, (name, age) =&amp;gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #a31515"&gt;"Hello, {0}! You are {1} years old."&lt;/span&gt;, name, age));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; typeinfo = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { CustomerName = &lt;span style="COLOR: #a31515"&gt;""&lt;/span&gt;, Customerage = 0, Behaviour = behav };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    &lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;var&lt;/span&gt; customer &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; _foo.Collection)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; typed = Cast(customer, typeinfo);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(typed.Behaviour(typed.CustomerName, typed.Customerage));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;}
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;font face=""&gt;Otherwise we can do it without anonymous type as below:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt; &lt;/font&gt; &lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 10pt"&gt;        public&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Customer&lt;/span&gt;&amp;lt;TCustomerName, TCustomerAge, TFunction&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; TCustomerName CustomerName { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; TCustomerAge Customerage { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; TFunction Behaviour { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;&amp;lt;TName, TAge, TBehaviour&amp;gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Customer&lt;/span&gt;&amp;lt;TName, TAge, TBehaviour&amp;gt;&amp;gt; Collection { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Foo()&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;                Collection = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: #2b91af"&gt;Customer&lt;/span&gt;&amp;lt;TName, TAge, TBehaviour&amp;gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; AddValue(TName name, TAge age, TBehaviour func)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;                &lt;strong&gt;&lt;span style="COLOR: blue"&gt;var&lt;/span&gt; cust = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Customer&lt;/span&gt;&amp;lt;TName, TAge, TBehaviour&amp;gt;&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;strong&gt;                    {CustomerName = name, Customerage = age, Behaviour = func};&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;                Collection.Add(cust);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        &lt;span style="COLOR: blue"&gt;static&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&amp;gt; behav =&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;                &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; _foo = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;&amp;gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, 24, behav);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"Tom"&lt;/span&gt;, 26, &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;int&lt;/span&gt; age) { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age; });&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"Tim"&lt;/span&gt;, 30, (name, age) =&amp;gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #a31515"&gt;"Hello, {0}! You are {1} years old."&lt;/span&gt;, name, age));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;            &lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;var&lt;/span&gt; customer &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; _foo.Collection)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;                &lt;span style="COLOR: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(customer.Behaviour(customer.CustomerName, customer.Customerage));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;        }&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt"&gt; &lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;In .Net 4.0, you even can do it more flexible by using dynamic type:&lt;/p&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 9.5pt"&gt;class&lt;/span&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;&amp;gt; Collection { &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;; }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; Foo()&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        Collection = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;object&lt;/span&gt;&amp;gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; AddValue(&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; age, &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;&amp;gt; func)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; cust = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { CustomerName = name, Customerage = age, Behaviour = func };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        Collection.Add(cust);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 9.5pt"&gt;static&lt;/span&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt; T Cast&amp;lt;T&amp;gt;(&lt;span style="COLOR: blue"&gt;object&lt;/span&gt; obj, T type)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (T)obj;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="COLOR: blue; FONT-SIZE: 9.5pt"&gt;static&lt;/span&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; Main(&lt;span style="COLOR: blue"&gt;string&lt;/span&gt;[] args)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;{&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: #2b91af"&gt;Func&lt;/span&gt;&amp;lt;&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;&amp;gt; behav =&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; age)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age;&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; _foo = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: #2b91af"&gt;Foo&lt;/span&gt;();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt; &lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    _foo.AddValue(&lt;span style="COLOR: #a31515"&gt;"John"&lt;/span&gt;, &lt;span style="COLOR: brown"&gt;24&lt;/span&gt;, behav);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    _foo.AddValue(&lt;strong&gt;&lt;u&gt;&lt;span style="COLOR: #2b91af"&gt;DateTime&lt;/span&gt;.Now&lt;/u&gt;&lt;/strong&gt;, &lt;span style="COLOR: brown"&gt;26&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;delegate&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; name, &lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt; age) { &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: #a31515"&gt;"Customer Name: "&lt;/span&gt; + name + &lt;span style="COLOR: #a31515"&gt;", Age: "&lt;/span&gt; + age; });&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    _foo.AddValue(&lt;strong&gt;&lt;u&gt;&lt;span style="COLOR: #2b91af"&gt;Int32&lt;/span&gt;.MaxValue&lt;/u&gt;&lt;/strong&gt;, &lt;span style="COLOR: brown"&gt;30&lt;/span&gt;, (name, age) =&amp;gt; &lt;span style="COLOR: blue"&gt;string&lt;/span&gt;.Format(&lt;span style="COLOR: #a31515"&gt;"Hello, {0}! You are {1} years old."&lt;/span&gt;, name, age));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; typeinfo = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; { CustomerName = (&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;)&lt;span style="COLOR: #a31515"&gt;""&lt;/span&gt;, Customerage = (&lt;span style="COLOR: blue"&gt;dynamic&lt;/span&gt;)&lt;span style="COLOR: brown"&gt;0&lt;/span&gt;, Behaviour = behav };&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: blue"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;var&lt;/span&gt; customer &lt;span style="COLOR: blue"&gt;in&lt;/span&gt; _foo.Collection)&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    {&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        &lt;span style="COLOR: blue"&gt;var&lt;/span&gt; typed = Cast(customer, typeinfo);&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;        &lt;span style="COLOR: #2b91af"&gt;Console&lt;/span&gt;.WriteLine(typed.Behaviour(typed.CustomerName, typed.Customerage));&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    }&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;    &lt;span style="COLOR: #2b91af"&gt;Console&lt;/span&gt;.Read();&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal"&gt;&lt;span style="FONT-SIZE: 9.5pt"&gt;}&lt;/span&gt;&lt;/div&gt;
&lt;div style="LINE-HEIGHT: normal; MARGIN: 0cm 0cm 10pt"&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;code&gt;&lt;/code&gt;&lt;/span&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136169"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136169" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/argot/aggbug/136169.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/7ThfSx8B7Ac" height="1" width="1"/&gt;</description><dc:creator>argot</dc:creator><feedburner:origLink>http://geekswithblogs.net/argot/archive/2009/11/10/delegate-in-anonymous-type.aspx</feedburner:origLink></item><item><title>To pause one and start another&amp;hellip;</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/yEbdfDIQx7I/to-pause-one-and-start-anotherhellip.aspx</link><pubDate>Tue, 10 Nov 2009 00:59:13 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/raylinder/archive/2009/11/09/to-pause-one-and-start-anotherhellip.aspx</guid><wfw:comment>http://geekswithblogs.net/raylinder/comments/136168.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/raylinder/comments/commentRss/136168.aspx</wfw:commentRss><comments>http://geekswithblogs.net/raylinder/archive/2009/11/09/to-pause-one-and-start-anotherhellip.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/raylinder/services/trackbacks/136168.aspx</trackback:ping><source url="http://geekswithblogs.net/raylinder/rss.aspx">To pause one and start another&amp;hellip;</source><description>&lt;p&gt;This Friday, I’ll may have to stop a project due to limited funding. This web project is for a client who ran into a budget freeze (assumed) and haven’t been able to financially support the project until further notice. But that’s ok, most of the project is completed and they’ll have a very nice website with a web-based intranet all built in ASP.NET MVC 2 Preview 2.   &lt;br /&gt;    &lt;br /&gt;So, until funds start flowing, I’ve decided to start a new rebuild of &lt;a href="http://www.Glacsy.com" target="_blank"&gt;&lt;a href="http://www.Glacsy.com" target="_blank"&gt;Glacsy.com&lt;/a&gt;.&lt;/a&gt; Yes, another rebuild. But this time, it’ll be built in pure ASP.NET MVC 2 also. Along with that, it’ll be the first and only website built in ASP.NET MVC 2. I’ll be including various jQuery plugins, exercising DataAnnotations, and dumping as much features and eye candy as possible (but not too much). I’m doing this to truly test the extensibility of ASP.NET MVC 2 and prove that it-can-be-done-in-MVC-two!!!    &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://www.Glacsy.com" target="_blank"&gt;&lt;a href="http://www.Glacsy.com" target="_blank"&gt;Glacsy.com&lt;/a&gt;&lt;/a&gt; will keep the current layout &amp;amp; design, but the under pins will be powered by ASP.NET MVC 2. &lt;a href="http://www.Glacsy.com" target="_blank"&gt;&lt;a href="http://www.Glacsy.com" target="_blank"&gt;Glacsy.com&lt;/a&gt; will&lt;/a&gt; be a webfarm of 6 tightly integrated websites. So, let the excitement begin… ;P&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136168"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136168" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/raylinder/aggbug/136168.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/yEbdfDIQx7I" height="1" width="1"/&gt;</description><dc:creator>Ray Linder</dc:creator><feedburner:origLink>http://geekswithblogs.net/raylinder/archive/2009/11/09/to-pause-one-and-start-anotherhellip.aspx</feedburner:origLink></item><item><title>Exposing the Internals of a Project to Another Unit Testing Project</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Jhi8ZETDL3o/exposing-the-internals-of-a-project-to-another-unit-testing.aspx</link><pubDate>Mon, 09 Nov 2009 23:39:14 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/robertbunn/archive/2009/11/09/exposing-the-internals-of-a-project-to-another-unit-testing.aspx</guid><wfw:comment>http://geekswithblogs.net/robertbunn/comments/136167.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/robertbunn/comments/commentRss/136167.aspx</wfw:commentRss><comments>http://geekswithblogs.net/robertbunn/archive/2009/11/09/exposing-the-internals-of-a-project-to-another-unit-testing.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/robertbunn/services/trackbacks/136167.aspx</trackback:ping><source url="http://geekswithblogs.net/robertbunn/rss.aspx">Exposing the Internals of a Project to Another Unit Testing Project</source><description>     I have two projects one is production code (called Main), the other is a unit test project to test the real production code (called Main.Test).  Both Main and Main.Test are signed with a strong name key.  To expose the internal stuff to the Main.Test project we have to add an item at the bottom of the AssemblyInfo.cs class (in Main, not Main.Test) which looks similar to this:&lt;br /&gt;
&lt;br /&gt;
(Note:  Names and Public Keys have been changed to protect the innocent, and semi-innocent)&lt;br /&gt;
&lt;br /&gt;
[assembly: System.Runtime.CompilerServices.InternalsVisibleTo("Main.Test, PublicKey=1028000004800030940000100602000000240000525341310004&lt;br /&gt;
0000010001001312297cb7c20cfb40f4efef6e5e96dcf84fa46db61b43b2bf65cf&lt;br /&gt;
49d547d6a5f14ef07f54d6313b39b10ae631e158748b39e2ab4c816b0753f2a&lt;br /&gt;
432160dddf06a1a7170d7ab6e4df081784da7a08b37a3a8a47b722ed6cf6c1c&lt;br /&gt;
f6896bc709f805a8087a758156171b7deb74a2ded23ce55688f9b2a67bfeedf1&lt;br /&gt;
081496da76f4")]&lt;br /&gt;
&lt;br /&gt;
Now you may be thinking to yourself:  "That's great bob, but how in the hell did you get this value for the public key in the first place?"&lt;br /&gt;
&lt;br /&gt;
Good question!  Here is the answer:&lt;br /&gt;
&lt;br /&gt;
1.  Open a visual studio command prompt and enter this command:&lt;br /&gt;
&lt;br /&gt;
(This is using Visual Studio 2008)&lt;br /&gt;
C:\Program Files\Microsoft Visual Studio 9.0\VC&amp;gt;sn -p "[RestOfPath]\Main.Test\MainProjectStrongNameKey.snk" "[RestOfPath]\Main.Test\MainProjectStrongNameKey.publickey"&lt;br /&gt;
&lt;br /&gt;
2.  You should then get a message that says "Public key written blah blah blah".&lt;br /&gt;
&lt;br /&gt;
3.  Now in the same command window, enter this command:&lt;br /&gt;
&lt;br /&gt;
C:\Program Files\Microsoft Visual Studio 9.0\VC&amp;gt;sn -tp "[RestOfPath]\Main.Test\MainProjectStrongNameKey.publickey"&lt;br /&gt;
&lt;br /&gt;
Now the command line should spit out the long public key, which you can then use like I did above.  Now you can test your internal members in the Main project from the Main.Test project&lt;br /&gt;
&lt;br /&gt;
Happy testing!&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136167"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136167" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/robertbunn/aggbug/136167.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Jhi8ZETDL3o" height="1" width="1"/&gt;</description><dc:creator>robertbunn</dc:creator><feedburner:origLink>http://geekswithblogs.net/robertbunn/archive/2009/11/09/exposing-the-internals-of-a-project-to-another-unit-testing.aspx</feedburner:origLink></item><item><title>Error Handling in ASP.NET MVC 1 [Part 2 of 2]</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/ao3j_-uY4Qc/error-handling-in-asp.net-mvc-1-part-2-of-2.aspx</link><pubDate>Mon, 09 Nov 2009 23:38:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/SanjayU/archive/2009/11/09/error-handling-in-asp.net-mvc-1-part-2-of-2.aspx</guid><wfw:comment>http://geekswithblogs.net/SanjayU/comments/136166.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/SanjayU/comments/commentRss/136166.aspx</wfw:commentRss><comments>http://geekswithblogs.net/SanjayU/archive/2009/11/09/error-handling-in-asp.net-mvc-1-part-2-of-2.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/SanjayU/services/trackbacks/136166.aspx</trackback:ping><source url="http://geekswithblogs.net/SanjayU/rss.aspx">Error Handling in ASP.NET MVC 1 [Part 2 of 2]</source><description>&lt;p&gt;In the &lt;a href="http://geekswithblogs.net/SanjayU/archive/2009/11/06/error-handling-in-asp.net-mvc-1-1-of-a-3.aspx" target="_blank"&gt;first post&lt;/a&gt; in this series, I provided a little info on the HandleError attribute in MVC 1.  In case you don’t want to flip back, the HandleError attribute can decorate a method or a class and will push your users to a generic errors view provided customErrors is “On” or “RemoteOnly”.  There’s a little more to it, but that’s all the background we need for this post.&lt;/p&gt;  &lt;p&gt;The out-of-the-box HandleError attribute works well, until you’re in a scenario where you need to do more than hide your errors.  Typically, you may want to do some logging or fire-off some alerts.  Now, as luck should have it, I did some searching before writing this up and Danny Tuppeny already has a &lt;a href="http://blog.dantup.me.uk/2009/04/aspnet-mvc-handleerror-attribute-custom.html" target="_blank"&gt;great post&lt;/a&gt; on this very subject…I encourage you to take a peak at his post, as I’ve provided a very high-level, yet functional summary below.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The facts are these…&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- System.Web.Mvc.Controller contains an OnException method that gets fired when an exception occurs [provided custom errors are On/RemoteOnly in the web.config]&lt;/p&gt;  &lt;p&gt;- The OnException method can easily be overridden, allowing you to either completely change behavior or add behavior (by calling base.OnException)&lt;/p&gt;  &lt;p&gt;- This method will fire &lt;em&gt;&lt;strong&gt;regardless&lt;/strong&gt; of whether your class or method is decorated with HandleError&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;This means that your could will look like this:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web.Mvc;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; MvcErrorHandling.Controllers&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; ControllerBase : System.Web.Mvc.Controller&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;override&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; OnException(ExceptionContext filterContext)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;         {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//Do whatever stuff you'd like&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;             DoSomeOtherStuff();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//Displays a friendly error, doesn't require HandleError&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;             filterContext.ExceptionHandled = &lt;span style="color: #0000ff"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.View(&lt;span style="color: #006080"&gt;"Error"&lt;/span&gt;).ExecuteResult(&lt;span style="color: #0000ff"&gt;this&lt;/span&gt;.ControllerContext);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;             &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//Displays a friendly error, *requires* HandlError&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;             &lt;span style="color: #008000"&gt;//base.OnException(filterContext);&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt;         }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; DoSomeOtherStuff() { &lt;span style="color: #008000"&gt;/* brevity */&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;     }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;To get the above code to work you’d simply make your controller inherit from ControllerBase.  Of course, you’d likely have additional utility-methods in this class that you’d need in multiple controllers.  &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;Lines 17 and 18 can be used to push the user to your error view after you execute the DoSomeOtherStuff() method – this &lt;em&gt;would not require &lt;/em&gt;the HandleError attribute.  Alternatively, you can execute System.Web.Mvc.Controller’s OnException by calling it explicitly as it’s done on line 21.  In this case, the HandleError would be required to push your use down the custom-error path you’ve got configured.  &lt;/p&gt;

&lt;p&gt;And that’s pretty much all there is to centralizing &amp;amp; customizing your error-handling in MVC 1.  &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:c3f8beaf-a7d3-4f00-9829-b8d38b8df139" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MVC" rel="tag"&gt;MVC&lt;/a&gt;,&lt;a href="http://technorati.com/tags/c%23" rel="tag"&gt;c#&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136166"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136166" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/SanjayU/aggbug/136166.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/ao3j_-uY4Qc" height="1" width="1"/&gt;</description><dc:creator>Sanjay</dc:creator><feedburner:origLink>http://geekswithblogs.net/SanjayU/archive/2009/11/09/error-handling-in-asp.net-mvc-1-part-2-of-2.aspx</feedburner:origLink></item><item><title>Kayaking on the Deep River</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/uNAPbyf50ng/kayaking-on-the-deep-river.aspx</link><pubDate>Mon, 09 Nov 2009 22:42:21 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Lance/archive/2009/11/09/kayaking-on-the-deep-river.aspx</guid><wfw:comment>http://geekswithblogs.net/Lance/comments/136165.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/136165.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Lance/archive/2009/11/09/kayaking-on-the-deep-river.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/136165.aspx</trackback:ping><source url="http://geekswithblogs.net/Lance/rss.aspx">Kayaking on the Deep River</source><description>If you know of a better place to take-out of the Deep River at US1, I’d appreciate a note here.  :)  Yesterday, my buddy Blake and I went out on a kayak adventure on the Deep River.  “Kayak”, because we took kayaks with us.  “Adventure” because it was very loosely planned and we figured if we ran into any trouble we’d just figure it out and deal with it.  Turned out we did run into some trouble and we did deal with it!  It was a ton of fun!  &lt;a href="http://www.flickr.com/photos/lmrobins/sets/72157622768632698/"&gt;&lt;img style="border-right-width: 0px; margin: 10px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="iPhone 007" border="0" alt="iPhone 007" align="left" src="http://farm3.static.flickr.com/2684/4090168508_68bb2e73a5_m_d.jpg" width="244" height="184" /&gt;&lt;/a&gt; We knew there was a take-out spot somewhere near the US1 bridge over the Deep River in Chatham County, and we knew there was a put-in spot somewhere near the 15-501 bridge (roughly 7 miles up river).  Unfortunately we couldn’t find an obvious take-out spot…there was one place, but it was below a spillway, and neither of us thought it would be fun to kayak over the spillway.  :)  We ended up driving around searching, but never found a place.  Finally we just decided we’d take-out before the spillway and drag the kayaks out the rest of the way (adventure #1).  Problem was…we’d spend so much time searching that now it was late enough in the day to worry about darkness.  We decided that we could make our way through the woods down the river in the dark with a mini-maglight that Blake had in his car (adventure #2).  :)  &lt;p&gt;With a plan in mind, we put in and headed down the river.  This section of the Deep River is wide, shallow (hah), slow, and rocky.  The river was beautiful, we saw ducks, cool birds, and a river otter that barely escaped our cameras.  It was a slow and steady paddle, with a few minor fast parts that were unfortunately slowed by running into underwater rocks we couldn’t see.&lt;/p&gt;  &lt;p&gt;Thankfully we got through one really slow-going rocky part just before dark.  Because it would have taken us forever to get through there in the complete dark.  Whew.  &lt;/p&gt;  &lt;p&gt;Now its complete dark.  We got to the spillway and couldn’t find a place to get out, but we’d met a stranger along the way who mentioned that he thought there was a way to paddle around the spillway.  We poked around and saw something, but by this point it was so dark we couldn’t really tell what anything was.  The mini-maglight was no good from more than a few feet away.  Then we saw someone elses flashlight beam ahead – it was the stranger.  They’d found a place to take-out off to the side, but couldn’t paddle around the spillway, unfortunately.&lt;/p&gt;  &lt;p&gt;The stranger dragged his kayak out through the woods to a nearby road where he was to be picked up.  We decided to walk around the spillway area and get back in the water somehow.  We may or may not have gotten into some sort of canal that ran alongside the river.  I don’t think we were supposed to be in it, but our options were limited.  We made it down to the US1 bridge, but now we needed to cross the river in order to get out!  In the dark, we managed to somehow climb out of our kayaks onto the steep bank of the canal, walk through the grass and woods to the river, and drop back into the river.  Visibility was about 6 or 7 feet I’d say, which made for a very interesting and spooky paddle adventure.   I said I felt like a native American on a night-time war raid, and he said he felt like a marine.  We decided we were native American marines, or something like that.&lt;/p&gt;  &lt;p&gt;Related links:  Deep River Trail – State Trail!   &lt;br /&gt; &lt;a title="http://www.triangleland.org/news/articles/2007/Powell%20tract.shtml" href="http://www.triangleland.org/news/articles/2007/Powell%20tract.shtml"&gt;http://www.triangleland.org/news/articles/2007/Powell%20tract.shtml&lt;/a&gt;,     &lt;br /&gt;&lt;a title="http://www.ncparks.gov/News/releases/release.php?id=20" href="http://www.ncparks.gov/News/releases/release.php?id=20"&gt;http://www.ncparks.gov/News/releases/release.php?id=20&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&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:54de7777-3c5b-4f03-a33e-8e3ced9bf255" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Kayaking" rel="tag"&gt;Kayaking&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Deep+River" rel="tag"&gt;Deep River&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Chatham+County" rel="tag"&gt;Chatham County&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136165"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136165" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/136165.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/uNAPbyf50ng" height="1" width="1"/&gt;</description><dc:creator>Lance Robinson</dc:creator><feedburner:origLink>http://geekswithblogs.net/Lance/archive/2009/11/09/kayaking-on-the-deep-river.aspx</feedburner:origLink></item><item><title>10 DIY SharePoint Web Parts #9</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/0SglpAXS0ks/10-diy-sharepoint-web-parts-9.aspx</link><pubDate>Mon, 09 Nov 2009 22:13:51 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx</guid><wfw:comment>http://geekswithblogs.net/Lance/comments/136163.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Lance/comments/commentRss/136163.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Lance/services/trackbacks/136163.aspx</trackback:ping><source url="http://geekswithblogs.net/Lance/rss.aspx">10 DIY SharePoint Web Parts #9</source><description>&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointments.png"&gt;&lt;img height="109" width="644" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointments_thumb.png" alt="CRMAppointments" title="CRMAppointments" style="border: 0px none ; margin: 10px auto; display: block; float: none;" /&gt;&lt;/a&gt; This post is the ninth in a &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;series of postings&lt;/a&gt;, containing examples of SharePoint WebParts that &lt;em&gt;anybody&lt;/em&gt; can build all by themselves.  To read all posts in this series, or to get started with the RSSBus WebPart, &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;go here&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;#9 – Microsoft Dynamics CRM&lt;/h3&gt;
&lt;p&gt;  &lt;br /&gt;
&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMContacts.png"&gt;&lt;img height="113" width="255" border="0" align="right" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMContacts_thumb.png" alt="CRMContacts" title="CRMContacts" style="border: 0px none ; margin: 10px; display: inline;" /&gt;&lt;/a&gt; The credit for this particular web part template goes to one of my co-workers Shannon Prue.  I asked him if he could put together a MS CRM template example for me, and a few minutes later I had in my inbox a 10 line example template!  In the past, integrating MS CRM with SharePoint meant investing a lot of time, dollars, and ending up with a bunch of rigid complexity.  Not now.  :)  This particular example uses Microsoft CRM Services, but that is not a requirement.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;&lt;u&gt;Step one&lt;/u&gt;&lt;/strong&gt;&lt;/em&gt; is to make sure you have the RSSBus Web Part installed.  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;See here&lt;/a&gt; for instructions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step two&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, make sure that you have the &lt;a href="http://www.rssbus.com/connectors/info.aspx?con=RSSBus.MscrmOps.info"&gt;MscrmOps Connector&lt;/a&gt; installed.  Get the service URL for your installation of Microsoft Dynamics CRM (e.g, &lt;a href="https://crmserver:5555/mscrmservices/2006/crmservice.asmx"&gt;https://crmserver:5555/mscrmservices/2006/crmservice.asmx&lt;/a&gt;) as well as a username and password needed for accessing the service (CRM uses integrated authentication by default, so this will normally be your domain account and password).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;u&gt;Step three&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt;, add the RSSBus WebPart to your page, paste the following template into its source editor, edit the serviceurl, username, and password settings to correspond to your own MS CRM instance, and click “Apply”.  You’ll see the web part rendered with a list of contacts from MS CRM.&lt;/p&gt;
&lt;div style="width: 70%; margin-left: auto; margin-right: auto;"&gt;
&lt;div class="rsbheader-left"&gt; &lt;/div&gt;
&lt;div class="rsbheader-right"&gt; &lt;/div&gt;
&lt;div class="rsbheader-middle"&gt; &lt;/div&gt;
&lt;div&gt;
&lt;div class="rsbbody-left"&gt; &lt;/div&gt;
&lt;div class="rsbbody-right"&gt; &lt;/div&gt;
&lt;div class="rsbbody-middle"&gt;
&lt;div class="rsbscrollarea"&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:import&lt;/span&gt; &lt;span class="attr"&gt;lib&lt;/span&gt;&lt;span class="kwrd"&gt;="RSSBus.MscrmOps"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="serviceurl"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="http://10.0.1.197:5555/mscrmservices/2006/crmservice.asmx"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="username"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="YOURUSERNAME"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="password"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="YOURPASSWORD"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="maxresults"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="300"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta.YUITableAttrs"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="mscrm:fullname, mscrm:telephone1, mscrm:address1_city"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:set&lt;/span&gt; &lt;span class="attr"&gt;attr&lt;/span&gt;&lt;span class="kwrd"&gt;="_meta.YUITableLabels"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Full Name, Phone #, Country"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;rsb:call&lt;/span&gt; &lt;span class="attr"&gt;op&lt;/span&gt;&lt;span class="kwrd"&gt;="mscrmContact"&lt;/span&gt; &lt;span class="attr"&gt;format&lt;/span&gt;&lt;span class="kwrd"&gt;="YuiTable"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div style="width: 100%;"&gt;
&lt;div class="rsbfooter-left"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-right"&gt; &lt;/div&gt;
&lt;div class="rsbfooter-middle"&gt; &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;That’s it.  If you’ve read the previous 8 DIY articles in this series, you know what' is coming next:  Of course, you can customize this template for your own needs.  This particular template just renders a grid using the YUI (Yahoo UI) Table.  You can do your own html rendering by inserting your own html inside the scope of the &amp;lt;rsb:call&amp;gt;.  You can list other CRM entities, like appointments, leads, contracts, etc.  In fact, I can change the previous example to list CRM appointments by only changing one line of code.  Just replace op=”mscrmContact” with op=”mscrmAppointment”!  You can create pie charts of CRM invoices, bar charts of orders, etc, just by changing the operation call (the op= part) and the html formatting of the data that comes back!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointmentsChart.png"&gt;&lt;img height="327" width="511" border="0" src="http://geekswithblogs.net/images/geekswithblogs_net/Lance/WindowsLiveWriter/10DIYSharePointWebParts9_C1C4/CRMAppointmentsChart_thumb.png" alt="CRMAppointmentsChart" title="CRMAppointmentsChart" style="border: 0px none ; margin: 10px auto; display: block; float: none;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;   &lt;br /&gt;
See all posts in this series:  &lt;a href="http://www.lancerobinson.net/articles/10-diy-sharepoint-web-parts.aspx"&gt;10 DIY SharePoint Web Parts&lt;/a&gt;.     &lt;br /&gt;
&lt;a href="http://www.rssbus.com/connectors/default.aspx"&gt;Browse RSSBus Connectors&lt;/a&gt;.     &lt;br /&gt;
&lt;a href="http://lancerobinson.net/archive/2009/05/20/basic-rssbus-scripting-cheat-sheet.aspx"&gt;Basic RSSBus Scripting Cheat Sheet&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/SharePoint"&gt;SharePoint&lt;/a&gt;, &lt;a href="http://technorati.com/tags/RSSBus"&gt;RSSBus&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WebPart"&gt;WebPart&lt;/a&gt;, &lt;a href="http://technorati.com/tags/Microsoft Dynamics CRM"&gt;Microsoft Dynamics CRM&lt;/a&gt;, &lt;a href="http://technorati.com/tags/CRM"&gt;CRM&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136163"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136163" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Lance/aggbug/136163.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/0SglpAXS0ks" height="1" width="1"/&gt;</description><dc:creator>Lance Robinson</dc:creator><feedburner:origLink>http://geekswithblogs.net/Lance/archive/2009/11/09/10-diy-sharepoint-web-parts-9.aspx</feedburner:origLink></item><item><title>Huge news for mixed-technology shops using TFS!</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/2UQ7HAs44NQ/136162.aspx</link><pubDate>Mon, 09 Nov 2009 18:00:31 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136162.aspx</guid><wfw:comment>http://geekswithblogs.net/aaronsblog/comments/136162.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/aaronsblog/comments/commentRss/136162.aspx</wfw:commentRss><comments>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136162.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/aaronsblog/services/trackbacks/136162.aspx</trackback:ping><source url="http://geekswithblogs.net/aaronsblog/rss.aspx">Huge news for mixed-technology shops using TFS!</source><description>&lt;p&gt;Microsoft has purchased Teamprise, who created a Team Foundation Server plug-in for Eclipse as well as extensions for doing Java builds with Team Foundation Server.&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx" href="http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx"&gt;http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is big news since many of the industry experts from the analyst firms have cited lack of multi-platform support for Team Foundation Server Client as a weakness of the platform.  Eclipse is now a fully supported MS environment for ALM.&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:9345b084-047b-4aeb-bde3-ae8aba89cce7" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TFS" rel="tag"&gt;TFS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Eclipse" rel="tag"&gt;Eclipse&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Teamprise" rel="tag"&gt;Teamprise&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Java" rel="tag"&gt;Java&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136162"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136162" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/aaronsblog/aggbug/136162.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/2UQ7HAs44NQ" height="1" width="1"/&gt;</description><dc:creator>Aaron Kowall</dc:creator><feedburner:origLink>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136162.aspx</feedburner:origLink></item><item><title>Slide Decks from QAI TesTrek 2009</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/kul7eyiOYK8/136161.aspx</link><pubDate>Mon, 09 Nov 2009 17:53:47 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136161.aspx</guid><wfw:comment>http://geekswithblogs.net/aaronsblog/comments/136161.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/aaronsblog/comments/commentRss/136161.aspx</wfw:commentRss><comments>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136161.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/aaronsblog/services/trackbacks/136161.aspx</trackback:ping><source url="http://geekswithblogs.net/aaronsblog/rss.aspx">Slide Decks from QAI TesTrek 2009</source><description>&lt;p&gt;I’ve made the slide decks I presented at QAI TesTrek 2009 in Toronto available for download &lt;a href="http://cid-1d686ca595149c0b.skydrive.live.com/self.aspx/TesTrek%202009"&gt;here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;There is one deck on aspects of testing SOA and another on using VS 2010 test features supporting exploratory testing.&lt;/p&gt;  &lt;p&gt;My apologies for the delay but I’ve been off battling the flu.&lt;/p&gt;  &lt;p&gt;Thanks to the TesTrek organizing team and to all the attendees. I had a great conference.&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:c09b45e4-e470-4734-a632-6e79e9ad6aab" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/TesTrek" rel="tag"&gt;TesTrek&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SOA+Testing" rel="tag"&gt;SOA Testing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Exploratory+Testing" rel="tag"&gt;Exploratory Testing&lt;/a&gt;,&lt;a href="http://technorati.com/tags/VS+2010" rel="tag"&gt;VS 2010&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MTLM" rel="tag"&gt;MTLM&lt;/a&gt;&lt;/div&gt; ,  &lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136161"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136161" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/aaronsblog/aggbug/136161.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/kul7eyiOYK8" height="1" width="1"/&gt;</description><dc:creator>Aaron Kowall</dc:creator><feedburner:origLink>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136161.aspx</feedburner:origLink></item><item><title>Imaginet Resources Corp. featured in Microsoft Ad Campaign</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Z5ugsoxsH50/136160.aspx</link><pubDate>Mon, 09 Nov 2009 17:50:03 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136160.aspx</guid><wfw:comment>http://geekswithblogs.net/aaronsblog/comments/136160.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/aaronsblog/comments/commentRss/136160.aspx</wfw:commentRss><comments>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136160.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/aaronsblog/services/trackbacks/136160.aspx</trackback:ping><source url="http://geekswithblogs.net/aaronsblog/rss.aspx">Imaginet Resources Corp. featured in Microsoft Ad Campaign</source><description>&lt;p&gt;Some EXCELLENT work done by Imaginet Resources is being featured in a Microsoft Ad Campaign.  This solution is also a finalist for a Microsoft Impact Award.&lt;/p&gt;  &lt;p&gt;Check it out here: &lt;a title="http://www.imaginets.com/news--events/imaginet%27s-healthcare-software-featured-in-microsoft-ad-campaign.aspx" href="http://www.imaginets.com/news--events/imaginet%27s-healthcare-software-featured-in-microsoft-ad-campaign.aspx"&gt;http://www.imaginets.com/news--events/imaginet%27s-healthcare-software-featured-in-microsoft-ad-campaign.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Notice my buddy &lt;a href="http://homepage.mac.com/stevevrporter/blog/Ta.html"&gt;Steve “Dr. Efficiency” Porter&lt;/a&gt; :)  He is available for &lt;a href="http://www.imaginets.com/dr-efficiency-house-call.aspx"&gt;House Call’s&lt;/a&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:41be2c65-bf52-47da-b782-ab4989fe7c46" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Imaginet" rel="tag"&gt;Imaginet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Impact+Award" rel="tag"&gt;Impact Award&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136160"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136160" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/aaronsblog/aggbug/136160.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Z5ugsoxsH50" height="1" width="1"/&gt;</description><dc:creator>Aaron Kowall</dc:creator><feedburner:origLink>http://geekswithblogs.net/aaronsblog/archive/2009/11/09/136160.aspx</feedburner:origLink></item><item><title>SQL Server Event</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Ux-yLlmGHXI/136159.aspx</link><pubDate>Mon, 09 Nov 2009 17:48:25 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/michaelstephenson/archive/2009/11/09/136159.aspx</guid><wfw:comment>http://geekswithblogs.net/michaelstephenson/comments/136159.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/michaelstephenson/comments/commentRss/136159.aspx</wfw:commentRss><comments>http://geekswithblogs.net/michaelstephenson/archive/2009/11/09/136159.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/michaelstephenson/services/trackbacks/136159.aspx</trackback:ping><source url="http://geekswithblogs.net/michaelstephenson/rss.aspx">SQL Server Event</source><description>&lt;p&gt;Thought this may be of interest to some SBUG Members as they will be discussing SQL Server 2008 R2 and SQL Azure at the Edge UG&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face=""&gt;&lt;a href="http://edgeug.net/"&gt;http://edgeug.net/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136159"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136159" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/michaelstephenson/aggbug/136159.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Ux-yLlmGHXI" height="1" width="1"/&gt;</description><dc:creator>Michael Stephenson</dc:creator><feedburner:origLink>http://geekswithblogs.net/michaelstephenson/archive/2009/11/09/136159.aspx</feedburner:origLink></item><item><title>TeamPrise acquired by Microsoft.</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/cgtkq5Y4h50/teamprise-acquired-by-microsoft.aspx</link><pubDate>Mon, 09 Nov 2009 16:39:29 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/cicorias/archive/2009/11/09/teamprise-acquired-by-microsoft.aspx</guid><wfw:comment>http://geekswithblogs.net/cicorias/comments/136158.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/cicorias/comments/commentRss/136158.aspx</wfw:commentRss><comments>http://geekswithblogs.net/cicorias/archive/2009/11/09/teamprise-acquired-by-microsoft.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/cicorias/services/trackbacks/136158.aspx</trackback:ping><source url="http://geekswithblogs.net/cicorias/rss.aspx">TeamPrise acquired by Microsoft.</source><description>&lt;p&gt;TeamPrise – the cross platform “client” for TFS, with Eclipse support (plug-in), command line – has been acquired by Microsoft.&lt;/p&gt;  &lt;p&gt;So, we’ve been pushing folks to a 3rd parties to get back to the ALM Mothership – which is by far the best Enterprise class ALM platform that can scale from “1” person (see 2010 TFS) to thousands, geo-distributed – now, we can offer it direct resolving client’s concerns.&lt;/p&gt;  &lt;p&gt;Not that the SourceGear guys are of concern, they’ve been around for quite some time.&lt;/p&gt;  &lt;p&gt;This is great news.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx"&gt;http://www.microsoft.com/presspass/press/2009/nov09/11-09TeamprisePR.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.teamprise.com"&gt;http://www.teamprise.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/pathways/teamprise/" href="http://www.microsoft.com/pathways/teamprise/"&gt;http://www.microsoft.com/pathways/teamprise/&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136158"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136158" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cicorias/aggbug/136158.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/cgtkq5Y4h50" height="1" width="1"/&gt;</description><dc:creator>Shawn Cicoria</dc:creator><feedburner:origLink>http://geekswithblogs.net/cicorias/archive/2009/11/09/teamprise-acquired-by-microsoft.aspx</feedburner:origLink></item><item><title>SharePoint Saturday Presentation Slide Deck</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Xg3PiP-O2jM/sharepoint-saturday-presentation-slide-deck.aspx</link><pubDate>Mon, 09 Nov 2009 16:11:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AmusinglyMOSS/archive/2009/11/09/sharepoint-saturday-presentation-slide-deck.aspx</guid><wfw:comment>http://geekswithblogs.net/AmusinglyMOSS/comments/136157.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AmusinglyMOSS/comments/commentRss/136157.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AmusinglyMOSS/archive/2009/11/09/sharepoint-saturday-presentation-slide-deck.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AmusinglyMOSS/services/trackbacks/136157.aspx</trackback:ping><source url="http://geekswithblogs.net/AmusinglyMOSS/rss.aspx">SharePoint Saturday Presentation Slide Deck</source><description>&lt;p&gt;As promised, here's the slide deck for my SharePoint Saturday presentation:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://dl.dropbox.com/u/1988231/SharePoint%20Saturday.pptx"&gt;&lt;strong&gt;Download Slide Deck&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks again for attending!&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136157"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136157" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/AmusinglyMOSS/aggbug/136157.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Xg3PiP-O2jM" height="1" width="1"/&gt;</description><dc:creator>Adam McKee</dc:creator><feedburner:origLink>http://geekswithblogs.net/AmusinglyMOSS/archive/2009/11/09/sharepoint-saturday-presentation-slide-deck.aspx</feedburner:origLink></item><item><title>Silverlight Cream for November 09, 2009 -- #727</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/5RychxcHtFo/136156.aspx</link><pubDate>Mon, 09 Nov 2009 15:22:34 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/09/136156.aspx</guid><wfw:comment>http://geekswithblogs.net/WynApseTechnicalMusings/comments/136156.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/WynApseTechnicalMusings/comments/commentRss/136156.aspx</wfw:commentRss><comments>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/09/136156.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/WynApseTechnicalMusings/services/trackbacks/136156.aspx</trackback:ping><source url="http://geekswithblogs.net/WynApseTechnicalMusings/rss.aspx">Silverlight Cream for November 09, 2009 -- #727</source><description>&lt;font face="tahoma"&gt;In this Issue:       &lt;a href="#20091109Damian Schenkelman"&gt;&lt;u&gt;Damian Schenkelman&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091109Jit Ghosh"&gt;&lt;u&gt;Jit Ghosh&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091109Jeff Prosise"&gt;&lt;u&gt;Jeff Prosise&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091109Jesse Liberty"&gt;&lt;u&gt;Jesse Liberty&lt;/u&gt;&lt;/a&gt;,            &lt;a href="#20091109Victor Gaudioso"&gt;&lt;u&gt;Victor Gaudioso&lt;/u&gt;&lt;/a&gt;, and           &lt;a href="#20091109René Schulte"&gt;&lt;u&gt;René Schulte&lt;/u&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Shoutouts: &lt;br /&gt;
&lt;br /&gt;
If you can get to Twitter during the day (lucky you), check out &lt;span style="font-weight: bold;"&gt;Jesse Liberty&lt;/span&gt;'s &lt;a href="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/11/07/subscribe-to-62-silverlight-twitter-ers.aspx"&gt;&lt;u&gt;Subscribe to 62 Silverlight Twitter’ers.&lt;/u&gt;&lt;/a&gt;... there's a stellar list of devs on there! &lt;br /&gt;
&lt;br /&gt;
Adding to the burgeoning list of sites to check every day, &lt;span style="font-weight: bold;"&gt;Brad Abrams&lt;/span&gt; announced &lt;a href="http://blogs.msdn.com/brada/archive/2009/11/07/http-silverlight-net-riaservices-is-live.aspx"&gt;&lt;u&gt;http://silverlight.net/riaservices/ is Live!&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-weight: bold;"&gt;Timmy Kokke&lt;/span&gt; has gathered together links to all the current Silverlight and Expression Tools starter kits: &lt;a href="http://geekswithblogs.net/tkokke/archive/2009/11/05/starterkits-for-silverlight-and-expression.aspx"&gt;&lt;u&gt;StarterKits for Silverlight and the Expression Tools&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;center&gt;&lt;hr width="50%" /&gt;
&lt;/center&gt;  &lt;font face="tahoma"&gt;From &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream.com&lt;/u&gt;&lt;/a&gt;:  &lt;/font&gt;&lt;dl&gt;  &lt;font face="tahoma"&gt;           &lt;dt&gt;&lt;a name="20091109Damian Schenkelman"&gt;                &lt;/a&gt;&lt;a title="http://blogs.southworks.net/dschenkelman/2009/11/09/prism-2-composite-application-guidance-for-wpf-silverlight-migrated-to-visual-studio-2010-beta-2/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4493"&gt;&lt;u&gt;Prism 2 (Composite Application Guidance for WPF &amp;amp; Silverlight) migrated to Visual Studio 2010 Beta 2&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;            &lt;dd&gt;&lt;strong&gt;Damian Schenkelman&lt;/strong&gt; is continuing investigating Prism, and this time out he's investigating Prism and VS2010 ... check out how that worked for him.&lt;/dd&gt;                     &lt;dt&gt;&lt;a name="20091109Jit Ghosh"&gt;                &lt;/a&gt;&lt;a title="http://blogs.msdn.com/jitghosh/archive/2009/11/07/windows-media-metadata-in-managed-code-and-by-extension-silverlight.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4492"&gt;&lt;u&gt;Windows Media Metadata in Managed Code (and by extension - Silverlight)&lt;/u&gt;&lt;/a&gt;             &lt;/dt&gt;            &lt;dd&gt;&lt;strong&gt;Jit Ghosh&lt;/strong&gt; explains how to get Windows Media metadata into Silverlight. All his code is available except the piece to extract SMPTE Timecode ranges, and he says he will have that up this week.&lt;/dd&gt;                     &lt;dt&gt;&lt;a name="20091109Jeff Prosise"&gt;                &lt;/a&gt;&lt;a title="http://www.wintellect.com/CS/blogs/jprosise/archive/2009/11/06/silverlight-3-s-new-relativesource-markup-extension.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4491"&gt;&lt;u&gt;Silverlight 3's New {RelativeSource} Markup Extension &lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;            &lt;dd&gt;Are you familiar with Silverlight 3's RelativeSource markup extensions? No? ... well, let &lt;strong&gt;Jeff Prosise&lt;/strong&gt; explain them to you in this post.&lt;/dd&gt;                     &lt;dt&gt;&lt;a name="20091109Jesse Liberty"&gt;                 &lt;/a&gt;&lt;a title="http://blogs.silverlight.net/blogs/jesseliberty/archive/2009/11/06/designer-v-xaml-v-code.aspx" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4490"&gt;&lt;u&gt;Designer v Xaml v Code&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;            &lt;dd&gt;&lt;strong&gt;Jesse Liberty&lt;/strong&gt; has Part 2 of his new series up and is discussing (gasp) XAML ... well ok, just a little :) ... he's placing controls in grids and lots of code and explanation... keep reading folks, this is good stuff!&lt;/dd&gt;                     &lt;dt&gt;&lt;a name="20091109Victor Gaudioso"&gt;                &lt;/a&gt;&lt;a title="http://victorgaudioso.wordpress.com/2009/11/05/new-silverlight-video-tutorial-how-to-use-the-silverlight-toolkits-wrappanel-to-create-a-three-column-listbox/" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4489"&gt;&lt;u&gt;New Silverlight Video Tutorial: How to use the Silverlight Toolkit’s WrapPanel to Create a Three Column ListBox&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;            &lt;dd&gt;&lt;strong&gt;Victor Gaudioso&lt;/strong&gt; has a few cool things up since I last checked the BlogSpot blogs... this first one is on using the Toolkit's WrapPanel to create a ListBox with 3 columns... good video tutorial, and code!&lt;/dd&gt;                      &lt;dt&gt;&lt;a name="20091109René Schulte"&gt;                &lt;/a&gt;&lt;a title="http://kodierer.blogspot.com/2009/11/drawing-shapes-silverlight.html" href="http://www.silverlightcream.com/SilverlightCreamRedirect.aspx?LinkID=4488"&gt;&lt;u&gt;Drawing Shapes - Silverlight WriteableBitmap Extensions III&lt;/u&gt;&lt;/a&gt;            &lt;/dt&gt;            &lt;dd&gt;&lt;strong&gt;René Schulte&lt;/strong&gt; is back at it again with the WriteableBitmap and this time he's drawing ellipses... this is very cool stuff, René!&lt;/dd&gt;   &lt;/font&gt;&lt;/dl&gt;&lt;font face="tahoma"&gt;&lt;br /&gt;
&lt;font color="#0000ff"&gt;&lt;strong&gt;Stay in the 'Light!&lt;/strong&gt;&lt;/font&gt;&lt;br /&gt;
&lt;/font&gt;&lt;center&gt; &lt;font face="tahoma"&gt;  &lt;/font&gt;&lt;hr width="50%" /&gt;
&lt;font face="tahoma"&gt;  &lt;a href="http://twitter.com/SilverlightNews"&gt;&lt;u&gt;Twitter SilverlightNews&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://twitter.com/WynApse"&gt;&lt;u&gt;Twitter WynApse&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com"&gt;&lt;u&gt;WynApse.com&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.wynapse.com/TaggedPosts.aspx"&gt;&lt;u&gt;Tagged Posts&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.silverlightcream.com"&gt;&lt;u&gt;SilverlightCream&lt;/u&gt;&lt;/a&gt; &lt;br /&gt;
&lt;a href="http://tech.groups.yahoo.com/group/SilverlightCream/join"&gt;&lt;u&gt;Join me @ SilverlightCream&lt;/u&gt;&lt;/a&gt; |    &lt;a href="http://www.phoenixsilverlight.net"&gt;&lt;u&gt;Phoenix Silverlight User Group&lt;/u&gt;&lt;/a&gt;   &lt;br /&gt;
&lt;/font&gt;&lt;/center&gt;&lt;font face="tahoma"&gt;  &lt;br /&gt;
&lt;br /&gt;
Technorati Tags:     &lt;a rel="tag" href="http://technorati.com/tag/Silverlight"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=Silverlight" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/silverlight-3"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=silverlight-3" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;Silverlight 3&lt;/a&gt;        &lt;a rel="tag" href="http://technorati.com/tag/SilverlightCream"&gt;&lt;img alt=" " src="http://static.technorati.com/static/img/pub/icon-utag-16x13.png?tag=SilverlightCream" style="border: 0pt none ; vertical-align: middle; margin-left: 0.4em;" /&gt;SilverlightCream&lt;/a&gt;  &lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136156"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136156" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/WynApseTechnicalMusings/aggbug/136156.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/5RychxcHtFo" height="1" width="1"/&gt;</description><dc:creator>Dave Campbell</dc:creator><feedburner:origLink>http://geekswithblogs.net/WynApseTechnicalMusings/archive/2009/11/09/136156.aspx</feedburner:origLink></item><item><title>Win $10,000 for programming an application with fewer lines of code</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DGaTN4oNO7g/win-10000-for-programming-an-application-with-fewer-lines-of.aspx</link><pubDate>Mon, 09 Nov 2009 15:17:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Webgui/archive/2009/11/09/win-10000-for-programming-an-application-with-fewer-lines-of.aspx</guid><wfw:comment>http://geekswithblogs.net/Webgui/comments/136155.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Webgui/comments/commentRss/136155.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Webgui/archive/2009/11/09/win-10000-for-programming-an-application-with-fewer-lines-of.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Webgui/services/trackbacks/136155.aspx</trackback:ping><source url="http://geekswithblogs.net/Webgui/rss.aspx">Win $10,000 for programming an application with fewer lines of code</source><description>&lt;p&gt;In the first code challenge of its kind, Visual WebGui is offering a $10,000 and giving away prizes valued at thousands of dollars in their call to developers to be the first to submit a Webmail application written by another framework with fewer lines of code.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.visualwebgui.com/tabid/492/Default.aspx"&gt;&lt;img alt="$10,000 Code Challenge" border="0" src="http://www.visualwebgui.com/Portals/0/Images/10000_small.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visual WebGui web/&lt;a href="http://www.visualwebgui.com/tabid/669/default.aspx"&gt;cloud platform&lt;/a&gt;'s productivity is featured via the "Project Webmail", which is an Outlook-like web application with desktop responsiveness &amp;amp; performance &amp;amp; functionalities that was developed by a single developer in only one month&lt;/p&gt;
&lt;p&gt;Developers can register for the Code Challenge on-line from anywhere in the world, but special prizes such as free licenses, free support packages and extended evaluation periods will be raffled between those who visit Visual WebGui’s booth 316 at PDC or booth V5 Tech-Ed.&lt;/p&gt;
&lt;p&gt;&lt;a class="featurelink" href="http://www.visualwebgui.com/tabid/492/Default.aspx"&gt;Registeration link&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136155"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136155" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Webgui/aggbug/136155.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DGaTN4oNO7g" height="1" width="1"/&gt;</description><dc:creator>Webgui</dc:creator><feedburner:origLink>http://geekswithblogs.net/Webgui/archive/2009/11/09/win-10000-for-programming-an-application-with-fewer-lines-of.aspx</feedburner:origLink></item><item><title>ReSharper is not available</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/dqt628GcpSQ/136154.aspx</link><pubDate>Mon, 09 Nov 2009 06:23:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/mapfel/archive/2009/11/09/136154.aspx</guid><wfw:comment>http://geekswithblogs.net/mapfel/comments/136154.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/mapfel/comments/commentRss/136154.aspx</wfw:commentRss><comments>http://geekswithblogs.net/mapfel/archive/2009/11/09/136154.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/mapfel/services/trackbacks/136154.aspx</trackback:ping><source url="http://geekswithblogs.net/mapfel/rss.aspx">ReSharper is not available</source><description>&lt;p&gt;Today a colleague ask me to help.&lt;/p&gt;  &lt;p&gt;On his system all ReSharper menus are grayed out. Also the Visual Studio Add-In Manager does not show this add-in.&lt;/p&gt;  &lt;p&gt;He tried:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;a new installation: without success, &lt;/li&gt;    &lt;li&gt;running with administrative privilegeg: without success, &lt;/li&gt;    &lt;li&gt;looking in event- and application-logs: no entries. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;After searching a little bit with old buddy google we found this message: &lt;a href="http://resharper.blogspot.com/2008/10/wild-world-of-visual-studio-mysterious.html"&gt;Wild World of Visual Studio -- Mysterious Component&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;We downloaded and installed the latest &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=D21C292C-368B-4CE1-9DAB-3E9827B70604"&gt;Microsoft Core XML Services (MSXML) 6.0 Service Pack 1&lt;/a&gt; and ReSharper works fine. :-)&lt;/p&gt;  &lt;p&gt;The colleague remembered that he uninstalled SQL Server 2005 – and for this MSXML6 is a installation feature – so a full deinstallation removes MSXML6 also. :-(&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136154"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136154" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/mapfel/aggbug/136154.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/dqt628GcpSQ" height="1" width="1"/&gt;</description><dc:creator>Marko Apfel</dc:creator><feedburner:origLink>http://geekswithblogs.net/mapfel/archive/2009/11/09/136154.aspx</feedburner:origLink></item><item><title>BizTalk 2004 Standard Edition - with Second CPU</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/NypD7dPAMAU/biztalk-2004-standard-edition---with-second-cpu.aspx</link><pubDate>Mon, 09 Nov 2009 12:55:49 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-standard-edition---with-second-cpu.aspx</guid><wfw:comment>http://geekswithblogs.net/StuartBrierley/comments/136153.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/StuartBrierley/comments/commentRss/136153.aspx</wfw:commentRss><comments>http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-standard-edition---with-second-cpu.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/StuartBrierley/services/trackbacks/136153.aspx</trackback:ping><source url="http://geekswithblogs.net/StuartBrierley/rss.aspx">BizTalk 2004 Standard Edition - with Second CPU</source><description>&lt;p&gt;We were recently looking at ways to improve the performance of one of our BizTalk Servers, a server which is only using BizTalk Server 2004 Standard Edition.  In our scenario, the server was often maxing out the single CPU it had, under peak load this resulted in time outs on the front end system that was calling our BizTalk web services.&lt;/p&gt;
&lt;p&gt;There did appear to be any design or tuning changes that would make a hude difference to this busy system, so we started looking into licensing costs and the idea of more CPUs and I came across an interesting section in the &lt;a href="http://download.microsoft.com/download/e/6/f/e6fcf394-e03e-4e15-bd80-8c1c127e88e7/LicensingFAQ.doc"&gt;Licensing FAQ from Microsoft:&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="COLOR: #008000"&gt;&lt;span style="COLOR: #000000"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 10pt; FONT-STYLE: italic; FONT-FAMILY: Arial"&gt;“BTS04 STD and PAR are limited to only one processor. The BTS04 Engine is technically limited to use only one processor on the server, even if it consists of multiple processors. For deployments where the BTS04 Engine is used, you only need to buy one processor license, regardless of the number of processors on the server.”&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="COLOR: #008000"&gt;&lt;span style="COLOR: #000000"&gt;&lt;span lang="EN-US" style="FONT-SIZE: 10pt; FONT-STYLE: italic; FONT-FAMILY: Arial"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;&lt;span style="COLOR: #000000"&gt;This basically tells us that if we did put a second CPU in the server, BizTalk 2004 Standard Edition would not use it and we would not have to pay for it. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;We decided to see what performance gain this might give us, as other processes such as IIS, COM+ and various OS processes could potentially make use of this second CPU. &lt;/p&gt;
&lt;p&gt;With the second processor addeed the BizTalk host processes defaulted to running on processor 0.&lt;/p&gt;
&lt;p&gt;Under average load we saw that CPU 0, running the BizTalk host, was still busy but didn't max out.  Under peak load CPU 0 continued to max out but we did not see the timeout issues we were getting previsouly.  In the peak scenario the second CPU was running at about 50%.&lt;/p&gt;
&lt;p&gt;While not ideal, this did allow the system to go live without any additional licensing costs, and suggests that if you have a very busy BizTalk 2004 standard server you may see benefits from a second CPU.&lt;/p&gt;
&lt;p&gt;Unfortunately for those of you running BizTalk Server 2006 or 2009, the licensing model had changed.  Later versions of the Standard product use two CPUs by default, and the license states that if you have more CPUs in the server you have to pay for licenses for all of these.  For example, the &lt;a href="http://www.microsoft.com/biztalk/en/us/pricing-licensing-faq.aspx"&gt;BizTalk Server 2009 licensing FAQ&lt;/a&gt; states:&lt;/p&gt;
&lt;p class="cueParagraph"&gt;&lt;em&gt;"The BizTalk Server 2009 STD engine can technically use only two processors on the server, even if it consists of more processors. For deployments where BizTalk Server 2009 is used, you need to buy the same number of processor licenses that Windows Server will utilize on that server. For example, if you have BizTalk Server 2009 STD installed on a four-processor server and the Windows operating system is utilizing all four processors, because the server’s performance is benefiting from all four processors running the operating system, you need to purchase four licenses of BizTalk Server 2009 STD."&lt;/em&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136153"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136153" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/StuartBrierley/aggbug/136153.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/NypD7dPAMAU" height="1" width="1"/&gt;</description><dc:creator>StuartBrierley</dc:creator><feedburner:origLink>http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-standard-edition---with-second-cpu.aspx</feedburner:origLink></item><item><title>Arabic SharePoint Resources and Screencasts</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/hPsFp3ZUzVM/arabic-sharepoint-resources-and-screencasts.aspx</link><pubDate>Mon, 09 Nov 2009 12:29:12 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/Mohamed/archive/2009/11/09/arabic-sharepoint-resources-and-screencasts.aspx</guid><wfw:comment>http://geekswithblogs.net/Mohamed/comments/136152.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/Mohamed/comments/commentRss/136152.aspx</wfw:commentRss><comments>http://geekswithblogs.net/Mohamed/archive/2009/11/09/arabic-sharepoint-resources-and-screencasts.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/Mohamed/services/trackbacks/136152.aspx</trackback:ping><source url="http://geekswithblogs.net/Mohamed/rss.aspx">Arabic SharePoint Resources and Screencasts</source><description>&lt;p&gt;&lt;a href="http://www.sharepoint4arabs.com" mce_href="http://www.sharepoint4arabs.com" target="_blank"&gt;&lt;img src="/blogs/meligy/image_1F2BD0AF.png" style="border: 0px none; margin: 0px 0px 5px; display: inline;" title="image" alt="image" mce_src="/blogs/meligy/image_1F2BD0AF.png" align="top" border="0" height="80" width="640" /&gt;&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Some cool guys (all working in ITWorx I guess, one of the biggest Egyptian Software houses) have created a new website:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.sharepoint4arabs.com" mce_href="http://www.sharepoint4arabs.com"&gt;http://www.sharepoint4arabs.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The website, as the name implies, is dedicated for ARABIC resources related to SharePoint.&lt;/p&gt;  &lt;p&gt; It originally contained the technical blogs of the site founders (&lt;a href="http://www.sharepoint4arabs.com/_layouts/viewlsts.aspx?ShowSites=1" mce_href="http://www.sharepoint4arabs.com/_layouts/viewlsts.aspx?ShowSites=1"&gt;Founders' Blogs&lt;/a&gt;) which are very useful for posts about SharePoint, then very recently they have also lunched &lt;b&gt;&lt;a href="http://www.sharepoint4arabs.com/Lists/Screencasts/AllItems.aspx" mce_href="http://www.sharepoint4arabs.com/Lists/Screencasts/AllItems.aspx"&gt;Screencasts&lt;/a&gt;&lt;/b&gt; (Also in Arabic) that start from the very beginning until further advanced stuff.&lt;/p&gt;  &lt;p&gt;I think you’ll enjoy them!&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.sharepoint4arabs.com/" mce_href="http://www.sharepoint4arabs.com/"&gt;SharePoint 4 Arab Homepage&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.sharepoint4arabs.com/_layouts/viewlsts.aspx?ShowSites=1" mce_href="http://www.sharepoint4arabs.com/_layouts/viewlsts.aspx?ShowSites=1"&gt;Founders' Blogs&lt;/a&gt;      &lt;ul&gt;       &lt;li&gt;&lt;a href="http://www.sharepoint4arabs.com/AymanElHattab/default.aspx" mce_href="http://www.sharepoint4arabs.com/AymanElHattab/default.aspx"&gt;Ayman El-Hattab&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.sharepoint4arabs.com/marwantarek" mce_href="http://www.sharepoint4arabs.com/marwantarek"&gt;Marwan Tarek&lt;/a&gt;&lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.sharepoint4arabs.com/mohamedyehia/default.aspx" mce_href="http://www.sharepoint4arabs.com/mohamedyehia/default.aspx"&gt;Mohamed Yehia&lt;/a&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://www.sharepoint4arabs.com/Lists/Screencasts/AllItems.aspx" mce_href="http://www.sharepoint4arabs.com/Lists/Screencasts/AllItems.aspx"&gt;Screencasts&lt;/a&gt;&lt;/b&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;I hope you like them,&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;div style="padding: 0px; margin: 0px; display: inline; float: none;" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7cbd4498-6e3f-44f9-81ca-ad14dcac7cde" class="wlWriterEditableSmartContent"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Arabic" mce_href="http://technorati.com/tags/Arabic" rel="tag"&gt;Arabic&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MOSS" mce_href="http://technorati.com/tags/MOSS" rel="tag"&gt;MOSS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint" mce_href="http://technorati.com/tags/SharePoint" rel="tag"&gt;SharePoint&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Video" mce_href="http://technorati.com/tags/Video" rel="tag"&gt;Video&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Videos" mce_href="http://technorati.com/tags/Videos" rel="tag"&gt;Videos&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Screencasts" mce_href="http://technorati.com/tags/Screencasts" rel="tag"&gt;Screencasts&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint4Arabs" mce_href="http://technorati.com/tags/SharePoint4Arabs" rel="tag"&gt;SharePoint4Arabs&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft" mce_href="http://technorati.com/tags/Microsoft" rel="tag"&gt;Microsoft&lt;/a&gt;,&lt;a href="http://technorati.com/tags/News" mce_href="http://technorati.com/tags/News" rel="tag"&gt;News&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Microsoft+News" mce_href="http://technorati.com/tags/Microsoft+News" rel="tag"&gt;Microsoft News&lt;/a&gt;&lt;/div&gt;
&lt;hr /&gt;&lt;p align="center"&gt;&lt;b&gt;Cross posted from &lt;a href="http://weblogs.asp.net/meligy/default.aspx"&gt;weblogs.asp.net/meligy&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136152"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136152" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/Mohamed/aggbug/136152.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/hPsFp3ZUzVM" height="1" width="1"/&gt;</description><dc:creator>Mohamed Meligy</dc:creator><feedburner:origLink>http://geekswithblogs.net/Mohamed/archive/2009/11/09/arabic-sharepoint-resources-and-screencasts.aspx</feedburner:origLink></item><item><title>BizTalk 2004 Naming Guidelines</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/M5_8lUP1p8A/biztalk-2004-naming-guidelines.aspx</link><pubDate>Mon, 09 Nov 2009 11:47:26 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-naming-guidelines.aspx</guid><wfw:comment>http://geekswithblogs.net/StuartBrierley/comments/136151.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/StuartBrierley/comments/commentRss/136151.aspx</wfw:commentRss><comments>http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-naming-guidelines.aspx#comment</comments><slash:comments>1</slash:comments><trackback:ping>http://geekswithblogs.net/StuartBrierley/services/trackbacks/136151.aspx</trackback:ping><source url="http://geekswithblogs.net/StuartBrierley/rss.aspx">BizTalk 2004 Naming Guidelines</source><description>&lt;p&gt;The following BizTalk naming guidlines are heavily based on those proposed by Scott Colestock over at &lt;a href="http://www.traceofthought.net/misc/BizTalk%20Naming%20Conventions.htm"&gt;Trace Of Thought&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; As you can see from the link, Scott wrote his naming conventions for BizTalk Server 2006, whereas I am still using BizTalk Serevr 2004.  In reality these guidlines are pretty much universal across any version of BizTalk you may wish to apply them to.&lt;/p&gt;
&lt;p&gt;Although the general principles for these guidlines are the same as Scott's, I have made some changes based on personal preference and the conventions that I already had in place.   You may find these interesting as an alternative view on naming conventions for BizTalk.&lt;/p&gt;
&lt;p&gt;I would suggest that you have a read of both guidelines on offer, and whether you take one on wholesale or come up with you own flavour for your guidlines, the important thing is that you have some and follow them.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;General Rules&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;All names should be named with a Pascal convention.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Project Namespaces&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For message schemas:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[CompanyName].XML.Schemas.[FunctionalName]*&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Examples:&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;ABC.XML.Schemas.Underwriting&lt;/p&gt;
&lt;p&gt;DEF.XML.Schemas.MarshmellowTradingExchange&lt;/p&gt;
&lt;p&gt;* Donates potential for multiple levels of functional name, such as Underwriting.Dictionary.Valuation&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For web services:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[CompanyName].Web.Services.[FunctionalName]&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Examples:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ABC.Web.Services.OrderJellyBeans&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For the main BizTalk Projects:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;[CompanyName].BizTalk.[AssemblyType].[FunctionalName]*&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Examples:&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;ABC.BizTalk.Mappings.Underwriting&lt;/p&gt;
&lt;p&gt;ABC.BizTalk.Orchestrations.Underwriting&lt;/p&gt;
&lt;p&gt;* Donates potential for multiple levels of functional name, such as Mappings.Underwriting.Valuations&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Assemblies&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;BizTalk Assembly names should match the associated Project Namespace, such as ABC.BizTalk.Mappings.Underwriting.&lt;/p&gt;
&lt;p&gt;This pertains to the formal assembly name and the DLL name.&lt;/p&gt;
&lt;p&gt;The Solution name should take the name of the main project within the solution, and also therefore the namespace for that project.&lt;/p&gt;
&lt;p&gt;Although long names such as this can be unwieldy to work with, the benefits of having the full scope available when the assemblies are installed on the target server are generally judged to outweigh this inconvenience.&lt;/p&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Messaging Artifacts&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table class="MsoNormalTable" style="MARGIN-LEFT: 5.4pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellspacing="0" cellpadding="0" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Artifact&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Standard&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Notes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 1"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Schema&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;&amp;lt;DescriptiveName&amp;gt;.xsd&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" rowspan="5"&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.NET Type name should match, without file extension&lt;em&gt;.&lt;/em&gt;  &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;.NET Namespace will likely match assembly name.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;PurchaseOrderAcknowledge_FF.xsd  or&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;FNMA100330_FF.xsd&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 2"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Property Schema&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;&amp;lt;DescriptiveName&amp;gt;.xsd&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;Should be named to reflect possible common usage across multiple schemas&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;IspecMessagePropertySchema.xsd&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;UnderwritingOrchestrationKeys.xsd&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 3"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Map&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;SourceSchema&lt;/span&gt;&amp;gt;2&amp;lt;&lt;span class="SpellE"&gt;DestinationSchema&lt;/span&gt;&amp;gt;.&lt;span class="SpellE"&gt;btm&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;Exceptions to this may be made where the source and destination schemas share the majority of the name, such as in mainframe web service maps&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;InstructionResponse2CustomEmailRequest.btm&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;(exception example)&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;AccountCustomerAddressSummaryRequest2MainframeRequest.btm&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 4"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Orchestration&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;&amp;lt;DescriptiveName&amp;gt;.odx&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;GetValuationReports.odx&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;SendMTEDecisionResponse.odx&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 5"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Send/Receive Pipeline&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;&amp;lt;DescriptiveName&amp;gt;.btp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span class="SpellE"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;ValidatingXMLReceivePipeline.btp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;FlatFileAssembler.btp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 6"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Receive Port&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;A plainly worded phrase that will clearly explain the function.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;FraudPreventionServices&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;LetterProcessing&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 7"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Receive Location&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;A plainly worded phrase that will clearly explain the function.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;? Do we want to include the transport type here ?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;span style="FONT-SIZE: 10pt"&gt;&lt;font face="Times New Roman"&gt;Arrears Web Service&lt;/font&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 8"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Send Port Group&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;A plainly worded phrase that will clearly explain the function.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Customer Updates&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 9"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Send Port&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;A plainly worded phrase that will clearly explain the function.&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p&gt;&lt;font face="Times New Roman"&gt;&lt;span style="FONT-SIZE: 10pt"&gt;ABCProductUpdater&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;LogLendingPolicyOutput&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 10"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Parties&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A meaningful name for a Trading Partner.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If dealing with multiple entities within a Trading Partner organization, the Organization name could be used as a prefix.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 11; mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 76.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="102"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Roles&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A meaningful name for the role that a Trading Partner plays.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top" colspan="2"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Orchestration Workflow Shapes&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table class="MsoNormalTable" style="MARGIN-LEFT: 5.4pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellspacing="1" cellpadding="1" border="1"&gt;
    &lt;tbody&gt;
        &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Shape&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Standard&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Notes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 1"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Scopes&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfContainedWork&lt;/span&gt;&amp;gt; or&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescOfcontainedWork&amp;gt;&lt;/span&gt;&amp;lt;&lt;span class="SpellE"&gt;TxType&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Including info about transaction type may be appropriate in some situations where it adds significant documentation value to the diagram.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;HandleReportResponse&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 2"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 3"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Receive&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Receive&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;MessageName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Typically, &lt;span class="SpellE"&gt;MessageName&lt;/span&gt; will be the same as the name of the message variable that is being received “into”.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ReceiveReportResponse&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 4"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Send&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Send&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;MessageName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Typically, &lt;span class="SpellE"&gt;MessageName&lt;/span&gt; will be the same as the name of the message variable that is being sent.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;SendValuationDetailsRequest&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 5"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Expression&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfEffect&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Expression shapes should be named to describe the net effect of the expression, similar to naming a method.  &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The exception to this is the case where the expression is interacting with an external .NET component to perform a function that overlaps with existing BizTalk functionality – use closest BizTalk shape for this case.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;CreatePrintXML&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 6"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Decide&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfDecision&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A description of what will be decided in the “if” branch&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Report Type?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Perform MF Save?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 7"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If-Branch&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfDecision&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A (potentially abbreviated) description of what is being decided&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Mortgage Valuation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Yes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 8"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Else-Branch&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Else&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Else-branch shapes should always be named “Else”&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Else&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 9"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Construct Message (Assign)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Create&amp;lt;Message&amp;gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(for Construct)&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;ExpressionDescription&lt;/span&gt;&amp;gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(for expression)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If a Construct shape contains a message assignment, it should be prefixed with “Create” followed by an abbreviated name of the message being assigned.  &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The actual message assignment shape contained should be named to describe the expression that is contained.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;CreateReportDataMV&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;which contains expression:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ExtractReportData&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 10"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Construct Message (Transform)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Create&amp;lt;Message&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(for Construct)&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;SourceSchema&lt;/span&gt;&amp;gt;2&amp;lt;&lt;span class="SpellE"&gt;DestSchema&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(for transform)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If a Construct shape contains a message transform, it should be prefixed with “Create” followed by an abbreviated name of the message being assigned.&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The actual message transform shape contained should generally be named the same as the called map.&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;font size="2"&gt;CreateReportDataMV&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;which contains transform:&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;font size="2"&gt;ReportDataMV2ReportDataMV&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 11"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 12"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 13"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Construct Message (containing multiple shapes)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If a Construct Message shape uses multiple assignments or transforms, the overall shape should be named to communicate the net effect, using no prefix.&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 14"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Call/Start Orchestration&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Call&amp;lt;&lt;span class="SpellE"&gt;OrchestrationName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Start&amp;lt;&lt;span class="SpellE"&gt;OrchestrationName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 15"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Throw&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Throw&amp;lt;&lt;span class="SpellE"&gt;ExceptionType&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The corresponding variable name for the exception type should (often) be the same name as the exception type, only camel-cased.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ThrowRuleException&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;, which references the “&lt;span class="SpellE"&gt;ruleException&lt;/span&gt;” variable.&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 8pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 16"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Parallel&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfParallelWork&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Parallel shapes should be named by a description of what work will be done in parallel&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;/span&gt; &lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 17"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Delay&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span class="SpellE"&gt;&amp;lt;DescriptionOfWhatWaitingFor&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Delay shapes should be named by a description of what is being waited for.  &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;POAcknowledgeTimeout&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 18"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Listen&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;span class="SpellE"&gt;&amp;lt;DescriptionOfOutcomes&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Listen shapes should be named by a description that captures (to the degree possible) all the branches of the Listen shape&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;POAckOrTimeout&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;span class="SpellE"&gt;FirstShippingBid&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 19"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Loop&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;DescriptionOfLoop&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;A (potentially abbreviated) description of what the loop is.&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ForEachValuationReport&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;WhileErrorFlagTrue&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 20"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Role Link&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;See “Roles” in messaging naming conventions above.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 21"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Suspend&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;ReasonDescription&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Describe what action an administrator must take to resume the orchestration.  More detail can be passed to error property – &lt;em&gt;and should include what should be done by the administrator before resuming the orchestration.&lt;/em&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ReEstablishCreditLink&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 22"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Terminate&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;ReasonDescription&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Describe why the orchestration terminated.  More detail can be passed to error property.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;TimeoutsExpired&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 23"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Call Rules&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Call&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;PolicyName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The policy name may need to be abbreviated.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;CallLendingPolicy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 24; mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 71.55pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="95"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Compensate&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Compensate&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;or&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Compensate&amp;lt;&lt;span class="SpellE"&gt;TxName&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoBodyText"&gt;&lt;span lang="EN-GB" style="COLOR: black; mso-ansi-language: EN-GB"&gt;&lt;font size="2"&gt;If the shape compensates nested transactions, names should be suffixed with the name of the nested transaction – otherwise it should simple be Compensate.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span lang="EN-GB" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-ansi-language: EN-GB"&gt;CompensateTransferFunds&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB" style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-ansi-language: EN-GB"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;strong&gt;Orchestration Types&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;table class="MsoNormalTable" style="MARGIN-LEFT: 5.4pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" cellspacing="0" cellpadding="0" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Type&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Standard&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal" style="TEXT-ALIGN: center" align="center"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Notes&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Example&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 1"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Multi-Part Message Types&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;LogicalDocumentType&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Multi-part types encapsulate multiple parts.  The WSDL spec indicates “parts are a flexible mechanism for describing the logical abstract content of a message.”  The name of the multi-part type should correspond to the “logical” document type, i.e. what the sum of the parts describes.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;InvoiceReceipt&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(&lt;span class="GramE"&gt;which&lt;/span&gt; might encapsulate an invoice acknowledgement and a payment voucher.)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 2"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Multi-Part &lt;span class="SpellE"&gt;Messsage&lt;/span&gt; Part&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;&lt;span class="SpellE"&gt;SchemaNameOfPart&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named (most often) simply for the schema (or simple type) associated with the part.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;InvoiceHeader&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 3"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Messages&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;SchemaName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;MuliPartMessageTypeName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named based on the corresponding schema type or multi-part message type.  If there is more than one variable of a type, name for its use within the orchestration.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ReportDataMV&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;UpdatedReportDataMV&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 4"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Variables&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;DescriptiveName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;TargetFilePath&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;StringProcessor&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 5"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Port Types&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;FunctionDescription&amp;gt;&lt;span class="SpellE"&gt;PortType&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named to suggest the nature of an endpoint, with &lt;span class="SpellE"&gt;pascal&lt;/span&gt; casing and suffixed with “&lt;span class="SpellE"&gt;PortType&lt;/span&gt;”.   If there will be more than one Port for a Port Type, the Port Type should be named according to the abstract service supplied.&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The WSDL spec indicates port types are “a named set of abstract operations and the abstract messages involved” that also encapsulates the message pattern (i.e. one-way, request-response, solicit-response) that all operations on the port type adhere to.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ReceiveReportResponsePortType&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;or&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;CallEAEPortType &lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;(This is a two way port, so Receove or Send alone would not be appropriate.  Could have been ProcessEAERequestPortType etc....)&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 6"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Ports&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;FunctionDescription&amp;gt;Port&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named to suggest a grouping of functionality, with &lt;span class="SpellE"&gt;pascal&lt;/span&gt; casing and suffixed with “Port.”  &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;ReceiveReportResponsePort&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;CallEAEPort&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 7"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Correlation types&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;DescriptiveName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named based on the logical name of what is being used to correlate.  &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;PurchaseOrderNumber&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 8"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Correlation sets&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;DescriptiveName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named based on the corresponding correlation type.  If there is more than one, it should be named to reflect its specific purpose within the orchestration.&lt;/span&gt;&lt;/p&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;PurchaseOrderNumber&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr style="mso-yfti-irow: 9; mso-yfti-lastrow: yes"&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: windowtext 1pt solid; WIDTH: 70.85pt; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" width="94"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Orchestration parameters&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;DescriptiveName&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
            &lt;/span&gt;&lt;/span&gt;&lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid" valign="top"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Should be named to match the caller’s names for the corresponding variables where appropriate.&lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
            &lt;td style="BORDER-RIGHT: windowtext 1pt solid; PADDING-RIGHT: 5.75pt; BORDER-TOP: medium none; PADDING-LEFT: 5.75pt; PADDING-BOTTOM: 0.05in; BORDER-LEFT: medium none; PADDING-TOP: 0.05in; BORDER-BOTTOM: windowtext 1pt solid"&gt;
            &lt;p class="MsoNormal"&gt;&lt;span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt; &lt;/span&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136151"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136151" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/StuartBrierley/aggbug/136151.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/M5_8lUP1p8A" height="1" width="1"/&gt;</description><dc:creator>StuartBrierley</dc:creator><feedburner:origLink>http://geekswithblogs.net/StuartBrierley/archive/2009/11/09/biztalk-2004-naming-guidelines.aspx</feedburner:origLink></item><item><title>Resumable Workflow Activity</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/DV2dAouPH3Y/resumable-workflow-activity.aspx</link><pubDate>Mon, 09 Nov 2009 10:54:45 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/resumable-workflow-activity.aspx</guid><wfw:comment>http://geekswithblogs.net/NerdicCanvass/comments/136150.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/NerdicCanvass/comments/commentRss/136150.aspx</wfw:commentRss><comments>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/resumable-workflow-activity.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/NerdicCanvass/services/trackbacks/136150.aspx</trackback:ping><source url="http://geekswithblogs.net/NerdicCanvass/rss.aspx">Resumable Workflow Activity</source><description>&lt;div&gt;&lt;strong&gt;&lt;font face="Tunga"&gt;BACKGROUND&lt;/font&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;div&gt;Recently, I have been working on &lt;strong&gt;W&lt;/strong&gt;indows &lt;strong&gt;W&lt;/strong&gt;orkflow &lt;strong&gt;F&lt;/strong&gt;oundation. We are trying to create a custom host for workflow, and this workflow host is supposed to have a facility, such that it shold be able to provide a way to  resume from the exact point where a workflow failed from the Admin UI. Something similar to the &lt;strong&gt;Biztalk&lt;/strong&gt; &lt;strong&gt;HAT&lt;/strong&gt;. &lt;/div&gt;
&lt;div&gt;Well, having said that the question how can something like this can be achieved ? &lt;/div&gt;
&lt;div&gt;What I am going to present here is one of the ways of achieving it. There would be other ways which would be better than the way I am going present here, need less to say, that I am still trying to learn my way through Windows Workflow Foundation. &lt;/div&gt;
&lt;div&gt;Well, the idea came to me after going through some of msdn articles about Workflow from &lt;strong&gt;Matt Milner. {Personal Opinion: He is damn good at explaining}&lt;/strong&gt; &lt;/div&gt;
&lt;div&gt;1. &lt;a href="http://msdn.microsoft.com/en-us/magazine/dd419656.aspx"&gt;Error Handling In Workflows&lt;/a&gt; - &lt;em&gt;Matt Milner&lt;/em&gt; &lt;/div&gt;
&lt;div&gt;2. &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163414.aspx"&gt;ActivityExecutionContext in Workflows&lt;/a&gt; - &lt;em&gt;Matt Milner&lt;/em&gt; &lt;/div&gt;
&lt;div&gt;3. &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc163504.aspx"&gt;Build Custom Activities To Extend The Reach Of Your Workflows&lt;/a&gt; - &lt;em&gt;Matt Milner&lt;/em&gt; &lt;/div&gt;
&lt;div&gt;I would highly recommend to read these articles before reading below. Even if you are not interested, I would recommend you to read the above articles&lt;em&gt;,&lt;/em&gt; they give hell of an insight into workflow. &lt;/div&gt;
&lt;div&gt;&lt;strong&gt;&lt;font face="Tunga"&gt;SOLUTION&lt;/font&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;div&gt;So now you have the background information of the required stuff and as well as we have a problem at hand that we want to solve. This idea is based of RetryActivity. So we create a general purpose, WFFaultReportingSystem Service. I am registering the service to the run time&lt;em&gt;.&lt;/em&gt; This service becomes the medium of reporting the error to the Host, that something wrong happened. &lt;/div&gt;
&lt;div&gt;&lt;font color="#004080" face="monospace"&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#004080" face="monospace"&gt;using System;&lt;br /&gt;
&lt;/font&gt;
&lt;div&gt;&lt;font color="#004080" face="monospace"&gt;namespace Coderslog.Workflow.Services&lt;br /&gt;
{&lt;br /&gt;
    public interface IWFFaultReportingSystem&lt;br /&gt;
    {&lt;br /&gt;
        void ReportError(Exception ex, object message);&lt;br /&gt;
        void ReportResumableError(Guid wfInstanceId, string queueName,Exception ex, object message);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;Now lets look at the activity itself. &lt;/div&gt;
&lt;div&gt;&lt;font color="#004080" face="monospace"&gt;using System;&lt;br /&gt;
using System.ComponentModel;&lt;br /&gt;
using System.ComponentModel.Design;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Workflow.ComponentModel;&lt;br /&gt;
using System.Workflow.ComponentModel.Design;&lt;br /&gt;
using System.Workflow.ComponentModel.Compiler;&lt;br /&gt;
using System.Workflow.ComponentModel.Serialization;&lt;br /&gt;
using System.Workflow.Runtime;&lt;br /&gt;
using System.Workflow.Activities;&lt;br /&gt;
using System.Workflow.Activities.Rules;&lt;br /&gt;
using Coderslog.Workflow.Services;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Workflow.Activities&lt;br /&gt;
{&lt;br /&gt;
        &lt;/font&gt;&lt;font color="#990055" face="monospace"&gt;[Designer(typeof(SequenceDesigner), typeof(IDesigner))]&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        public partial class ResumableActivity : CompositeActivity, IActivityEventListener&amp;lt;QueueEventArgs&amp;gt;&lt;br /&gt;
        {&lt;br /&gt;
                public ResumableActivity()&lt;br /&gt;
                {&lt;br /&gt;
&lt;/font&gt;                                                  &lt;font color="#008000" face="monospace"&gt;//The call to the partial generated class&lt;/font&gt; &lt;font color="#004080" face="monospace"&gt;                        &lt;/font&gt; &lt;/div&gt;
&lt;div&gt;                                                 &lt;font color="#004080" face="monospace"&gt;InitializeComponent();&lt;br /&gt;
            &lt;/font&gt;                         &lt;/div&gt;
&lt;div&gt;                                                &lt;font color="#004080" face="monospace"&gt;QueueName               = "ResumableActivity";&lt;br /&gt;
            &lt;/font&gt;                        &lt;font color="#004080" face="monospace"&gt;CurrentActivityIndex    = 0;&lt;br /&gt;
                }&lt;br /&gt;
&lt;/font&gt;                              &lt;font color="#004080" face="monospace"&gt; &lt;/font&gt; &lt;/div&gt;
&lt;div&gt;                                &lt;font color="#008000" face="monospace"&gt;//The Last Error that happened while executing any child activity&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        &lt;/font&gt;               &lt;font color="#004080" face="monospace"&gt;[Browsable(false)]&lt;br /&gt;
        &lt;/font&gt;               &lt;font color="#004080" face="monospace"&gt;public Exception LastError { get; set; }&lt;br /&gt;
&lt;/font&gt;                               &lt;/div&gt;
&lt;div&gt;                               &lt;font color="#008000" face="monospace"&gt;//The Current Activity that I am trying to process now&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        &lt;/font&gt;               &lt;font color="#004080" face="monospace"&gt;[Browsable(false)]&lt;br /&gt;
        &lt;/font&gt;               &lt;font color="#004080" face="monospace"&gt;public int CurrentActivityIndex { get; set; }&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;                &lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)&lt;br /&gt;
        {&lt;br /&gt;
            if (EnabledActivities.Count == 0)&lt;br /&gt;
                return ActivityExecutionStatus.Closed;&lt;br /&gt;
&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//try to execute the child activities in a new context&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            BeginIteration(executionContext);&lt;br /&gt;
            return ActivityExecutionStatus.Executing;&lt;br /&gt;
        }&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;                &lt;font color="#008000" face="monospace"&gt;//Initiating the Iteration&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        private void BeginIteration(ActivityExecutionContext executionContext)&lt;br /&gt;
        {&lt;br /&gt;
            /&lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;/create a new activity execution context&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            Activity child = EnabledActivities[CurrentActivityIndex];&lt;br /&gt;
            ActivityExecutionContext newContext = executionContext.ExecutionContextManager.CreateExecutionContext(child);&lt;br /&gt;
&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//register for both closed and faulted events&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            newContext.Activity.Closed += new EventHandler&amp;lt;ActivityExecutionStatusChangedEventArgs&amp;gt;(child_Closed);&lt;br /&gt;
            newContext.Activity.Faulting += new EventHandler&amp;lt;ActivityExecutionStatusChangedEventArgs&amp;gt;(Activity_Faulting);&lt;br /&gt;
&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//execute the clone activity&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            newContext.ExecuteActivity(newContext.Activity);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void Activity_Faulting(object sender, ActivityExecutionStatusChangedEventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//if the child faults, clear the exception if retrying&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            e.Activity.Faulting -= Activity_Faulting;&lt;br /&gt;
            &lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//Get hold of the error&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            LastError = (Exception)e.Activity.GetValue(ActivityExecutionContext.CurrentExceptionProperty);&lt;br /&gt;
&lt;/font&gt;&lt;font color="#008000"&gt;                         &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//Clear the Error, We don't want anyone to know anything about the Error&lt;/font&gt; &lt;font color="#004080" face="monospace"&gt;           &lt;/font&gt; &lt;/div&gt;
&lt;div&gt;                         &lt;font color="#004080" face="monospace"&gt;e.Activity.SetValue(ActivityExecutionContext.CurrentExceptionProperty, null);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Creates the queue and registers for items to be available.&lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="parentContext"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="parentEventHandler"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        public void Subscribe(ActivityExecutionContext parentContext, IActivityEventListener&amp;lt;QueueEventArgs&amp;gt; parentEventHandler)&lt;br /&gt;
        {&lt;br /&gt;
            WorkflowQueuingService qService = parentContext.GetService&amp;lt;WorkflowQueuingService&amp;gt;();&lt;br /&gt;
            if (qService != null)&lt;br /&gt;
            {&lt;br /&gt;
                if (!qService.Exists(QueueName))&lt;br /&gt;
                {&lt;br /&gt;
                    WorkflowQueue q = qService.CreateWorkflowQueue(QueueName, false);&lt;br /&gt;
                    q.RegisterForQueueItemAvailable(parentEventHandler, QualifiedName);&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font color="#008000"&gt;                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//Property for holding the QueueName on which to Subscribe and Expect the response&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        [Browsable(false)]&lt;br /&gt;
        public string QueueName { get; private set; }&lt;br /&gt;
        &lt;br /&gt;
&lt;br /&gt;
   &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;     /// &amp;lt;summary&amp;gt;&lt;br /&gt;
        /// Removes the listener from the queue and deletes the queue.  &lt;br /&gt;
        /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="parentContext"&amp;gt;&amp;lt;/param&amp;gt;&lt;br /&gt;
        /// &amp;lt;param name="parentEventHandler"&amp;gt;&amp;lt;/param&amp;gt;&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        public void Unsubscribe(ActivityExecutionContext parentContext, IActivityEventListener&amp;lt;QueueEventArgs&amp;gt; parentEventHandler)&lt;br /&gt;
        {&lt;br /&gt;
            WorkflowQueuingService qService = parentContext.GetService&amp;lt;WorkflowQueuingService&amp;gt;();&lt;br /&gt;
            if (qService != null)&lt;br /&gt;
            {&lt;br /&gt;
                WorkflowQueue queue = qService.GetWorkflowQueue(QueueName);&lt;br /&gt;
                if (queue != null)&lt;br /&gt;
                {&lt;br /&gt;
                    queue.UnregisterForQueueItemAvailable(parentEventHandler);&lt;br /&gt;
                    qService.DeleteWorkflowQueue(QueueName);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;/font&gt;                &lt;/div&gt;
&lt;div&gt;               &lt;font color="#008000" face="monospace"&gt;// Helper Method to Get Hold of the Queue&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        private WorkflowQueue GetQueue(ActivityExecutionContext ctx)&lt;br /&gt;
        {&lt;br /&gt;
            WorkflowQueuingService qService = ctx.GetService&amp;lt;WorkflowQueuingService&amp;gt;();&lt;br /&gt;
            if (qService != null &amp;amp;&amp;amp; qService.Exists(QueueName))&lt;br /&gt;
                return qService.GetWorkflowQueue(QueueName);&lt;br /&gt;
            else&lt;br /&gt;
                return null;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#008000"&gt;                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//The Big Bang Close Method&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        void child_Closed(object sender, ActivityExecutionStatusChangedEventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            ActivityExecutionContext thisContext = sender as ActivityExecutionContext;&lt;br /&gt;
            ActivityExecutionContext childContext = thisContext.ExecutionContextManager.GetExecutionContext(e.Activity);&lt;br /&gt;
            e.Activity.Closed -= child_Closed;&lt;br /&gt;
&lt;br /&gt;
            thisContext.ExecutionContextManager.CompleteExecutionContext(childContext);&lt;br /&gt;
&lt;/font&gt;                         &lt;/div&gt;
&lt;div&gt;                         &lt;font color="#008000" face="monospace"&gt;//if of the EnabledActivities, the current one has completed successfully, move to the next one&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            if (e.ExecutionResult == ActivityExecutionResult.Succeeded &amp;amp;&amp;amp; CurrentActivityIndex &amp;lt; EnabledActivities.Count - 1)&lt;br /&gt;
            {&lt;br /&gt;
                this.SetValue(ActivityExecutionContext.CurrentExceptionProperty, null);&lt;br /&gt;
                CurrentActivityIndex += 1;&lt;br /&gt;
                BeginIteration(thisContext);&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//if the child completed successfully, then we can close&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            if (e.ExecutionResult == ActivityExecutionResult.Succeeded &amp;amp;&amp;amp; CurrentActivityIndex == EnabledActivities.Count - 1)&lt;br /&gt;
            {&lt;br /&gt;
                this.SetValue(ActivityExecutionContext.CurrentExceptionProperty, null);&lt;br /&gt;
                thisContext.CloseActivity();&lt;br /&gt;
                return;&lt;br /&gt;
            }&lt;br /&gt;
&lt;br /&gt;
            &lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//otherwise, if we are not done retrying&lt;br /&gt;
            //we need to resume again and make sure to clean up errors&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            if (this.ExecutionStatus == ActivityExecutionStatus.Executing)&lt;br /&gt;
            {&lt;br /&gt;
                SetResumePoint(e, thisContext);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;/font&gt;                &lt;/div&gt;
&lt;div&gt;&lt;font color="#008000"&gt;                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;// We try and get the instance of the Fault Reposrting System, if yes, we report the error and subscribe to the Queue&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#008000"&gt;                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;// so that on basis of the users input we would be able to resume from the point where it broke or terminate&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        private void SetResumePoint(ActivityExecutionStatusChangedEventArgs e, ActivityExecutionContext thisContext)&lt;br /&gt;
        {&lt;br /&gt;
            IWFFaultReportingSystem wfFRS = thisContext.GetService&amp;lt;IWFFaultReportingSystem&amp;gt;();&lt;br /&gt;
            var error = LastError;&lt;br /&gt;
            if (wfFRS == null)&lt;br /&gt;
            {&lt;br /&gt;
                throw new Exception(&lt;/font&gt;&lt;font color="#990055" face="monospace"&gt;"This activity requires that the Service IWFFaultReportingSystem is registered"&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;);&lt;br /&gt;
            }&lt;br /&gt;
            if (error != null)&lt;br /&gt;
            {&lt;br /&gt;
                this.SetValue(ActivityExecutionContext.CurrentExceptionProperty, null);&lt;br /&gt;
                Subscribe(thisContext, this);&lt;br /&gt;
                wfFRS.ReportResumableError(WorkflowInstanceId, QueueName, error, null);&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
&lt;/font&gt;                &lt;/div&gt;
&lt;div&gt;               &lt;font color="#008000" face="monospace"&gt;// Fires when there is the required actvity in the Queue&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
        public void OnEvent(object sender, QueueEventArgs e)&lt;br /&gt;
        {&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//start a new iteration after the event happens&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
            ActivityExecutionContext ctx = sender as ActivityExecutionContext;&lt;br /&gt;
            if (sender == null)&lt;br /&gt;
                throw new ArgumentException(&lt;/font&gt;&lt;font color="#990055" face="monospace"&gt;"Sender must be ActivityExecutionContext"&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;);&lt;br /&gt;
            &lt;br /&gt;
            WorkflowQueue q = GetQueue(ctx);&lt;br /&gt;
            if (q != null)&lt;br /&gt;
            {&lt;br /&gt;
                object data = q.Dequeue();&lt;br /&gt;
                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;//use the data - Resume&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;&lt;br /&gt;
                if (data != null &amp;amp;&amp;amp; bool.Parse(data.ToString()))&lt;br /&gt;
                {&lt;br /&gt;
                    Unsubscribe(ctx, this);&lt;br /&gt;
                    BeginIteration(ctx);&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    throw new ApplicationException(&lt;/font&gt;&lt;font color="#990055" face="monospace"&gt;"The Workflow cannot be Resumed from this point onwards!"&lt;/font&gt;&lt;font color="#004080" face="monospace"&gt;);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;The other peripherals: &lt;/div&gt;
&lt;div&gt;&lt;font color="#000080" face="monospace"&gt;using System;&lt;br /&gt;
using System.ComponentModel;&lt;br /&gt;
using System.ComponentModel.Design;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Drawing;&lt;br /&gt;
using System.Reflection;&lt;br /&gt;
using System.Workflow.ComponentModel;&lt;br /&gt;
using System.Workflow.ComponentModel.Design;&lt;br /&gt;
using System.Workflow.ComponentModel.Compiler;&lt;br /&gt;
using System.Workflow.ComponentModel.Serialization;&lt;br /&gt;
using System.Workflow.Runtime;&lt;br /&gt;
using System.Workflow.Activities;&lt;br /&gt;
using System.Workflow.Activities.Rules;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Workflow.Activities&lt;br /&gt;
{&lt;br /&gt;
    &lt;br /&gt;
        public partial class ResumableActivity&lt;br /&gt;
        {&lt;br /&gt;
                #region Designer generated code&lt;br /&gt;
                &lt;br /&gt;
                &lt;/font&gt;&lt;font color="#008000" face="monospace"&gt;/// &amp;lt;summary&amp;gt;&lt;br /&gt;
                /// Required method for Designer support - do not modify&lt;br /&gt;
                /// the contents of this method with the code editor.&lt;br /&gt;
                /// &amp;lt;/summary&amp;gt;&lt;br /&gt;
        &lt;/font&gt;&lt;font color="#008000"&gt;                &lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;[System.Diagnostics.DebuggerNonUserCode]&lt;br /&gt;
                private void InitializeComponent()&lt;br /&gt;
                {&lt;br /&gt;
                        this.Name = "ResumableActivity";&lt;br /&gt;
                }&lt;br /&gt;
&lt;br /&gt;
                #endregion&lt;br /&gt;
        }&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;This covers the Activity. I have tried and put comments where ever required. Hopefully it should be self explanatory. &lt;/div&gt;
&lt;div&gt;&lt;font face="Tunga"&gt;IMPORTANT PART OF CLIENT CODE - TEST HARNESS&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;Sample &lt;font color="#c00000"&gt;IWFFaultReportingSystem.cs implementation&lt;/font&gt;. &lt;/div&gt;
&lt;div&gt;&lt;font color="#000080" face="monospace"&gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
using CP.Services;&lt;br /&gt;
using System.Workflow.Runtime;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Client.ResumableWorkflow&lt;br /&gt;
{&lt;br /&gt;
        public class FaultReportingSystem:IWFFaultReportingSystem&lt;br /&gt;
        {&lt;br /&gt;
        WorkflowRuntime _runtime;&lt;br /&gt;
        &lt;/font&gt;&lt;font color="#ff0080" face="monospace"&gt;Guid            _instanceId;&lt;br /&gt;
        string          _queueName;&lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
        public FaultReportingSystem(WorkflowRuntime runtime)&lt;br /&gt;
        {&lt;br /&gt;
            _runtime = runtime;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        #region IWFFaultReportingSystem Members&lt;br /&gt;
&lt;br /&gt;
        public void ReportError(Exception ex, object message)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(ex.Message);&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        public void ReportResumableError(Guid wfInstanceId, string queueName, Exception ex, object message)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine("WF ID :" +  wfInstanceId.ToString());&lt;br /&gt;
            Console.WriteLine("Queue Name :" + queueName);&lt;br /&gt;
            Console.WriteLine("Error :" + ex.Message);&lt;br /&gt;
&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#ff0080" face="monospace"&gt;_instanceId = wfInstanceId;&lt;br /&gt;
            _queueName = queueName;&lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;&lt;br /&gt;
&lt;br /&gt;
            var action = new Action(ProcessError);&lt;br /&gt;
            action.BeginInvoke(CallBack, action);   &lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        void ProcessError()&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine("What you want to do ? R for Resuming or any key for Exit");&lt;br /&gt;
            var key = Console.ReadLine();&lt;br /&gt;
            &lt;/font&gt;&lt;font color="#ff0080" face="monospace"&gt;var instance = _runtime.GetWorkflow(_instanceId);&lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;&lt;br /&gt;
            if (key == "R" || key == "r")&lt;br /&gt;
            {&lt;br /&gt;
                &lt;/font&gt;&lt;font color="#ff0080" face="monospace"&gt;instance.EnqueueItem(_queueName, true, null, null);&lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                &lt;/font&gt;&lt;font color="#ff0080" face="monospace"&gt;instance.EnqueueItem(_queueName, false, null, null);&lt;/font&gt;&lt;font color="#000080" face="monospace"&gt;&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
        #endregion&lt;br /&gt;
&lt;br /&gt;
        static void CallBack(IAsyncResult ar)&lt;br /&gt;
        {&lt;br /&gt;
            var action = ar.AsyncState as Action;&lt;br /&gt;
            if (action != null)&lt;br /&gt;
                action.EndInvoke(ar);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;The Highlighted part shows what the user needs to do to resume the workflow. Just drop a message in the Workflow Queue. &lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136150"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136150" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/NerdicCanvass/aggbug/136150.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/DV2dAouPH3Y" height="1" width="1"/&gt;</description><dc:creator>sanket</dc:creator><feedburner:origLink>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/resumable-workflow-activity.aspx</feedburner:origLink></item><item><title>dynamic - II - introduction</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/8ezBplCfDHQ/dynamic---ii---introduction.aspx</link><pubDate>Mon, 09 Nov 2009 10:48:53 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---ii---introduction.aspx</guid><wfw:comment>http://geekswithblogs.net/NerdicCanvass/comments/136149.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/NerdicCanvass/comments/commentRss/136149.aspx</wfw:commentRss><comments>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---ii---introduction.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/NerdicCanvass/services/trackbacks/136149.aspx</trackback:ping><source url="http://geekswithblogs.net/NerdicCanvass/rss.aspx">dynamic - II - introduction</source><description>&lt;div&gt;You remember the &lt;a href="http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---introduction.aspx"&gt;previous post&lt;/a&gt; on dynamic. We will today look into it in a bit more detail. Yeah, let's ILDASM it and try and identify what is going on under the hood. But for the context of the post let's look at a simpler tale. &lt;/div&gt;
&lt;div&gt;  &lt;/div&gt;
&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;blockquote&gt;
&lt;div&gt;&lt;font color="#008000" face="monospace"&gt;namespace Coderslog.Net4.Samples&lt;br /&gt;
{&lt;br /&gt;
    public class SimpleDynamic&lt;br /&gt;
    {&lt;br /&gt;
&lt;br /&gt;
        public void CallDoSomething()&lt;br /&gt;
        {&lt;br /&gt;
            var instance = GetDoSomething();&lt;br /&gt;
            instance.DoSometing();&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        private dynamic GetDoSomething()&lt;br /&gt;
        {&lt;br /&gt;
            return new BehaviourA();&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;div&gt;A very basic class, hmmm which roughly translates to something like, I might not be absolutely correct, but to get a fair idea, it is something like the following &lt;/div&gt;
&lt;div&gt;  &lt;/div&gt;
&lt;div&gt;&lt;font color="#0000c0" face="monospace"&gt;public class SimpleDynamic&lt;br /&gt;
{&lt;br /&gt;
    // Method: A Bit more involved than the reflection way, with Optimization    &lt;/font&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#0000c0" face="monospace"&gt;    public void CallDoSomething()&lt;br /&gt;
    {&lt;br /&gt;
        object instance = this.GetDoSomething();&lt;br /&gt;
        if (CallDoSometning_SiteContainer.delegatePlaceHolder == null)&lt;br /&gt;
        {&lt;br /&gt;
            CallDoSometning_SiteContainer.delegatePlaceHolder =&lt;br /&gt;
                CallSite&amp;lt;Action&amp;lt;CallSite, object&amp;gt;&amp;gt;.Create&lt;/font&gt;&lt;font color="#ff0000" face="monospace"&gt;(&lt;/font&gt;&lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                        new CSharpInvokeMemberBinder&lt;/font&gt;&lt;font color="#00ff00" face="monospace"&gt;(&lt;/font&gt;&lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                &lt;/font&gt;&lt;font color="#0080ff" face="monospace"&gt;CSharpCallFlags.None&lt;/font&gt;&lt;font color="#400000" face="monospace"&gt;,&lt;/font&gt; &lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                "&lt;/font&gt;&lt;font color="#0080ff" face="monospace"&gt;DoSometing&lt;/font&gt;&lt;font color="#0000c0" face="monospace"&gt;"&lt;/font&gt;&lt;font color="#400000" face="monospace"&gt;,&lt;/font&gt; &lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                typeof(&lt;/font&gt;&lt;font color="#0080ff" face="monospace"&gt;SimpleDynamic&lt;/font&gt;&lt;font color="#0000c0" face="monospace"&gt;)&lt;/font&gt;&lt;font color="#400000" face="monospace"&gt;,&lt;/font&gt; &lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                null&lt;/font&gt;&lt;font color="#400000" face="monospace"&gt;,&lt;/font&gt; &lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                new []&lt;br /&gt;
                                        {&lt;br /&gt;
                                                &lt;/font&gt;&lt;font color="#0080ff" face="monospace"&gt;new CSharpArgumentInfo(&lt;br /&gt;
                                                        CSharpArgumentInfoFlags.None&lt;br /&gt;
                                                        , null&lt;br /&gt;
                                                )&lt;/font&gt; &lt;font color="#0000c0" face="monospace"&gt;&lt;br /&gt;
                                        }&lt;br /&gt;
                        &lt;/font&gt;&lt;font color="#00ff00" face="monospace"&gt;)&lt;/font&gt;&lt;font color="#ff0000" face="monospace"&gt;)&lt;/font&gt;&lt;font color="#0000c0" face="monospace"&gt;;&lt;br /&gt;
        }&lt;br /&gt;
        CallDoSometning_SiteContainer.&lt;br /&gt;
                delegatePlaceHolder.&lt;br /&gt;
                        Target.Invoke(&lt;br /&gt;
                                CallDoSometning_SiteContainer.delegatePlaceHolder&lt;br /&gt;
                                , instance);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    &lt;br /&gt;
    //But theres an attribute on the object of&lt;br /&gt;
    //Type:System.Runtime.CompilerServices.DynamicAttribute&lt;br /&gt;
    private object GetDoSomething()&lt;br /&gt;
    {&lt;br /&gt;
        return new BehaviourA();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    // Nested Types&lt;br /&gt;
    //Compiler Generated Class- Internal Class&lt;br /&gt;
    private static class CallDoSometning_SiteContainer&lt;br /&gt;
    {&lt;br /&gt;
        // Fields&lt;br /&gt;
        public static CallSite&amp;lt;Action&amp;lt;CallSite, object&amp;gt;&amp;gt; delegatePlaceHolder;&lt;br /&gt;
    }&lt;/font&gt;&lt;font face="monospace"&gt;&lt;br /&gt;
}&lt;/font&gt; &lt;/div&gt;
&lt;div&gt;  &lt;/div&gt;
&lt;div&gt;So as you can see, the internal static class is there so as to ensure that, we don't always spend resources on the delegate, once it is evaluated. &lt;/div&gt;
&lt;div&gt;If we look at the GetDomethingMethod, the Dydnamic Attribute on the returned object from the method GetDoSomething tells the run time that "&lt;em&gt;Indicates that the use of &lt;a href="http://msdn.microsoft.com/en-us/library/system.object%28VS.100%29.aspx"&gt; Object&lt;/a&gt; on a member is meant to be treated as a dynamically dispatched type.&lt;/em&gt;". If you notice the type of the static field is of type &lt;font color="#0000c0" face="monospace"&gt;CallSite&amp;lt;Action&amp;lt;CallSite, object&amp;gt;&amp;gt;&lt;/font&gt; is  System.Runtime.CompilerServices..::.CallSite&amp;lt;(Of &amp;lt;(T&amp;gt;)&amp;gt;) { &lt;strong&gt;MSDN:&lt;/strong&gt; A dynamic call site base class. This type is used as a parameter type to the dynamic site targets.}.   &lt;/div&gt;
&lt;div&gt;  &lt;/div&gt;
&lt;div&gt;Lets look at the place where all the action is happening, i.e. the method  &lt;font color="#0000c0" face="monospace"&gt;CallDoSomething&lt;/font&gt;. the method checks if the class &lt;font color="#0000c0" face="monospace"&gt;CallDoSometning_SiteContainer&lt;/font&gt;.&lt;font color="#0000c0" face="monospace"&gt;delegatePlaceHolder&lt;/font&gt; is populated or not, but if not it initializes it with the Create Method and you can notice ... &lt;font color="#0000c0" face="monospace"&gt;CSharpInvokeMemberBinder&lt;/font&gt; {CompleteNamespace: Microsoft.CSharp.RuntimeBinder.CSharpInvokeMemberBinder} {&lt;strong&gt;MSDN:&lt;/strong&gt;  Represents a dynamic method call in C#, providing the binding semantics and the details about the operation. Instances of this class are generated by the C# compiler }. &lt;/div&gt;
&lt;div&gt;  &lt;/div&gt;
&lt;div&gt;This feels like .Net Reflection and one tends to ask, how optimized is it. Well, something Microsoft can enlighten us more about. &lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136149"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136149" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/NerdicCanvass/aggbug/136149.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/8ezBplCfDHQ" height="1" width="1"/&gt;</description><dc:creator>sanket</dc:creator><feedburner:origLink>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---ii---introduction.aspx</feedburner:origLink></item><item><title>dynamic - Introduction</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/LbaP-RuvDnE/dynamic---introduction.aspx</link><pubDate>Mon, 09 Nov 2009 10:46:32 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---introduction.aspx</guid><wfw:comment>http://geekswithblogs.net/NerdicCanvass/comments/136148.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/NerdicCanvass/comments/commentRss/136148.aspx</wfw:commentRss><comments>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---introduction.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/NerdicCanvass/services/trackbacks/136148.aspx</trackback:ping><source url="http://geekswithblogs.net/NerdicCanvass/rss.aspx">dynamic - Introduction</source><description>&lt;div&gt;Lets examine the dynamic key word introduced in .Net 4.0. It can keep an instance of any type. Then what is the difference between it and System.Object. Well the essential difference between them is the dynamic method dispatching which enables lazy binding, i.e. it allows you to write method, operator and indexer calls, property and field accesses, and even object invocations which bypass the normal static binding of C# and instead gets resolved dynamically.&lt;/div&gt;
&lt;div&gt;It provides a unified approach to selecting opeartions dynamically.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Lets see an example:&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#008000" face="Courier New"&gt;//Class Program.cs&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font face="monospace"&gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Net4.Samples&lt;br /&gt;
{&lt;br /&gt;
    class Program&lt;br /&gt;
    {&lt;br /&gt;
        private static Type _toggle;&lt;br /&gt;
&lt;br /&gt;
        static void Main(string[] args)&lt;br /&gt;
        {&lt;br /&gt;
            var val = "";&lt;br /&gt;
            do&lt;br /&gt;
            {&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;                                 &lt;font color="#0000ff" face="monospace"&gt;//Dynamic way&lt;br /&gt;
                dynamic d = GetMeMyDynamicObject();&lt;br /&gt;
                Console.WriteLine(d.GetType().FullName);&lt;br /&gt;
                d.DoSometing();&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;                                 &lt;/div&gt;
&lt;div&gt;                                &lt;font color="#800080" face="monospace"&gt;//Reflection way&lt;br /&gt;
                object inst = GetMeMyDynamicObject();&lt;br /&gt;
                Console.WriteLine(inst.GetType().FullName);&lt;br /&gt;
                Invoke(inst, "DoSometing" );       &lt;/font&gt;&lt;font face="monospace"&gt;         &lt;br /&gt;
                &lt;/font&gt;&lt;/div&gt;
&lt;div&gt;                                 &lt;font face="monospace"&gt;Console.WriteLine(&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;                                             &lt;font face="monospace"&gt;"Press Q/q to quit and y/Y to continue!");&lt;br /&gt;
                val = Console.ReadLine();&lt;br /&gt;
&lt;br /&gt;
            } while (val.ToLower() != "q");&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        &lt;/font&gt;&lt;font color="#800080" face="monospace"&gt;private static void Invoke(object inst, string methodName)&lt;br /&gt;
        {&lt;br /&gt;
            var methodInfo = inst.GetType().GetMethod(methodName);&lt;br /&gt;
            methodInfo.Invoke(inst, null);&lt;br /&gt;
        }&lt;/font&gt;&lt;font face="monospace"&gt;&lt;br /&gt;
&lt;br /&gt;
        private static dynamic GetMeMyDynamicObject()&lt;br /&gt;
        {&lt;br /&gt;
            if (_toggle == null)&lt;br /&gt;
                _toggle = typeof(BehaviourB);&lt;br /&gt;
            if (typeof(BehaviourB) == _toggle)&lt;br /&gt;
            {&lt;br /&gt;
                _toggle = typeof(BehaviourA);&lt;br /&gt;
                return new BehaviourA();&lt;br /&gt;
            }&lt;br /&gt;
            else&lt;br /&gt;
            {&lt;br /&gt;
                _toggle = typeof(BehaviourB);&lt;br /&gt;
                return new BehaviourB();&lt;br /&gt;
            }&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#008000" face="Courier New"&gt;//Class&lt;/font&gt; &lt;font color="#008000" face="monospace"&gt;BehaviourA&lt;/font&gt;&lt;font color="#008000" face="Courier New"&gt;.cs&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="monospace"&gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Net4.Samples&lt;br /&gt;
{&lt;br /&gt;
    public class BehaviourA&lt;br /&gt;
    {&lt;br /&gt;
        public void DoSometing()&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine("Behaviour A - Do Something!");&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;&lt;font color="#008000" face="Courier New"&gt;//Class&lt;/font&gt; &lt;font color="#008000" face="monospace"&gt;BehaviourB&lt;/font&gt;&lt;font color="#008000" face="Courier New"&gt;.cs&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face="monospace"&gt;using System;&lt;br /&gt;
using System.Collections.Generic;&lt;br /&gt;
using System.Linq;&lt;br /&gt;
using System.Text;&lt;br /&gt;
&lt;br /&gt;
namespace Coderslog.Net4.Samples&lt;br /&gt;
{&lt;br /&gt;
    public class BehaviourB&lt;br /&gt;
    {&lt;br /&gt;
        public void DoSometing()&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine("Behaviour B - Do Something!");&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/font&gt;&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;Notice the dynamic way of invoking the method and Reflection way. Thats the benefit of dyanmic and many more. But it comes with its own problem. The same problem that is there with the reflection way is still there.&lt;/div&gt;
&lt;div&gt; &lt;/div&gt;
&lt;div&gt;We will as well look at some other aspects of the dynamic in the following posts.&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136148"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136148" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/NerdicCanvass/aggbug/136148.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/LbaP-RuvDnE" height="1" width="1"/&gt;</description><dc:creator>sanket</dc:creator><feedburner:origLink>http://geekswithblogs.net/NerdicCanvass/archive/2009/11/09/dynamic---introduction.aspx</feedburner:origLink></item><item><title>How to change the text of a softkey menu?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/wJVPKXdFf_g/how-to-change-the-text-of-a-softkey-menu.aspx</link><pubDate>Mon, 09 Nov 2009 06:34:59 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TechTwaddle/archive/2009/11/09/how-to-change-the-text-of-a-softkey-menu.aspx</guid><wfw:comment>http://geekswithblogs.net/TechTwaddle/comments/136147.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TechTwaddle/comments/commentRss/136147.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TechTwaddle/archive/2009/11/09/how-to-change-the-text-of-a-softkey-menu.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TechTwaddle/services/trackbacks/136147.aspx</trackback:ping><source url="http://geekswithblogs.net/TechTwaddle/rss.aspx">How to change the text of a softkey menu?</source><description>&lt;div style="FONT-FAMILY: Comic Sans MS; TEXT-ALIGN: justify"&gt;To change the text of a softkey menu item, all you have to do is pretend that they are buttons. Well, they are specialized buttons in any case. So in order to change its property (in this case the 'text') you will have to use the &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa932118.aspx"&gt;TBBUTTONINFO&lt;/a&gt;&lt;/span&gt; structure along with &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa929014.aspx"&gt;TB_GETBUTTONINFO&lt;/a&gt;&lt;/span&gt; and &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa920744.aspx"&gt;TB_SETBUTTONINFO&lt;/a&gt;&lt;/span&gt; messages. Lets dive into the code:&lt;br /&gt;
&lt;/div&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;span style="FONT-FAMILY: Comic Sans MS"&gt;Note: Error checking is omitted for obvious reasons.&lt;/span&gt;&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    TCHAR szText[128] = TEXT("");&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    TBBUTTONINFO tbi;&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    ZeroMemory(&amp;amp;tbi, sizeof(tbi));&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    tbi.cbSize = sizeof(tbi);&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    tbi.dwMask = TBIF_TEXT | TBIF_COMMAND;&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    tbi.pszText = szText;&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    tbi.cchText = sizeof(szText);&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    tbi.idCommand = IDM_MARK_UNMARK;&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    SendMessage(g_hWndMenuBar, TB_GETBUTTONINFO, (WPARAM)IDM_MARK_UNMARK, (LPARAM)&amp;amp;tbi);&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    if (!wcscmp(szText, L"Mark"))&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    {&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;        wcscpy(szText, L"Unmark");&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    }&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    else&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    {&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;        wcscpy(szText, L"Mark");&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    }&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;    SendMessage(g_hWndMenuBar, TB_SETBUTTONINFO, (WPARAM)IDM_MARK_UNMARK, (LPARAM)&amp;amp;tbi);&lt;/span&gt;&lt;br style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana" /&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;div style="FONT-FAMILY: Comic Sans MS; TEXT-ALIGN: justify"&gt;So we fill up the &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa932118.aspx"&gt;TBBUTTONINFO&lt;/a&gt;&lt;/span&gt; structure and then send &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa929014.aspx"&gt;TB_GETBUTTONINFO&lt;/a&gt;&lt;/span&gt; message to the menu bar. After this call returns, &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;szText&lt;/span&gt; will contain the text of the menu item. We switch the contents of &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;szText&lt;/span&gt; and then send a &lt;span style="COLOR: rgb(0,0,128); FONT-FAMILY: Verdana"&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/aa920744.aspx"&gt;TB_SETBUTTONINFO&lt;/a&gt;&lt;/span&gt; message. And the text on the menu item changes.&lt;br /&gt;
&lt;/div&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;div style="FONT-FAMILY: Comic Sans MS; TEXT-ALIGN: justify"&gt;Couple of seasons back I was working on an application which let the user "Mark" and "Unmark" dates on a calendar control. It was for a smartphone, so I thought this technique is quite handy and just qualifies for a post.&lt;br /&gt;
&lt;/div&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;span style="FONT-FAMILY: Comic Sans MS"&gt;Here is a video of it in action,&lt;/span&gt;&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;br /&gt;
&lt;br style="FONT-FAMILY: Comic Sans MS" /&gt;
&lt;br /&gt;
&lt;embed src="http://www.youtube.com/v/fnjAB_KFij0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;br /&gt;
&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136147"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136147" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TechTwaddle/aggbug/136147.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/wJVPKXdFf_g" height="1" width="1"/&gt;</description><dc:creator>TechTwaddle</dc:creator><feedburner:origLink>http://geekswithblogs.net/TechTwaddle/archive/2009/11/09/how-to-change-the-text-of-a-softkey-menu.aspx</feedburner:origLink></item><item><title>Windows Phone: &amp;ldquo;Hey, That Was My Idea&amp;rdquo;</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Lb1PydQ9X2U/windows-phone-ldquohey-that-was-my-ideardquo.aspx</link><pubDate>Mon, 09 Nov 2009 03:57:07 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/andrewbrust/archive/2009/11/08/windows-phone-ldquohey-that-was-my-ideardquo.aspx</guid><wfw:comment>http://geekswithblogs.net/andrewbrust/comments/136146.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/andrewbrust/comments/commentRss/136146.aspx</wfw:commentRss><comments>http://geekswithblogs.net/andrewbrust/archive/2009/11/08/windows-phone-ldquohey-that-was-my-ideardquo.aspx#comment</comments><slash:comments>3</slash:comments><trackback:ping>http://geekswithblogs.net/andrewbrust/services/trackbacks/136146.aspx</trackback:ping><source url="http://geekswithblogs.net/andrewbrust/rss.aspx">Windows Phone: &amp;ldquo;Hey, That Was My Idea&amp;rdquo;</source><description>&lt;p&gt;&lt;font size="2"&gt;The tech influencers’ Twitter streams have been all aflutter this weekend, with talk of the Motorola Droid.  &lt;/font&gt;&lt;font size="2"&gt;Verizon Wireless launched its version this phone on Friday, and the techies are swooning.  They love the screen, the Google Maps-based turn-by-turn navigation and the thinness of the phone, which still manages to sport a physical, slide-out keyboard.  Most of all they love the Verizon network, which offers resilient service and ubiquitous 3G coverage.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;There seems to be something else though.  There’s something that people either like about the Droid, or are at least willing to tolerate: the fact that the handset manufacturer (Motorola) and the phone OS vendor (Google) are separate entities.  People seem intrigued by the idea that unlike Apple, which makes both the iPhone and iPhone OS, and which controls the entire software channel for the device, that the Droid’s platform is decentralized, and the Android Market is open to all developers willing to pay the $25 registration fee.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;What’s ironic about the market’s new-found love for an open platform, that OEMs can customize and anyone can develop for?  It’s the exact same concept that Windows Mobile/Windows Phone has used for more than six years.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;I thought (up until now) that the iPhone succeeded because it dispensed with that model.  &lt;/font&gt;&lt;font size="2"&gt;Apple decided to (1) own the platform, (2) design and manufacture the devices, (3) market the product and (4) bully their exclusive US carrier to the degree that they almost control their device’s network, too.  Microsoft, on the other hand, saw companies like HTC, Samsung and Motorola make most of their phones and let the various carriers market the devices as they saw fit.  I thought that lack of uniformity and control was a huge part of why Microsoft lost so much share and momentum to Apple.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;But I think the Droid may prove me wrong.  Google’s got a similar model to Microsoft’s, many of the same OEM’s, the same approach to carriers and the same democratic approach to developers.  Meanwhile, people mistakenly believe Google invented this model, and the Droid seems poised to take off in a way that Windows Mobile never has.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;I’m going to write another post one day about Microsoft’s victory in the mobile space.  But it will be a look &lt;em&gt;back&lt;/em&gt;.  The win was in the late 1990s and early 2000s, when Microsoft built the PocketPC, and used it to beat Palm and its eponymous PDAs.  The problem is that Microsoft rested on that victory, using a little-evolved version of that same device in the phone market and thus leaving themselves wide open for the drubbing they got.  First from Apple and their different approach.  And now from Google with an almost identical one.  &lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;It’s ironic, and it’s sad.  But it’s hopeful too, because Google’s success will be, in some measure, a validation of Microsoft’s original approach.  And, hopefully, it will also be a lesson in how to make better devices and strive for superior execution.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136146"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136146" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/andrewbrust/aggbug/136146.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Lb1PydQ9X2U" height="1" width="1"/&gt;</description><dc:creator>andrewbrust</dc:creator><feedburner:origLink>http://geekswithblogs.net/andrewbrust/archive/2009/11/08/windows-phone-ldquohey-that-was-my-ideardquo.aspx</feedburner:origLink></item><item><title>ReleaseWeek.com Launched</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/qa17WS-e0OY/releaseweek.com-launched.aspx</link><pubDate>Mon, 09 Nov 2009 00:32:27 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/scottkuhl/archive/2009/11/08/releaseweek.com-launched.aspx</guid><wfw:comment>http://geekswithblogs.net/scottkuhl/comments/136145.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/scottkuhl/comments/commentRss/136145.aspx</wfw:commentRss><comments>http://geekswithblogs.net/scottkuhl/archive/2009/11/08/releaseweek.com-launched.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/scottkuhl/services/trackbacks/136145.aspx</trackback:ping><source url="http://geekswithblogs.net/scottkuhl/rss.aspx">ReleaseWeek.com Launched</source><description>&lt;p&gt;My wife and I have been working on a new site for the past couple of weeks.  This is our second project since we re-launched our home business.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://releaseweek.com/"&gt;&lt;strong&gt;ReleaseWeek.com&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/scottkuhl/WindowsLiveWriter/ReleaseWeek.comLaunched_104B0/ReleaseWeek_4.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ReleaseWeek" border="0" alt="ReleaseWeek" src="http://geekswithblogs.net/images/geekswithblogs_net/scottkuhl/WindowsLiveWriter/ReleaseWeek.comLaunched_104B0/ReleaseWeek_thumb_1.png" width="660" height="308" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The site lists major new releases of movies and television on DVD and Blu-Ray, video games, music and books.  All of this is put into a simple current week format.&lt;/p&gt;  &lt;p&gt;This is our first project released as part of the Microsoft WebsiteSpark program.  We built everything in ASP.NET Web Forms 3.5.  &lt;strong&gt;I’m working on a new article on how to create public facing websites with Web Forms and I’m using this site as a test bed.&lt;/strong&gt;  I’ll post the article here sometime in the coming months after I have tested everything out in a real world scenario.&lt;/p&gt;  &lt;p&gt;We’ll be tweaking it over the next few weeks.  Let us know what you want to see in the site.  To stay up to date on announcements of changes to the site, subscribe to our company blog at &lt;a href="http://www.codealtdelete.com/"&gt;Code Alt Delete&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136145"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136145" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/scottkuhl/aggbug/136145.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/qa17WS-e0OY" height="1" width="1"/&gt;</description><dc:creator>Scott Kuhl</dc:creator><feedburner:origLink>http://geekswithblogs.net/scottkuhl/archive/2009/11/08/releaseweek.com-launched.aspx</feedburner:origLink></item><item><title>Solving 'KataPotter', or: What kind of developer are you ?</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/YWxknxAdLb4/solving-katapotter-or-what-kind-of-developer-are-you.aspx</link><pubDate>Sun, 08 Nov 2009 18:13:44 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/thomasweller/archive/2009/11/08/solving-katapotter-or-what-kind-of-developer-are-you.aspx</guid><wfw:comment>http://geekswithblogs.net/thomasweller/comments/136141.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/thomasweller/comments/commentRss/136141.aspx</wfw:commentRss><comments>http://geekswithblogs.net/thomasweller/archive/2009/11/08/solving-katapotter-or-what-kind-of-developer-are-you.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/thomasweller/services/trackbacks/136141.aspx</trackback:ping><source url="http://geekswithblogs.net/thomasweller/rss.aspx">Solving 'KataPotter', or: What kind of developer are you ?</source><description>&lt;font size="2" face="Tahoma"&gt;&lt;font size="2" face="Tahoma"&gt;
    &lt;p dir="ltr" align="left"&gt;From time to time (and when there's room for it, of course), I'm doing a so-called &lt;a href="http://en.wikipedia.org/wiki/Code_Kata" target="_blank"&gt;Code Kata&lt;/a&gt;, a small to mid-size programming exercise that usually originates from some seminar or meeting. (Kata collections can be found &lt;a href="http://codingdojo.org/cgi-bin/wiki.pl?KataCatalogue" target="_blank"&gt;here&lt;/a&gt; or &lt;a href="http://codekata.pragprog.com/" target="_blank"&gt;here&lt;/a&gt;, for example.) What I especially like about them is the level of professional self-knowledge that they provide: When working on a Kata, you can experience how you deal with things without the usual business pressure. &lt;/p&gt;

    &lt;p dir="ltr" align="left"&gt;Lately, I did the &lt;a href="http://codingdojo.org/cgi-bin/wiki.pl?KataPotter" target="_blank"&gt;KataPotter&lt;/a&gt; (you  can download my solution &lt;a href="http://rapidshare.com/files/303490518/KataPotter.zip" target="_blank"&gt;here&lt;/a&gt;), and doing it gave me some valuable insights into my coding process. Of course, they were not totally new to me, but I never did formulate them before in such an explicit clarity. Here they are:&lt;/p&gt;

    &lt;ul&gt;
      &lt;li&gt;
        &lt;div align="left"&gt;Although I'm consequently doing &lt;a href="http://en.wikipedia.org/wiki/Test-driven_development" target="_blank"&gt;Test-driven development&lt;/a&gt;, I usually refuse to write a single line of code before I have an (at least vague) idea of the solution's architecture - TDD without a minimum amount of upfront-design is like starting off without having an idea about the destination - chances are good, that you will end up in the middle of nowhere...&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;
        &lt;div align="left"&gt;I'm not writing &lt;em&gt;much&lt;/em&gt; code, instead I try hard to write the &lt;em&gt;right&lt;/em&gt; code. Measuring productivity with the &lt;a href="http://en.wikipedia.org/wiki/Lines_of_code" target="_blank"&gt;Source lines of code&lt;/a&gt; (SLOC) metric feels just plain wrong to me - a monkey can produce code lines. For me, developing software is not about writing code in the first place, it's about &lt;em&gt;providing solutions in the form of computer programs&lt;/em&gt; - sometimes I even feel like software development is about &lt;em&gt;avoiding&lt;/em&gt; code in the first place...&lt;/div&gt;
      &lt;/li&gt;

      &lt;li&gt;I care very much about readability, maintainability and extensibility in general, and about the clarity and expressiveness of my unit tests in particular. &lt;/li&gt;

      &lt;li&gt;I hardly can see a piece of software outside its business context and lifecycle. &lt;/li&gt;

      &lt;li&gt;I have serious difficulties to adhere to the &lt;a href="http://en.wikipedia.org/wiki/YAGNI" target="_blank"&gt;YAGNI&lt;/a&gt; principle, although I find it absolutely reasonable in theory. It's just that my brain instinctively tries to anticipate all possible future situations, and actively ignoring them feels quite uncomfortable to me. Consequently, I failed to provide a just-good-enough solution for the Kata, and came up with a general one instead... &lt;/li&gt;

      &lt;li&gt;I'm almost an idiot, when it comes to logical and mathematical algorithms. Instead, I try to do all my coding on the basis of common sense and the realities of the respective business context. - This is mainly a consequence of the fact that I studied humanities (Psychology, Sociology, Literature, and Philosophy) in university, and therefore have no in-depth background in any natural science. However, there rarely was a situation during the last ten years, where this was a problem. To the contrary, it often proofed to be beneficial to have a non-technical background, which allowed me to see further than the end of the (technical) nose. &lt;/li&gt;

      &lt;li&gt;I'm nearly helpless, if I don't have a connection to the internet. Having access to the world's knowledge and insights about coding, as well as to my beloved and frequently used &lt;a href="http://www.safaribooksonline.com/" target="_blank"&gt;Safari Books Online&lt;/a&gt; technical library, is essential for my coding process. &lt;/li&gt;
    &lt;/ul&gt;

    &lt;p&gt;I guess, the above doesn't make me the &lt;em&gt;typical programmer&lt;/em&gt; (whatever this might be exactly). That's ok: I never intended to be one of that breed ...&lt;/p&gt;

    &lt;h1&gt;The sample solution&lt;/h1&gt;

    &lt;p&gt;My solution for the &lt;a href="http://codingdojo.org/cgi-bin/wiki.pl?KataPotter" target="_blank"&gt;KataPotter&lt;/a&gt; (VS 2008) can be downloaded &lt;a href="http://rapidshare.com/files/303490518/KataPotter.zip" target="_blank"&gt;here&lt;/a&gt;. To compile and run, you must have the Gallio automation platform installed, which you can get from &lt;a href="http://www.gallio.org/Downloads.aspx" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;
  &lt;/font&gt;&lt;/font&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136141"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136141" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/thomasweller/aggbug/136141.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/YWxknxAdLb4" height="1" width="1"/&gt;</description><dc:creator>Thomas Weller</dc:creator><feedburner:origLink>http://geekswithblogs.net/thomasweller/archive/2009/11/08/solving-katapotter-or-what-kind-of-developer-are-you.aspx</feedburner:origLink></item><item><title>Just interviewed Atif Aziz for the DotNetRadio podcast</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/rg0qU-IfO6o/just-interviewed-atif-aziz-for-the-dotnetradio-podcast.aspx</link><pubDate>Sun, 08 Nov 2009 17:04:00 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/AndrewSiemer/archive/2009/11/08/just-interviewed-atif-aziz-for-the-dotnetradio-podcast.aspx</guid><wfw:comment>http://geekswithblogs.net/AndrewSiemer/comments/136139.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/AndrewSiemer/comments/commentRss/136139.aspx</wfw:commentRss><comments>http://geekswithblogs.net/AndrewSiemer/archive/2009/11/08/just-interviewed-atif-aziz-for-the-dotnetradio-podcast.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/AndrewSiemer/services/trackbacks/136139.aspx</trackback:ping><source url="http://geekswithblogs.net/AndrewSiemer/rss.aspx">Just interviewed Atif Aziz for the DotNetRadio podcast</source><description>&lt;p&gt;I just got through interviewing &lt;a href="http://raboof.com/" target="_blank"&gt;Atif Aziz&lt;/a&gt; (&lt;a href="http://twitter.com/raboof" target="_blank"&gt;@raboof&lt;/a&gt; on twitter – foobar spelled backwards!) probably most known (at least to me) for his &lt;a href="http://code.google.com/p/elmah/" target="_blank"&gt;ELMAH&lt;/a&gt; (Error Logging Modules and Handlers) contribution.  We discussed ELMAH, ELMAH’s Veracode Application Security Rating which made &lt;a href="http://www.owasp.org/index.php/Top_10_2007" target="_blank"&gt;OWASP top 10 in 2007&lt;/a&gt; and &lt;a href="http://www.sans.org/top25-programming-errors/" target="_blank"&gt;SANS-CWE top 25&lt;/a&gt;, &lt;a href="http://code.google.com/p/fizzler/" target="_blank"&gt;Fizzler&lt;/a&gt;, &lt;a href="http://code.google.com/p/jayrock/" target="_blank"&gt;Jayrock&lt;/a&gt;, &lt;a href="http://www.raboof.com/Projects/BackLINQ/" target="_blank"&gt;BackLINQ&lt;/a&gt;, &lt;a href="http://code.google.com/p/linqbridge/" target="_blank"&gt;LINQBridge&lt;/a&gt;, and &lt;a href="http://code.google.com/p/morelinq/" target="_blank"&gt;MoreLINQ&lt;/a&gt;.  Atif is a very smart guy and you can truly hear his passion for sharing with the development community when speaking with him.  This was a great interview that I think any .net developer could learn a thing or two from.  Look for this interview in the near future on the &lt;a href="http://www.dotnetradio.com" target="_blank"&gt;DotNetRadio&lt;/a&gt; podcast.  &lt;/p&gt;  &lt;p&gt;Subscribe to the podcast feed here: &lt;a href="http://feeds.feedburner.com/Dotnetradio"&gt;http://feeds.feedburner.com/Dotnetradio&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And follow the show on twitter here: &lt;a href="http://twitter.com/dnetradio"&gt;http://twitter.com/dnetradio&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7970b48d-d1c4-4cc7-8143-70db1fc1feaf" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Atif+Aziz" rel="tag"&gt;Atif Aziz&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ELMAH" rel="tag"&gt;ELMAH&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Jayrock" rel="tag"&gt;Jayrock&lt;/a&gt;,&lt;a href="http://technorati.com/tags/BackLINQ" rel="tag"&gt;BackLINQ&lt;/a&gt;,&lt;a href="http://technorati.com/tags/LINQBridge" rel="tag"&gt;LINQBridge&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MoreLINQ" rel="tag"&gt;MoreLINQ&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136139"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136139" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/AndrewSiemer/aggbug/136139.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/rg0qU-IfO6o" height="1" width="1"/&gt;</description><dc:creator>Andrew Siemer - www.andrewsiemer.com</dc:creator><feedburner:origLink>http://geekswithblogs.net/AndrewSiemer/archive/2009/11/08/just-interviewed-atif-aziz-for-the-dotnetradio-podcast.aspx</feedburner:origLink></item><item><title>.Net RIA services is live</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/Cc4fiU1W3VU/.net-ria-services-is-live.aspx</link><pubDate>Sun, 08 Nov 2009 15:44:39 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/thanigai/archive/2009/11/08/.net-ria-services-is-live.aspx</guid><wfw:comment>http://geekswithblogs.net/thanigai/comments/136138.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/thanigai/comments/commentRss/136138.aspx</wfw:commentRss><comments>http://geekswithblogs.net/thanigai/archive/2009/11/08/.net-ria-services-is-live.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/thanigai/services/trackbacks/136138.aspx</trackback:ping><source url="http://geekswithblogs.net/thanigai/rss.aspx">.Net RIA services is live</source><description>&lt;p&gt;&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium &amp;quot;Times New Roman&amp;quot;; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-SIZE: 13px" class="Apple-style-span"&gt;Hi All,&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium &amp;quot;Times New Roman&amp;quot;; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-SIZE: 13px" class="Apple-style-span"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium &amp;quot;Times New Roman&amp;quot;; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-SIZE: 13px" class="Apple-style-span"&gt;The most awaited RIA services is live. You can check the below blog post. &lt;a href="http://blogs.msdn.com/brada/default.aspx"&gt;http://blogs.msdn.com/brada/default.aspx&lt;/a&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium &amp;quot;Times New Roman&amp;quot;; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-SIZE: 13px" class="Apple-style-span"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium &amp;quot;Times New Roman&amp;quot;; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px" class="Apple-style-span"&gt;&lt;span style="FONT-FAMILY: monospace; WHITE-SPACE: pre-wrap; FONT-SIZE: 13px" class="Apple-style-span"&gt;Thanks, Thani&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136138"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136138" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/thanigai/aggbug/136138.aspx" width="1" height="1" /&gt;&lt;img src="http://feeds.feedburner.com/~r/geekswithblogs/~4/Cc4fiU1W3VU" height="1" width="1"/&gt;</description><dc:creator>thanigai</dc:creator><feedburner:origLink>http://geekswithblogs.net/thanigai/archive/2009/11/08/.net-ria-services-is-live.aspx</feedburner:origLink></item><item><title>Sample .NET RIA Services Application Available</title><link>http://feedproxy.google.com/~r/geekswithblogs/~3/L0bKT6PzJ1M/136137.aspx</link><pubDate>Sun, 08 Nov 2009 15:06:28 GMT</pubDate><guid isPermaLink="false">http://geekswithblogs.net/TakeNote/archive/2009/11/08/136137.aspx</guid><wfw:comment>http://geekswithblogs.net/TakeNote/comments/136137.aspx</wfw:comment><wfw:commentRss>http://geekswithblogs.net/TakeNote/comments/commentRss/136137.aspx</wfw:commentRss><comments>http://geekswithblogs.net/TakeNote/archive/2009/11/08/136137.aspx#comment</comments><slash:comments>0</slash:comments><trackback:ping>http://geekswithblogs.net/TakeNote/services/trackbacks/136137.aspx</trackback:ping><source url="http://geekswithblogs.net/TakeNote/rss.aspx">Sample .NET RIA Services Application Available</source><description>&lt;p&gt;During my Building Line of Business Applications with Silverlight 3 presentation I walk through the creation of a sample application. The complete code for that sample application is available for download on the &lt;a href="http://www.takenote.com" target="_blank"&gt;TakeNote Technologies&lt;/a&gt; website. Scroll down to the bottom of the homepage and you’ll find the Presentations section.&lt;/p&gt;  &lt;p&gt;If you have any trouble getting it running please let me know.&lt;/p&gt;  &lt;p&gt;Have a  day. :-|&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=136137"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a