<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://bloggingabout.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Pascal Naber</title><link>http://bloggingabout.net/blogs/pascal/default.aspx</link><description>.Net</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>WF 4.0 beta 2 making persistence work</title><link>http://bloggingabout.net/blogs/pascal/archive/2009/10/27/wf-4-0-beta2-making-persistence-work.aspx</link><pubDate>Tue, 27 Oct 2009 19:56:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:482382</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=482382</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2009/10/27/wf-4-0-beta2-making-persistence-work.aspx#comments</comments><description>&lt;p&gt;WF &amp;amp; WCF&amp;nbsp;beta 2 samples contains some samples to work with WF&amp;nbsp;persistence.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;OOB this is not working. What do you have to do to make it work:&lt;br /&gt;&lt;br /&gt;Navigate to the .NET Framework 4.0 directory (C:\WINDOWS\Microsoft.NET\Framework\v4.0.21006)&lt;/li&gt;
&lt;li&gt;Open WorkflowManagementService.exe.config in visual studio&lt;/li&gt;
&lt;li&gt;Add a database to the configuration like: &lt;br /&gt;&amp;lt;databases&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;database connectionString=&amp;quot;Data Source=localhost\SQLEXPRESS;Initial Catalog=DefaultSampleStore;Integrated Security=True;Asynchronous Processing=True&amp;quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;lt;/databases&amp;gt;&lt;/li&gt;
&lt;li&gt;Make sure that the WorkflowManagementService is added as a windows service. The setup.cmd of sample DurableDelay&amp;nbsp;does this for you.&amp;nbsp;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Samples like BuiltInConfiguration &amp;amp; DurableDelay do work now. (the connectionstrings in both the application and&amp;nbsp;configured in WorkflowManagementService.exe.config must be the same)&lt;br /&gt;In workflow 3.X the SqlWorkflowPersistenceService polls the database. Now WorkflowManagementService.exe is polling this database and when it&amp;#39;s time to continue the workflow it notifies the workflow application.&lt;/p&gt;
&lt;p&gt;It&amp;#39;s much nicer to see the power of persistent workflows when you add a something like:&lt;/p&gt;
&lt;p&gt;Console.WriteLine(&amp;quot;Hit any key to start a workflow instance&amp;quot;);&lt;br /&gt;Console.ReadLine();&lt;/p&gt;
&lt;p&gt;just before the proxy.start() call. &lt;/p&gt;
&lt;p&gt;When you start a workflow for the first time you hit any key to start a workflow instance. While the application is running just kill the application. Start it up again. Now because only the servicehost is started, the application will continue the interrupted workflow.&lt;/p&gt;
&lt;p&gt;download the WF &amp;amp; WCF Samples for WF 4.0 beta 2: &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=35ec8682-d5fd-4bc3-a51a-d8ad115a8792"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=35ec8682-d5fd-4bc3-a51a-d8ad115a8792&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=482382" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/WF+4.0/default.aspx">WF 4.0</category></item><item><title>WF 4.0 What is different from 3.X part 2</title><link>http://bloggingabout.net/blogs/pascal/archive/2009/05/27/wf-4-0-what-is-different-from-3-x-part-2.aspx</link><pubDate>Wed, 27 May 2009 11:13:19 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:481707</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=481707</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2009/05/27/wf-4-0-what-is-different-from-3-x-part-2.aspx#comments</comments><description>&lt;p&gt;Some more facts about WF 4.0. &lt;/p&gt;  &lt;p&gt;Part 1 can be found &lt;a href="http://bloggingabout.net/blogs/pascal/archive/2009/05/20/wf-4-0-what-is-different-from-3-x.aspx" target="_blank"&gt;here&lt;/a&gt; &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;There is no rule engine anymore!&lt;/li&gt;    &lt;li&gt;Workflows have a XAML extension now. (activities can have that too)&lt;/li&gt;    &lt;li&gt;Everything in a XAML workflow is XAML based (suprising isn’t it ;-. In WF 3.X this wasn’t the case). Now there is no CodeDom for expressions/rules anymore. (Code based workflows are possible also)&lt;/li&gt;    &lt;li&gt;The designer is completely new. WPF based and easier to rehost in your own application.&lt;/li&gt;    &lt;li&gt;No binding of activities to each other anymore. This is the responsibility of variables and arguments from now on.&lt;/li&gt;    &lt;li&gt;No dependency properties anymore on custom activities, but InArgument&amp;lt;T&amp;gt; and OutArgument&amp;lt;T&amp;gt; properties. &lt;/li&gt;    &lt;li&gt;It’s easier to make Custom Activities. Custom activities can be made in code or in XAML. There are a lot of base classes for code based custom activities. WorkflowElement is the base class of all activities. CodeActivity&amp;lt;T&amp;gt; for simple activities that return 1 value (of type T). CodeActivity for simple activities that return no or multiple values. NativeActivity&amp;lt;T&amp;gt; and NativeActivity for complex activities like long running activities.&lt;/li&gt;    &lt;li&gt;No code condition or declarative rule condition anymore. Every rule can be coded as an expression. Expressions are stored in XAML within the Workflow XAML file. No seperate CodeDom rules file anymore.&lt;/li&gt;    &lt;li&gt;No WorkflowSchedulerService (Manual or Default) anymore to manage on which thread the workflow runs. In WF 4.0 Use WorkflowInstance or WorkflowInvoker. WorkflowInstance for Async workflows (on a separate thread) and WorkflowInvoker for Synchrone workflows (on the running thread). The latter is ideal for unit testing activities.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;to be continued…&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481707" width="1" height="1"&gt;</description></item><item><title>WF 4.0 What is different from 3.X</title><link>http://bloggingabout.net/blogs/pascal/archive/2009/05/20/wf-4-0-what-is-different-from-3-x.aspx</link><pubDate>Wed, 20 May 2009 12:37:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:481672</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=481672</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2009/05/20/wf-4-0-what-is-different-from-3-x.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;m playing with WF 4.0 at the moment and made a list what&amp;rsquo;s changed compared with WF 3.X. &lt;br /&gt;Some features were already known since the PDC but I&amp;rsquo;m trying to create a nice overview list.&lt;/p&gt;
&lt;p&gt;I will change this post as I play further with it.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;WF 4.0 is completely rewritten. So you can&amp;rsquo;t upgrade your WF 3.X workflows to WF 4.0. All activities and the runtime is new. Some activities are familiar but there are many new ones.&lt;/li&gt;
&lt;li&gt;You can still use your WF 3.X custom activities. This can be done via the new Interop activity.&lt;/li&gt;
&lt;li&gt;StateMachine workflows do not exists anymore. Only Seqential and a new type called FlowChart.&lt;/li&gt;
&lt;li&gt;Code and XAML based workflows are possible, but code based workflows do not have a designer.&lt;/li&gt;
&lt;li&gt;It&amp;rsquo;s possible to Unit Test Activities (workflows are activities too)&lt;/li&gt;
&lt;li&gt;Activities doesn&amp;rsquo;t have to be executed via a workflow. Activities can be executed in code also. Which makes reuse of activities more interesting.&lt;/li&gt;
&lt;li&gt;Not possible to make properties on your workflow. Instead of this there are variables and arguments now. Variables represent the storage of data. Arguments represent the flow of data into and out of an activity. Variables have a scope. The activity selected provides the scope. There are 2 new views in Visual Studio to manage the variables and arguments.&lt;/li&gt;
&lt;li&gt;On all kinds of activities, expressions are possible. Like the if statement on a If Activity. Expressions are program statements, a string value or .NET code. This expressions are written in VB!. This means capitalization does not matter, comparison is performed using a single equals sign instead of &amp;ldquo;==&amp;rdquo;, and the Boolean operators are the words &amp;quot;and&amp;quot; and &amp;quot;or&amp;quot; instead of the symbols &amp;quot;&amp;amp;&amp;amp;&amp;quot; and &amp;quot;||&amp;quot;.&lt;/li&gt;
&lt;li&gt;ExceptionHandling is not arranged through a separate designer anymore. There is a TryCatch activity now. (which has a finally also)&lt;/li&gt;
&lt;li&gt;The parallel activity is truly executing parallel now&lt;/li&gt;
&lt;li&gt;Correlation can be setup with your own identifier (content based correlation)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Much more to come&amp;hellip;&lt;/p&gt;
&lt;p&gt;Update:&lt;br /&gt;&lt;a href="http://bloggingabout.net/blogs/pascal/archive/2009/05/27/wf-4-0-what-is-different-from-3-x-part-2.aspx"&gt;Part 2&lt;/a&gt; continues the list&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481672" width="1" height="1"&gt;</description></item><item><title>BizTalk 2009 Free Microsoft downloads: overview</title><link>http://bloggingabout.net/blogs/pascal/archive/2009/04/21/biztalk-2009-free-microsoft-downloads-overview.aspx</link><pubDate>Tue, 21 Apr 2009 20:25:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:481548</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=481548</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2009/04/21/biztalk-2009-free-microsoft-downloads-overview.aspx#comments</comments><description>&lt;p&gt;Microsoft has released a lot of resources related to BizTalk 2009 (which are free to download). Among them are presentations, whitepapers, posters, videos, FAQs etc.&lt;/p&gt;
&lt;p&gt;This post gives an overview of all downloads. I will update this post when new downloads appear. &lt;br /&gt;Some BizTalk 2006 resources are interesting and still appropriate to BizTalk 2009. Those are listed here also, but this list is not comprehensive.&lt;/p&gt;
&lt;p&gt;When I&amp;rsquo;m missing something that has to be added to this lists, please let me know.&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;&lt;span lang="EN"&gt;
&lt;p&gt;Microsoft BizTalk Server 2009 Operations Guide&lt;/p&gt;
&lt;/span&gt;&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=46a77327-affb-4ca2-9451-67912babbb03#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=46a77327-affb-4ca2-9451-67912babbb03#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d36d4c36-7396-4302-929f-7c59ff4327f6#tm"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;&lt;span lang="EN"&gt;
&lt;p&gt;BizTalk Server 2009 RFID Operations Guide&lt;/p&gt;
&lt;/span&gt;&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f8584561-da18-42df-ad44-02a326c8aaca#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f8584561-da18-42df-ad44-02a326c8aaca#tm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d36d4c36-7396-4302-929f-7c59ff4327f6#tm"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;&lt;span lang="EN"&gt;
&lt;p&gt;Microsoft BizTalk Adapter 2.0 Migration Whitepaper&lt;/p&gt;
&lt;/span&gt;&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c1e3149b-322e-4ea6-aa79-9fc2c0515eec#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c1e3149b-322e-4ea6-aa79-9fc2c0515eec#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=46a77327-affb-4ca2-9451-67912babbb03#tm"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d36d4c36-7396-4302-929f-7c59ff4327f6#tm"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;&lt;span lang="EN"&gt;
&lt;p&gt;TechReady 8 - BizTalk Customer Advisory Team Presentations&lt;/p&gt;
&lt;/span&gt;&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d36d4c36-7396-4302-929f-7c59ff4327f6#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d36d4c36-7396-4302-929f-7c59ff4327f6#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Adapter Pack Migration Tool&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e68b8fd1-5c8a-499a-8237-4dc23a8342c5#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e68b8fd1-5c8a-499a-8237-4dc23a8342c5#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;TechEd 2009 (North America) - BizTalk Server Presentations&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=aa4af82f-17c3-45a2-a357-2c3ed41fd6e0#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=aa4af82f-17c3-45a2-a357-2c3ed41fd6e0#tm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;TechReady 7 - BizTalk Customer Advisory Team Presentations&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d180a0d7-2853-4fd8-9890-984863a9cad7#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d180a0d7-2853-4fd8-9890-984863a9cad7#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server RFID 2009 Whitepaper: Installing and Running BizTalk Server RFID 2009 in a Windows Server 2008 Cluster &lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b038dda0-38a2-4d00-a30c-18cbca5af803#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b038dda0-38a2-4d00-a30c-18cbca5af803#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Improving Fault Tolerance in BizTalk Server by Using a Windows Server 2008 failover cluster or Windows Server 2003 server cluster&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=eb437722-2828-4cbb-84c3-17556b4df26b#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=eb437722-2828-4cbb-84c3-17556b4df26b#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Using the BizTalk WCF Service Publishing Wizard to Publish Orchestrations as WCF Services (video)&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=8c1ec6a1-0ecd-4bff-b2d8-22875ed398ce#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=8c1ec6a1-0ecd-4bff-b2d8-22875ed398ce#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Using the BizTalk WCF Service Consuming Wizard (video)&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ba6c529a-e5dd-4944-bdd2-276df7b94105#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ba6c529a-e5dd-4944-bdd2-276df7b94105#tm&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Capabilities Poster&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9cb8fa47-f8b9-4b58-a927-3430826f520c&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Installing and Configuring Microsoft BizTalk Adapters for Enterprise Applications&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=73906bf5-4197-4941-a73f-a43c0d38618f&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Runtime Architecture Poster&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d022a0a4-3b27-49cf-b47c-16d8458a1be2&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Evaluation Edition&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=1e545278-0d5b-4bbd-b073-18111ce86995&amp;amp;displaylang=en&lt;/a&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Code Samples&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkId=146129"&gt;http://go.microsoft.com/fwlink/?LinkId=146129&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Microsoft BizTalk Adapter for SQL Server Installation Guide and Help&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=f6a520b2-1804-4c17-a73d-b6377fecc40d&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Microsoft BizTalk Adapter for SQL Server&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ceb0bb34-f9d2-4d14-8bbe-0311d227b091&amp;amp;displaylang=en&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Microsoft BizTalk Adapter Pack 2.0 Help&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=6017f258-b453-408b-a617-ed76c8679141"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=6017f258-b453-408b-a617-ed76c8679141&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ff0b19a6-72c1-43b3-9d38-b874303590ce&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Microsoft BizTalk Adapter Pack 2.0 Installation Guide&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ff0b19a6-72c1-43b3-9d38-b874303590ce&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=ff0b19a6-72c1-43b3-9d38-b874303590ce&amp;amp;displaylang=en&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Adapter Pack 2.0 Trial&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=76736ba7-3c05-4436-9353-1c33f9005194&amp;amp;displaylang=en&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Installation and Upgrade Guides&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=9c697e02-d1bc-4684-8748-28b3a292d5bf&lt;/a&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;WCF LOB Adapter SDK SP2&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="color:#0000ff;"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=47ab6f21-0d8b-4c90-a8b9-e8647281b164#tm&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;BizTalk Server 2009 Documentation&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cad8a5eb-1104-4a85-a3c1-31b2c8acfe63#tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="260" valign="top"&gt;Microsoft BizTalk Adapter Pack 1.0 (Oracle, MySAP, Siebel)&lt;/td&gt;
&lt;td width="736" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=58bd17c8-8efa-4b69-ab51-9f5b11a962dc#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=58bd17c8-8efa-4b69-ab51-9f5b11a962dc#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=58bd17c8-8efa-4b69-ab51-9f5b11a962dc#tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="261" valign="top"&gt;BizTalk Server 2009 Hyper-V Guide&lt;/td&gt;
&lt;td width="735" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0582bc67-0bef-4a0a-99cf-4408a111c4e3#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0582bc67-0bef-4a0a-99cf-4408a111c4e3#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=0582bc67-0bef-4a0a-99cf-4408a111c4e3#tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="262" valign="top"&gt;Microsoft BizTalk Server 2009 Technical Overview&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1f839374-17df-43b9-840e-60c11f20f42b#tm" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1f839374-17df-43b9-840e-60c11f20f42b#tm"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=1f839374-17df-43b9-840e-60c11f20f42b#tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Adapter Pack: Connecting LOB Systems and Microsoft Office SharePoint Server - English&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cfc944df-db01-41da-865f-6ae6d100469b" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cfc944df-db01-41da-865f-6ae6d100469b"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=cfc944df-db01-41da-865f-6ae6d100469b&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;How a WCF Receive Adapter Processes an Incoming WCF Message&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c94f6263-3cd4-43b5-b038-5737a8d0d219" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c94f6263-3cd4-43b5-b038-5737a8d0d219"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=c94f6263-3cd4-43b5-b038-5737a8d0d219&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;Windows Communication Foundation (WCF) Adapter FAQs&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13d6121d-c82b-4614-a160-7c88bcc037b7" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13d6121d-c82b-4614-a160-7c88bcc037b7"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=13d6121d-c82b-4614-a160-7c88bcc037b7&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Adapter Pack 2.0 Interactive Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e0b11f69-657a-4cae-9838-ccf96b15d3ec" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e0b11f69-657a-4cae-9838-ccf96b15d3ec"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e0b11f69-657a-4cae-9838-ccf96b15d3ec&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Adapter Pack 2.0/WCF LOB Adapter SDK Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4A7E28B9-9F4B-4989-A35A-247F379F2142&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=4A7E28B9-9F4B-4989-A35A-247F379F2142&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=4A7E28B9-9F4B-4989-A35A-247F379F2142&amp;amp;displaylang=en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Server 2009 Scale-out Configurations Interactive Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d9cc7d13-7324-4f24-88de-7b063fde62e8" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d9cc7d13-7324-4f24-88de-7b063fde62e8"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=d9cc7d13-7324-4f24-88de-7b063fde62e8&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Server 2009 Scale-out Configurations Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=DBBE85C5-4DD4-4B28-B2F1-6197980FD149&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=DBBE85C5-4DD4-4B28-B2F1-6197980FD149&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=DBBE85C5-4DD4-4B28-B2F1-6197980FD149&amp;amp;displaylang=en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Server 2009 BAM Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=193cd7a4-e271-46bb-b4ee-8434dfa779a0&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=193cd7a4-e271-46bb-b4ee-8434dfa779a0&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=193cd7a4-e271-46bb-b4ee-8434dfa779a0&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Server 2009 Database Infrastructure Poster&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=2E322206-03CF-47BA-BDB0-F96770F889ED&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=2E322206-03CF-47BA-BDB0-F96770F889ED&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=2E322206-03CF-47BA-BDB0-F96770F889ED&amp;amp;displaylang=en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Adapters for Host Systems Installation Guide and Release Notes&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4e367af8-7f54-4e21-b10a-3e8387d2c82f&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=4e367af8-7f54-4e21-b10a-3e8387d2c82f&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=4e367af8-7f54-4e21-b10a-3e8387d2c82f&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;BizTalk Server and WCF Support in Visual Studio 2008&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=942b3294-78da-401f-b99c-56c4e9b96e77&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=942b3294-78da-401f-b99c-56c4e9b96e77&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=942b3294-78da-401f-b99c-56c4e9b96e77&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;Enhancing the Production Line with Microsoft BizTalk RFID (video)&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=cb8aed9b-70fe-43dd-b7e1-c9f883d9ad19&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=cb8aed9b-70fe-43dd-b7e1-c9f883d9ad19&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=cb8aed9b-70fe-43dd-b7e1-c9f883d9ad19&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;IGPS Case Study Using Microsoft BizTalk Server and RFID (video)&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=a7448311-ae97-4ece-ab29-6c9e1ba6922f&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=a7448311-ae97-4ece-ab29-6c9e1ba6922f&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=a7448311-ae97-4ece-ab29-6c9e1ba6922f&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;Tehko Case Study Using Microsoft BizTalk RFID: Fresh Fish (video)&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=4ac0bb68-fb52-478e-bbe6-a26c3bd6aaa2&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=4ac0bb68-fb52-478e-bbe6-a26c3bd6aaa2&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=4ac0bb68-fb52-478e-bbe6-a26c3bd6aaa2&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;Microsoft Dynamics AX 2009 AIF BizTalk Adapter Configuration White Paper&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=edc62433-5b21-4f74-b065-b075ba6dc86d&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=edc62433-5b21-4f74-b065-b075ba6dc86d&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=edc62433-5b21-4f74-b065-b075ba6dc86d&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="263" valign="top"&gt;Business Activity Monitoring (BAM) in Depth for Developers&lt;/td&gt;
&lt;td width="734" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=ff6e4498-b1ff-4932-ba6b-1b53ac6fb3b2&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=ff6e4498-b1ff-4932-ba6b-1b53ac6fb3b2&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=ff6e4498-b1ff-4932-ba6b-1b53ac6fb3b2&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;BizTalk 2006&lt;/p&gt;
&lt;table cellpadding="2" cellspacing="0" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="258" valign="top"&gt;Microsoft BizTalk Server Performance Optimization Guide&lt;/td&gt;
&lt;td width="737" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=98ecf11a-9a8e-4939-8cef-2bc5536dc792&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=98ecf11a-9a8e-4939-8cef-2bc5536dc792&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=98ecf11a-9a8e-4939-8cef-2bc5536dc792&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="260" valign="top"&gt;BizTalk Server 2006 Tutorials&lt;/td&gt;
&lt;td width="736" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=6A5F6EF4-AEB8-4D8D-A521-37333A875CE4&amp;amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=6A5F6EF4-AEB8-4D8D-A521-37333A875CE4&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=6A5F6EF4-AEB8-4D8D-A521-37333A875CE4&amp;amp;displaylang=en&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="261" valign="top"&gt;Microsoft BizTalk Server 2006 Administration Tutorials&lt;/td&gt;
&lt;td width="735" valign="top"&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=d3add54f-4bb7-444d-9300-6230180dbb45&amp;amp;displaylang=en&amp;amp;tm" title="http://www.microsoft.com/downloads/details.aspx?familyid=d3add54f-4bb7-444d-9300-6230180dbb45&amp;amp;displaylang=en&amp;amp;tm"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=d3add54f-4bb7-444d-9300-6230180dbb45&amp;amp;displaylang=en&amp;amp;tm&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481548" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/BizTalk+2009/default.aspx">BizTalk 2009</category></item><item><title>.NET 4.0 feature als preview voor .NET 3.5: Code Contracts (Dutch)</title><link>http://bloggingabout.net/blogs/pascal/archive/2009/03/06/net-4-0-feature-als-preview-voor-net-3-5-code-contracts-dutch.aspx</link><pubDate>Fri, 06 Mar 2009 14:19:20 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:481279</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=481279</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2009/03/06/net-4-0-feature-als-preview-voor-net-3-5-code-contracts-dutch.aspx#comments</comments><description>&lt;p&gt;Op de PDC heeft Microsoft een aantal nieuwe features bekend gemaakt die in .NET 4.0 zullen komen. Een van deze features is Code Contracts. Van Code Contracts heeft Microsoft een preview versie voor Visual Studio 2008 Team edition uitgebracht. Nu kan je in je huidige omgeving Code Contracts uitproberen. Code Contracts voorzien in Design by Contract.&lt;/p&gt;  &lt;h3&gt;Wat is Design by Contract&lt;/h3&gt;  &lt;p&gt;Design by Contract (DBC) is door Bertrand Meyer in de taal Eiffel voor het eerste gebruikt. Hij heeft het mogelijk gemaakt om contracten vast te leggen tussen aanroepende (client) en aangeroepen code (supplier). &lt;/p&gt;  &lt;p&gt;De vragen die continue afgevraagd kunnen worden bij de aanroep van code:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;u&gt;Wat verwacht het?&lt;/u&gt; De preconditie: wat moet waar zijn voordat de aanroep gedaan wordt&lt;/li&gt;    &lt;li&gt;&lt;u&gt;Wat garandeerd het?&lt;/u&gt; De postconditie: wat is waar na afloop van de aanroep&lt;/li&gt;    &lt;li&gt;&lt;u&gt;Wat wordt er altijd gegarandeerd?&lt;/u&gt; De Invariant: wat is continue waar.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;De client dient bij de aanroep naar de supplier de precondities te controleren. De supplier garandeerd na het controleren van de precondities dat het resultaat voldoet aan de postcondities. Daarnaast zorgt de supplier dat de invariant condities worden nageleefd.&lt;/p&gt;  &lt;p&gt;Om deze reden is er sprake van een contract tussen client en supplier. Indien je meer wil weten van DBC kan je hier eens kijken: &lt;a href="http://en.wikipedia.org/wiki/Design_by_contract"&gt;http://en.wikipedia.org/wiki/Design_by_contract&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;Dat kan toch ook met Asserts&lt;/h3&gt;  &lt;p&gt;Design by Contract is een manier om defensief te programmeren. Met Asserts kan je in C# soortgelijke eisen vastleggen. Echter met code contracts is meer mogelijk. Code Contracts zijn &amp;#8216;Asserts on steroids&amp;#8217;. De meerwaarde die Code Contracts bieden zijn:&lt;/p&gt;  &lt;p&gt;Zichtbaarheid van Precondition: Asserts zijn niet zichtbaar voor aanroepende code. Met Code Contracts zijn preconditions wel zichtbaar. Niet alleen voor ontwikkelaars die de methode aanroepen, maar ook voor tooling.&lt;/p&gt;  &lt;p&gt;Postconditions: Asserts gebruiken voor postcondities is niet eenvoudig. Zal snel leiden tot duplicate code en is niet erg onderhoudbaar. De postcondities met Code Contract worden net als de Precondities bovenaan de methode gedeclareerd. Met IL-rewrite word door de tooling op alle juiste exit plaatsen van de method de postconditie ge&amp;#239;njecteerd.&lt;/p&gt;  &lt;p&gt;Inheritance: Overriden methods dienen dezelfde precondities en postcondities te hebben als hun parent methods. Met Asserts zou je in zowel de parent als overriden method dezelfde Asserts hebben staan. Dit zorgt voor duplicate code. Het is niet mogelijk om deze condities consistent te houden. Code contracts zorgen wel voor consistency en inheritence van contracts.&lt;/p&gt;  &lt;h3&gt;Microsoft Research project: Spec#&lt;/h3&gt;  &lt;p&gt;Microsoft Research heeft Design by Contract allereerst vastgelegd in Spec#. Met dit project heeft Microsoft onderzocht wat Design by Contract voor .NET kan betekenen. Code Contracts zijn het resultaat van dit research project.&lt;/p&gt;  &lt;h3&gt;Code Contracts preview&lt;/h3&gt;  &lt;p&gt;De preview kan gedownload worden vanaf DevLabs (een portal waar meerdere projecten van Microsoft opstaan waarvan de bits te downloaden zijn en die dus uitgeprobeerd kunnen worden) &lt;a href="http://msdn.microsoft.com/en-us/dd491992.aspx"&gt;http://msdn.microsoft.com/en-us/dd491992.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;De losse documentatie kan hier gedownload worden&lt;/p&gt;  &lt;p&gt;&lt;a href="http://download.microsoft.com/download/C/2/7/C2715F76-F56C-4D37-9231-EF8076B7EC13/userdoc.pdf"&gt;http://download.microsoft.com/download/C/2/7/C2715F76-F56C-4D37-9231-EF8076B7EC13/userdoc.pdf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Na installatie heb je een nieuwe directory: %Program Files%\Microsoft\Contracts.&lt;/p&gt;  &lt;p&gt;Hierin bevinden zich de tools die de static analysis mogelijk maken. Assemblies om naar te refereren en Code Contracts te gebruiken. Code Snippets om sneller condities te programmeren en Samples.&lt;/p&gt;  &lt;p&gt;In .NET 4.0 zal in mscorlib de class Contract bevinden onder namespace System.Diagnostics.Contracts&lt;/p&gt;  &lt;p&gt;Om Code Contracts in .NET 3.5 te ondersteunen is de assembly Microsoft.Contracts.dll in het leven geroepen. De class Contract bevind zich ook in de namespace System.Diagnostics.Contracts&lt;/p&gt;  &lt;h3&gt;Wat biedt Code Contracts&lt;/h3&gt;  &lt;p&gt;Code Contracts biedt een manier om aannames in code vast te leggen in de vorm van Precondities, Postcondities en Invariants. Deze contracten worden gebruikt om het volgende mogelijk te maken:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Verbeteren van Unit Testen via runtime checks&lt;/li&gt;    &lt;li&gt;Statische contract controle&lt;/li&gt;    &lt;li&gt;Documentatie generatie&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Er worden 2 tools meegeleverd&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Runtime checking. Een binary rewriter die contracten injecteerd in een programma. (ccrewrite.exe)&lt;/li&gt;    &lt;li&gt;Static checking. Deze statische controle tool kan op basis van de contracten zien of er schendingen zijn zonder dat het programma wordt uitgevoerd. (cccheck.exe)&lt;/li&gt; &lt;/ol&gt;  &lt;h3&gt;Voorbeeld&lt;/h3&gt;  &lt;p&gt;In deze introductie post allereerst een simpel voorbeeld om de functionaliteit te laten zien van de pre, post en invariant condities.&lt;/p&gt;  &lt;div style="border-bottom:#cccccc 1pt solid;border-left:#cccccc 1pt solid;padding-bottom:1pt;padding-left:1pt;width:100%;padding-right:1pt;font-family:lucida console;background:#f5f5f5;color:black;font-size:9pt;overflow:auto;border-top:#cccccc 1pt solid;border-right:#cccccc 1pt solid;padding-top:1pt;"&gt;   &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 1&lt;/span&gt;&amp;#160;&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;RekeningList&lt;/span&gt; : &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;Rekening&lt;/span&gt;&amp;gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 2&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 3&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Rekening&lt;/span&gt; GetByName(&lt;span style="color:blue;"&gt;string&lt;/span&gt; userName)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 4&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 5&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Requires(!&lt;span style="color:blue;"&gt;string&lt;/span&gt;.IsNullOrEmpty(userName));&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 6&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Ensures(&lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Result&amp;lt;&lt;span style="color:#2b91af;"&gt;Rekening&lt;/span&gt;&amp;gt;() != &lt;span style="color:blue;"&gt;null&lt;/span&gt;);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 7&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 8&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.Where(r =&amp;gt; r.Name == userName).FirstOrDefault();&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160;&amp;#160; 9&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 10&lt;/span&gt; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 11&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 12&lt;/span&gt;&amp;#160;&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;Rekening&lt;/span&gt;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 13&lt;/span&gt; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 14&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Name { &lt;span style="color:blue;"&gt;get&lt;/span&gt;; &lt;span style="color:blue;"&gt;set&lt;/span&gt;; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 15&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 16&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Stort(&lt;span style="color:blue;"&gt;double&lt;/span&gt; bedrag)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 17&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 18&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Requires(bedrag &amp;gt; 0);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 19&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 20&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; saldo += bedrag;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 21&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 22&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 23&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; NeemOp(&lt;span style="color:blue;"&gt;double&lt;/span&gt; bedrag)&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 24&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 25&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Requires(bedrag &amp;gt; 0);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 26&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Requires(saldo &amp;gt;= bedrag);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 27&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 28&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; saldo -= bedrag;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 29&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 30&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 31&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; saldo = 0;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 32&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 33&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;public&lt;/span&gt; &lt;span style="color:blue;"&gt;double&lt;/span&gt; Saldo&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 34&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 35&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;get&lt;/span&gt; { &lt;span style="color:blue;"&gt;return&lt;/span&gt; &lt;span style="color:blue;"&gt;this&lt;/span&gt;.saldo; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 36&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 37&lt;/span&gt;&amp;#160;&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 38&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [&lt;span style="color:#2b91af;"&gt;ContractInvariantMethod&lt;/span&gt;]&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 39&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; CorrectSaldo()&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 40&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 41&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color:#2b91af;"&gt;Contract&lt;/span&gt;.Invariant(saldo &amp;gt;= 0);&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 42&lt;/span&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt;    &lt;p style="margin:0px;"&gt;&lt;span style="color:#2b91af;"&gt;&amp;#160;&amp;#160; 43&lt;/span&gt; } &lt;/p&gt; &lt;/div&gt;  &lt;p&gt;In bovenstaand voorbeeld staat op regel 5 een precondition. Deze conditie zou hier ook nog met een Assert opgelost kunnen worden. Op regel 6 staat een Postcondition. Je zou verwachten dat een postcondition op het einde van de method gezet zou moeten worden. Als deze assembly gecompileerd wordt, wordt er op de juiste plaats(en) code geinjecteerd die voor deze controle zorgen. De syntax van deze Postcondition zorgt ervoor dat er geen tijdelijke variabele gemaakt dient te worden van het type Rekening die uiteindelijk geretourneerd gaat worden.&lt;/p&gt;  &lt;p&gt;Voor de geinteresseerden: met reflector ziet de GetByName methode er als volgt uit:&lt;/p&gt;  &lt;table style="margin-bottom:0px;" cellspacing="0" cellpadding="0" width="522"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td style="padding-bottom:4px;padding-left:5px;padding-right:5px;padding-top:4px;" valign="top" width="520" colspan="2"&gt;         &lt;pre&gt;&lt;font color="#1000a0"&gt;public&lt;/font&gt; &lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt; &lt;b&gt;&lt;a class="bold" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList/GetByName(String):DBCDemo.User"&gt;GetByName&lt;/a&gt;&lt;/b&gt;(&lt;a title="System.String" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.String"&gt;string&lt;/a&gt; userName)
{
    &lt;a title="DBCDemo.UserList+__copy+&amp;lt;&amp;gt;c__DisplayClass1" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.__copy+&amp;lt;&amp;gt;c__DisplayClass1"&gt;__copy+&amp;lt;&amp;gt;c__DisplayClass1&lt;/a&gt; &lt;b&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/b&gt; = &lt;br /&gt;         &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a title="DBCDemo.UserList+__copy+&amp;lt;&amp;gt;c__DisplayClass1.__copy+&amp;lt;&amp;gt;c__DisplayClass1();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.__copy+&amp;lt;&amp;gt;c__DisplayClass1/.ctor()"&gt;__copy+&amp;lt;&amp;gt;c__DisplayClass1&lt;/a&gt;();
    &lt;a title="__copy+&amp;lt;&amp;gt;c__DisplayClass1 CS$&amp;lt;&amp;gt;8__locals2 // Local Variable"&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/a&gt;.&lt;a title="string DBCDemo.UserList+__copy+&amp;lt;&amp;gt;c__DisplayClass1.userName;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.__copy+&amp;lt;&amp;gt;c__DisplayClass1/userName:String"&gt;userName&lt;/a&gt; = &lt;a title="string userName; // Parameter"&gt;userName&lt;/a&gt;;
    &lt;a title="__ContractsRuntime" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/__ContractsRuntime"&gt;__ContractsRuntime&lt;/a&gt;.&lt;a title="void __ContractsRuntime.Requires(bool condition, string message, string conditionText);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/__ContractsRuntime/Requires(Boolean,String,String)"&gt;Requires&lt;/a&gt;(!&lt;a title="System.String" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.String"&gt;string&lt;/a&gt;.&lt;a title="bool System.String.IsNullOrEmpty(string);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.String/IsNullOrEmpty(String):Boolean"&gt;IsNullOrEmpty&lt;/a&gt;(&lt;br /&gt;        &lt;a title="__copy+&amp;lt;&amp;gt;c__DisplayClass1 CS$&amp;lt;&amp;gt;8__locals2 // Local Variable"&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/a&gt;.&lt;a title="string DBCDemo.UserList+__copy+&amp;lt;&amp;gt;c__DisplayClass1.userName;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.__copy+&amp;lt;&amp;gt;c__DisplayClass1/userName:String"&gt;userName&lt;/a&gt;), &lt;font color="#800000"&gt;null&lt;/font&gt;, &lt;font color="#800000"&gt;&amp;quot;!string.IsNullOrEmpty(userName)&amp;quot;&lt;/font&gt;);
    &lt;a title="DBCDemo.UserList+&amp;lt;&amp;gt;c__DisplayClass1" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.&amp;lt;&amp;gt;c__DisplayClass1"&gt;&amp;lt;&amp;gt;c__DisplayClass1&lt;/a&gt; &lt;b&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/b&gt; = &lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a title="DBCDemo.UserList+&amp;lt;&amp;gt;c__DisplayClass1.&amp;lt;&amp;gt;c__DisplayClass1();" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.&amp;lt;&amp;gt;c__DisplayClass1/.ctor()"&gt;&amp;lt;&amp;gt;c__DisplayClass1&lt;/a&gt;();
    &lt;a title="&amp;lt;&amp;gt;c__DisplayClass1 CS$&amp;lt;&amp;gt;8__locals2 // Local Variable"&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/a&gt;.&lt;a title="string DBCDemo.UserList+&amp;lt;&amp;gt;c__DisplayClass1.userName;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.&amp;lt;&amp;gt;c__DisplayClass1/userName:String"&gt;userName&lt;/a&gt; = &lt;a title="string userName; // Parameter"&gt;userName&lt;/a&gt;;
    &lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt; &lt;b&gt;CS$1$0000&lt;/b&gt; = &lt;font color="#1000a0"&gt;this&lt;/font&gt;.&lt;a title="IEnumerable&amp;lt;User&amp;gt; System.Linq.Enumerable.Where&amp;lt;User&amp;gt;(IEnumerable&amp;lt;User&amp;gt;, Func&amp;lt;User, bool&amp;gt;);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Core:3.5.0.0:b77a5c561934e089/System.Linq.Enumerable/Where&amp;lt;&amp;gt;(System.Collections.Generic.IEnumerable&amp;lt;&amp;lt;!!0&amp;gt;&amp;gt;,System.Func&amp;lt;&amp;lt;!!0&amp;gt;,Boolean&amp;gt;):System.Collections.Generic.IEnumerable&amp;lt;&amp;lt;!!0&amp;gt;&amp;gt;"&gt;Where&lt;/a&gt;&amp;lt;&lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt;&amp;gt;(&lt;font color="#1000a0"&gt;new&lt;/font&gt; &lt;a title="System.Func&amp;lt;User,Boolean&amp;gt;" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Core:3.5.0.0:b77a5c561934e089/System.Func&amp;lt;,&amp;gt;"&gt;Func&lt;/a&gt;&amp;lt;&lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt;, &lt;a title="System.Boolean" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://mscorlib:2.0.0.0:b77a5c561934e089/System.Boolean"&gt;bool&lt;/a&gt;&amp;gt;(&lt;br /&gt;      &lt;a title="&amp;lt;&amp;gt;c__DisplayClass1 CS$&amp;lt;&amp;gt;8__locals2 // Local Variable"&gt;CS$&amp;lt;&amp;gt;8__locals2&lt;/a&gt;.&lt;a title="bool DBCDemo.UserList+&amp;lt;&amp;gt;c__DisplayClass1.&amp;lt;GetByName&amp;gt;b__0(User u);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.UserList.&amp;lt;&amp;gt;c__DisplayClass1/&amp;lt;GetByName&amp;gt;b__0(DBCDemo.User):Boolean"&gt;&amp;lt;GetByName&amp;gt;b__0&lt;/a&gt;)).&lt;a title="User System.Linq.Enumerable.FirstOrDefault&amp;lt;User&amp;gt;(IEnumerable&amp;lt;User&amp;gt;);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://System.Core:3.5.0.0:b77a5c561934e089/System.Linq.Enumerable/FirstOrDefault&amp;lt;&amp;gt;(System.Collections.Generic.IEnumerable&amp;lt;&amp;lt;!!0&amp;gt;&amp;gt;):&amp;lt;!!0&amp;gt;"&gt;FirstOrDefault&lt;/a&gt;&amp;lt;&lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt;&amp;gt;();
    &lt;a title="DBCDemo.User" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/DBCDemo.User"&gt;User&lt;/a&gt; &lt;b&gt;Contract.Result&amp;lt;User&amp;gt;()&lt;/b&gt; = &lt;a title="User CS$1$0000 // Local Variable"&gt;CS$1$0000&lt;/a&gt;;
    &lt;a title="__ContractsRuntime" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/__ContractsRuntime"&gt;__ContractsRuntime&lt;/a&gt;.&lt;a title="void __ContractsRuntime.Ensures(bool condition, string message, string conditionText);" href="http://www.aisto.com/roeder/dotnet/Default.aspx?Target=code://DBCDemo:1.0.0.0/__ContractsRuntime/Ensures(Boolean,String,String)"&gt;Ensures&lt;/a&gt;(&lt;a title="User Contract.Result&amp;lt;User&amp;gt;() // Local Variable"&gt;Contract.Result&amp;lt;User&amp;gt;()&lt;/a&gt; != &lt;font color="#800000"&gt;null&lt;/font&gt;, &lt;br /&gt;       &lt;font color="#800000"&gt;null&lt;/font&gt;, &lt;font color="#800000"&gt;&amp;quot;Contract.Result&amp;lt;User&amp;gt;() != null&amp;quot;&lt;/font&gt;);
    &lt;font color="#1000a0"&gt;return&lt;/font&gt; &lt;a title="User Contract.Result&amp;lt;User&amp;gt;() // Local Variable"&gt;Contract.Result&amp;lt;User&amp;gt;()&lt;/a&gt;;
}&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;&lt;/table&gt;

&lt;p&gt;Vanaf regel 38 staat een voorbeeld van de Invariant condition. Deze condition houdt continue in de gaten of het saldo van de rekening nog wel gelijk of groter is dan 0. Hierdoor is het niet nodig om deze aanname op tig plaatsen te coderen, maar staat deze code op 1 plaats.&lt;/p&gt;

&lt;p&gt;Indien het runtime checken van de Code Contracts niet aangezet wordt zal er niets met deze code gedaan worden. Bij de properties van een project is er een nieuwe tab bijgekomen na intallatie van Code Contracts. Bij Runtime Checking dient de checkbox aangevinkt te worden.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pascal/CodeContractTab.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;border-top:0px;border-right:0px;" border="0" alt="CodeContractTab" src="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pascal/CodeContractTab_5F00_thumb.jpg" width="526" height="361" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;De tweede tool is static checking. Ook dit kan aangezet worden op een project. Bij het compileren krijg je dan meldingen als bij de aanroep van een method waarop niet gecontroleerd wordt of de parameter Rekening null is:&lt;/p&gt;

&lt;p&gt;contracts: Possibly calling a method on a null reference &amp;#39;rekening&amp;#39;&lt;/p&gt;

&lt;h3&gt;Visual Studio Team Edition ondersteuning&lt;/h3&gt;

&lt;p&gt;Op dit moment heeft Microsoft als doel om Code Contracts alleen voor de Team Editions beschikbaar te maken (en de academic versie). Op deze manier wordt het research project terugbetaald. Echter net zoals Unit Testen is het ontwikkelen met Design By Contract ook wenselijk op goedkopere versies van Visual Studio. Op het forum vraagt het Code Contracts team hierover response. Als je het team wil laten weten dat je ook op andere versies van Visual Studio Code Contracts ondersteuning wil kan dat hier: &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/codecontracts/thread/459bdcbe-8af2-4781-b1fa-eec1c9d79a52"&gt;http://social.msdn.microsoft.com/Forums/en-US/codecontracts/thread/459bdcbe-8af2-4781-b1fa-eec1c9d79a52&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Toekomst&lt;/h3&gt;

&lt;p&gt;Code contracts brengen mogelijkheden voor andere tools. Bijvoorbeeld voor unit testen. Hiervoor is ook via DevLabs, PEX te downloaden. &lt;a title="http://msdn.microsoft.com/en-us/devlabs/cc950525.aspx" href="http://msdn.microsoft.com/en-us/devlabs/cc950525.aspx"&gt;http://msdn.microsoft.com/en-us/devlabs/cc950525.aspx&lt;/a&gt;. PEX is een tool die een unit test suite genereert op basis van onder andere code contracts waardoor de code een zeer hoge codecoverage heeft. &lt;/p&gt;

&lt;h3&gt;Samenvattend&lt;/h3&gt;

&lt;p&gt;Code Contracts is een feature die in het .NET Framework 4.0 officieel tot onze beschikking komt. Microsoft heeft een preview gereleased waarmee op het .NET 3.5 framwork al met deze functionaliteit gespeeld kan worden. Code Contracts bieden een manier om aannames in code vast te leggen op verschillende manieren. Dit wordt ook wel Design By Contract genoemd. Code contracts biedt zowel runtime als static checking van condities.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=481279" width="1" height="1"&gt;</description></item><item><title>Download all PDC Content sessions and powerpoints with ease</title><link>http://bloggingabout.net/blogs/pascal/archive/2008/11/01/download-all-pdc-content-sessions-and-powerpoints-with-ease.aspx</link><pubDate>Sat, 01 Nov 2008 06:04:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:476438</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=476438</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2008/11/01/download-all-pdc-content-sessions-and-powerpoints-with-ease.aspx#comments</comments><description>&lt;p&gt;Well, i was tired of clicking on every URL to download everything where i&amp;#39;m interested in from the PDC. &lt;br /&gt;So i created a little application that generates 2 lists:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pascal/pdc-wmv-download-list.txt" target="_blank"&gt;a list to download all sessions&lt;/a&gt; (an empty line is a day seperator)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pascal/pdc-pptx-download-list.txt" target="_blank"&gt;a list to download all pptx&lt;/a&gt; (an empty line is a day seperator)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The list also contains the 4 keynotes.&lt;br /&gt;Till now it&amp;#39;s about&amp;nbsp;56 GB. and counting...&lt;/p&gt;
&lt;p&gt;Day 1 and 2 are complete. Day 3 and 4 are still missing some content.&lt;br /&gt;Because the list is based on the master session list on &lt;a href="http://blogs.msdn.com/mswanson/" target="_blank"&gt;Mike Swonson&amp;#39;s blog&lt;/a&gt;, which in the mean time is incorrect, this 2 lists will be incorrect also.&lt;br /&gt;But nevertheless it&amp;#39;s quite ok. You can&amp;#39;t download the master session list &lt;a href="http://blogs.msdn.com/mswanson/archive/2008/10/23/pdc2008-downloadable-master-session-list.aspx" target="_blank"&gt;there&lt;/a&gt; anymore&amp;nbsp;so &lt;a href="http://bloggingabout.net/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/pascal/PDC2008MasterSessionList.zip" target="_blank"&gt;here&lt;/a&gt; it is, because you will need it to know which sessions you like to see.&lt;/p&gt;
&lt;p&gt;When you use a download manager like &lt;a href="http://freedownloadmanager.org/download.htm" target="_blank"&gt;Free Download Manager&lt;/a&gt; than you can import the list easily. The tool gives a good insight in the missing pieces, will skip it and download the next item in the list.&lt;/p&gt;
&lt;p&gt;This should save you several clicks.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=476438" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/PDC/default.aspx">PDC</category><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/Download/default.aspx">Download</category></item><item><title>.NET 3.5 WF beta 2 SendActivity and generated proxy class</title><link>http://bloggingabout.net/blogs/pascal/archive/2007/08/14/net-3-5-wf-beta-2-sendactivity-and-generated-proxy-class.aspx</link><pubDate>Tue, 14 Aug 2007 13:24:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:340335</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=340335</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2007/08/14/net-3-5-wf-beta-2-sendactivity-and-generated-proxy-class.aspx#comments</comments><description>&lt;p&gt;For preparing the Summer Classes of Class-A I stumbled on an exception which costs me a lot of time.&lt;/p&gt;
&lt;p&gt;The situation was that I hosted a WF with Workflow services. The service is used by a client which is using a workflow for this also. The client workflow uses a SendActivity and the server a ReceiveActivity. (Just like the SequentialWorkflowService beta 2 sample). And like in the beta 2 sample I used a ServiceReference to connect the client to the service.&lt;/p&gt;
&lt;p&gt;After configuring everything that is needed and running my projects, I received the following exception:&lt;/p&gt;
&lt;p&gt;InvalidOperationException: Could not find a service endpoint with name &amp;#39;ValidateCreditCardEndpoint&amp;#39; and contract type &amp;#39;ClientWfHost.CreditCardServiceReference.IValidateCreditCard&amp;#39;&lt;/p&gt;
&lt;p&gt;Well &amp;#39;everyting&amp;#39; seems to be correct. The SendActivity its ServiceOperationInfo property is configured to the correct Interface. The ChannelTokens property its&amp;nbsp;endpointName was correct and exists in the app.config. The app.config contains a single endpoint with a contract&amp;nbsp;that correspondents to the name that is generated in reference.cs for the interface.&lt;br /&gt;This name is configured on the ServiceContractAttribute with a ConfigurationName property which is located above the interface.&lt;br /&gt;Ok found a difference here. This ConfigurationName has a&amp;nbsp;different&amp;nbsp;value than is configured on the SendActivity. This is how all &amp;#39;references&amp;#39; to the interface&amp;nbsp;looks like: 
&lt;p&gt;reference.cs:&amp;nbsp;[ServiceContractAttribute(ConfigurationName = &amp;quot;CreditCardServiceReference.IValidateCreditCard&amp;quot;)]&lt;br /&gt;App.config contains an endpoint with: contract=&amp;quot;CreditCardServiceReference.IValidateCreditCard&amp;quot;&lt;br /&gt;and the SendActivity its&amp;nbsp;ServiceOperationInfo property&amp;nbsp;is &lt;strong&gt;ClientWfHost&lt;/strong&gt;.CreditCardServiceReference.IValidateCreditCard&lt;/p&gt;
&lt;p&gt;The solution to this problem was to make all 3&amp;nbsp;exactly the same. So I changed the ConfigurationName in reference.cs&amp;nbsp;and contract in the app.config&amp;nbsp;to ClientWfHost.CreditCardServiceReference.IValidateCreditCard. and voila it works like a charm. (I could also change the namespace of&amp;nbsp;reference.cs)&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Not the most elegant to change generated code but I think it&amp;#39;s perfect after a lot of hours puzzling.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=340335" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category></item><item><title>CopySourceAsHtml for VS.NET 2008 beta 2</title><link>http://bloggingabout.net/blogs/pascal/archive/2007/08/05/copysourceashtml-for-vs-net-2008-beta-2.aspx</link><pubDate>Sun, 05 Aug 2007 09:57:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:333046</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=333046</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2007/08/05/copysourceashtml-for-vs-net-2008-beta-2.aspx#comments</comments><description>&lt;p&gt;For the Summer Classes we use VS.NET beta 2 in a&amp;nbsp;VPC image. For this reason I compiled the CopySourceAsHtml source against Beta 2.&lt;br /&gt;Because Copysourceashtml is still&amp;nbsp;not working nice in VPC&amp;#39;s.&amp;nbsp;I changed the source with &lt;a class="" href="http://bloggingabout.net/blogs/mglaser/archive/2006/11/06/Using-CopySourceAsHTML-in-a-Windows-2003-VPC-environment.aspx" target="_blank"&gt;Mike Glasers solution&lt;/a&gt; for copying source in VPC&amp;#39;s.&lt;/p&gt;
&lt;p&gt;You can download the source &lt;a href="http://bloggingabout.net/blogs/pascal/CopySourceAsHtml-2.0.0-Source%20vs.net%202008%20beta%202.zip"&gt;here&lt;/a&gt;&amp;nbsp;(msi included)&lt;br /&gt;The original source can be downloaded &lt;a class="" href="http://www.jtleigh.com/people/colin/software/CopySourceAsHtml/" target="_blank"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=333046" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/.NET+3.5/default.aspx">.NET 3.5</category></item><item><title>Tagged</title><link>http://bloggingabout.net/blogs/pascal/archive/2007/01/04/tagged.aspx</link><pubDate>Thu, 04 Jan 2007 00:53:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:89505</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=89505</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2007/01/04/tagged.aspx#comments</comments><description>&lt;FONT color=#000000&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial size=3&gt;I've been tagged by &lt;/FONT&gt;&lt;A href="http://bloggingabout.net/blogs/dennis/archive/2007/01/03/tag-you-re-it.aspx"&gt;&lt;FONT face=Arial size=3&gt;Dennis van der Stelt&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;&lt;FONT size=3&gt;. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;FONT face=Arial size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial size=3&gt;So... 5 personal things about me:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;FONT face=Arial size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;o:p&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial size=3&gt;&lt;/FONT&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial size=3&gt;Two weeks back, on the 24st of December 2006, our second daughter was born. Her name is 'Maud'. She is beautiful and very good in getting us out of our sleep. Our first daughter is almost 2.5 years now. Her name is ‘Britt’. If the word cute was not already find out. It would for her.&lt;BR&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;&lt;FONT face=Arial size=3&gt;I leaved LogicaCMG and joined Class-A since 1-1-2007. After having a really good time for 5.5 years it was time for a new challenge.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt; &lt;BR&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT size=3&gt;&lt;FONT face=Arial&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;Class-A in Woerden is not a long way from my home, but the traffic jams are terrible from Brabant to Utrecht (A27, A2, A12). &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;This is a good excuse to get my motor driver license and after that buy a motor to drive through the traffic jams. Step 1, getting my theory is already finished. Now I have to make an appointment with a school to start practical lessons.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;/FONT&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;I love reading it-related books. I like it so much I even take a bunch with me on holiday… &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;Or is it because I have all time of the world on a holiday to read a book….&lt;BR&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;M&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;e and my brother in law are playing squash for several years. &lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;We really like playing squash. Eh correction, I like playing squash, my brother in law doesn’t like it as much as I do anymore, since I hit him with my racket and broke his nose.&lt;/SPAN&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;FONT face=Arial size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;SPAN style="mso-bidi-font-family:'Times New Roman';mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-bidi-theme-font:minor-bidi;"&gt;&lt;FONT face=Arial size=3&gt;The people I tag are: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://bloggingabout.net/blogs/patrick/"&gt;&lt;FONT face=Arial size=3&gt;Patrick Bes&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=3&gt;, &lt;/FONT&gt;&lt;A href="http://bloggingabout.net/blogs/ilske/"&gt;&lt;FONT face=Arial size=3&gt;Ilske&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=3&gt;, &lt;/FONT&gt;&lt;A href="http://bloggingabout.net/blogs/carlo/"&gt;&lt;FONT face=Arial size=3&gt;Carlo&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=3&gt;, &lt;/FONT&gt;&lt;A href="http://bloggingabout.net/blogs/wellink/"&gt;&lt;FONT face=Arial size=3&gt;Patrick Wellink&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial size=3&gt;&amp;nbsp;and &lt;/FONT&gt;&lt;A href="http://www.geurtsrus.com/gerke/"&gt;&lt;FONT face=Arial&gt;&lt;FONT size=3&gt;Gerke Geurts&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN:0in 0in 0pt;"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Arial size=3&gt;&lt;SPAN style="COLOR:#1f497d;mso-themecolor:dark2;"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=89505" width="1" height="1"&gt;</description></item><item><title>Bye bye Virtual PC, welcome back VMware</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/09/06/Bye-bye-Virtual-PC_2C00_-welcome-back-VMware.aspx</link><pubDate>Tue, 05 Sep 2006 23:25:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:19670</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=19670</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/09/06/Bye-bye-Virtual-PC_2C00_-welcome-back-VMware.aspx#comments</comments><description>&lt;P&gt;Well I've had it with Virtual PC. &lt;BR&gt;Ok it's free but the problems I experience are:&lt;/P&gt;
&lt;P&gt;I run x64 Windows Vista &amp;amp; XP. But Virtual PC cannot be installed on x64 operating systems.&lt;BR&gt;I have a 24" Dell monitor with a resolution of 1900 x 1200. Virtual PC&amp;nbsp;only supports&amp;nbsp;a maximum resolution of 1600x1200. (no&amp;nbsp;I don't like black bars at both sides of my screen)&lt;/P&gt;
&lt;P&gt;After years I tried VMware again. And well i'm glad to use it now. It seems to be faster ( but this can only be a feeling )&lt;BR&gt;And I can use the maximum resolution of my monitor on the operating system I like to run.&lt;/P&gt;
&lt;P&gt;Out of the box VMware supports 1900 x 1440 and higer(!) But when you add the following lines to the vmx file. The 1900x1200 resolution can be selected.&lt;BR&gt;svga.maxWidth = "1900" &lt;BR&gt;svga.maxHeight = "1200" &lt;/P&gt;
&lt;P&gt;Virtual Server R2 2005 on the other hand do supports x64 host machines. But does not support x64 guest machines. VMware does.&lt;BR&gt;It is also possible to use Virtual PC images with VMware. USB support is out of the box available&amp;nbsp;with VMware.&lt;/P&gt;
&lt;P&gt;Virtual PC 2007 will support x64 and remains free.&lt;BR&gt;I don't know how long it's going to take. But looking at my current requirements,&amp;nbsp;I will use VMware Workstation till Virtual PC 2007 is available. And I will take a closer look at that time.&lt;/P&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=19670" width="1" height="1"&gt;</description></item><item><title>Is www.windowsforms.net dead ?</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/03/01/11198.aspx</link><pubDate>Wed, 01 Mar 2006 00:05:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:11198</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=11198</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/03/01/11198.aspx#comments</comments><description>&lt;p&gt;WindowsForms.NET&amp;nbsp;was a website where&amp;nbsp;I came regularly.&lt;br /&gt;
&lt;br /&gt;
Interesting&amp;nbsp;links to articles could be found there and it was updated daily.&lt;br /&gt;
But the latest &lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=3&amp;amp;tabid=40"&gt;article&lt;/a&gt; link posted at this time is from&amp;nbsp;july 2005.&lt;/p&gt;
&lt;p&gt;Besides this the &lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=1&amp;amp;tabid=41"&gt;forum&lt;/a&gt; is gone (for a while now) and links to the Microsoft Newsgroups. &lt;br /&gt;
&lt;br /&gt;
Are there no &lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=6&amp;amp;tabid=47"&gt;Codeheroes&lt;/a&gt;&amp;nbsp;anymore these days ? The last&amp;nbsp;one called out&amp;nbsp;&amp;nbsp;in april 2004.&lt;br /&gt;
Even the name &lt;a href="http://www.windowsforms.net/Default.aspx?tabindex=5&amp;amp;tabid=60"&gt;whidbey&lt;/a&gt; is still used in the main menu.&lt;br /&gt;
&lt;br /&gt;
I guess &lt;a href="http://www.windowsforms.net"&gt;www.windowsforms.net&lt;/a&gt; is declared dead ?&lt;/p&gt;
&lt;p&gt;Or am&amp;nbsp;I wrong ? Is there an up-to-date site about smartclients or something ?&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=11198" width="1" height="1"&gt;</description></item><item><title>Free VS.NET 2005 like docking including tabbed MDI</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/02/28/11185.aspx</link><pubDate>Tue, 28 Feb 2006 10:48:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:11185</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=11185</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/02/28/11185.aspx#comments</comments><description>&lt;p&gt;All kinds of Third party controls exists to make a tabbed MDI possible.&lt;/p&gt;
&lt;p&gt;But (Dutch as I am) was looking for a good looking, free alternative. &lt;br /&gt;
I came across DockPanel suite. &lt;/p&gt;
&lt;p&gt;Dockpanel suite&amp;nbsp;is much more than a tabbed MDI only . &lt;br /&gt;
it's possible to dock panels exactly like in VS.NET 2005. (with the nice looking, user friendly navigation)&lt;br /&gt;
Well a picture tells a thousand words:&lt;br /&gt;
&lt;img height="713" src="/UserFiles/Pascal Naber/Image/docksuite.JPG" width="865" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Weifen Luo has written this open source suite. Version 1.0 is just released which runs on both .NET 1.1 and .NET 2.0.&lt;br /&gt;
The source and binaries includes an example application (The screenshot above is taken from the example app)&lt;br /&gt;
An extensive cookbook is available for download too (VB.NET version) in a seperate download.&lt;/p&gt;
&lt;p&gt;check it out &lt;a href="http://sourceforge.net/projects/dockpanelsuite/"&gt;here&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=11185" width="1" height="1"&gt;</description></item><item><title>Generic ASP.NET 2.0 IExtenderProvider: Solution</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/02/21/11130.aspx</link><pubDate>Tue, 21 Feb 2006 13:35:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:11130</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=11130</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/02/21/11130.aspx#comments</comments><description>&lt;p&gt;&lt;br /&gt;
A couple of months back, in my spare time, I was working on an ASP.NET IExtenderProvider for .NET 2.0 (Think it was in with the september CTP)&lt;/p&gt;
&lt;p&gt;Found some articles on codeproject about the subject:&lt;br /&gt;
&lt;a href="http://www.codeproject.com/aspnet/FixingIExtenderProvider.asp"&gt;http://www.codeproject.com/aspnet/FixingIExtenderProvider.asp&lt;/a&gt;&amp;nbsp;by Wouter van Vugt&lt;br /&gt;
&lt;a href="http://www.codeproject.com/aspnet/ExtenderProviderComponent.asp"&gt;http://www.codeproject.com/aspnet/ExtenderProviderComponent.asp&lt;/a&gt;&amp;nbsp;by Frank Robijn&lt;/p&gt;
&lt;p&gt;But&amp;nbsp;I made it work with the &lt;a href="http://www.metabuilders.com/Tools/DefaultButtons.aspx"&gt;DefaultButton Control&lt;/a&gt; of Andy Smith as an ulimate example.&lt;/p&gt;
&lt;p&gt;A lot of code was needed to make an ASP.NET IExtenderProvider so i tried to make a Generic base class to make it easier to implement an ASP.NET IExtenderProvider. &lt;br /&gt;
Actually I like the amount of code needed&amp;nbsp;in Windows Forms, so tried to achief that. Unfortunately I could not make the Generic version work...&lt;/p&gt;
&lt;p&gt;This week I needed an ASP.NET IExtenderProvider again. Found the sources from my project of last year and&amp;nbsp;I was suprised to see&amp;nbsp;it is working with&amp;nbsp;the RTM of VS.NET and a little change in the code. &lt;br /&gt;
&lt;br /&gt;
In the mean time I read Nikhil Kothari's weblog about the &lt;a href="http://www.nikhilk.net/Entry.aspx?id=109"&gt;Atlas ExtenderControl&lt;/a&gt;.&lt;br /&gt;
The Atlas version has almost the same functionality as my version has, but it supports renaming and deleting controls from&amp;nbsp;a webform. &lt;br /&gt;
The Atlas version is not suitable to work with standard ASP.NET, so with a little effort I added the missing functionality in my Generic version too. &lt;br /&gt;
Besides this I renamed my classes so they match the Atlas ExtenderControl.&lt;/p&gt;
&lt;p&gt;The ExtenderControl I made is based on the DefaultButton Controls of Andy Smith. The Atlas version has a quite different solution. &lt;br /&gt;
The Designer is the IExtenderControl in stead of the ExtenderControl itself for example. Because of this no custom Designer is needed when you use my ExtenderControl.&lt;/p&gt;
&lt;p&gt;Anyway, now you can make an ASP.NET 2.0 IExtenderProvider with a minimal effort.&lt;br /&gt;
When making a IExtenderProvider yourself you have to follow the next 2 steps:&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Step 1&lt;/strong&gt;: Defining the Extender properties :&lt;font color="#0000ff" size="2"&gt;
&lt;div style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;9&lt;/span&gt;&amp;nbsp;&lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;TargetControlProperties&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;10&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;11&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;span style="COLOR: teal"&gt;NotifyParentProperty&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;true&lt;/span&gt;)]&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;12&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; ValidationEnabled&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;14&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;get&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;15&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;16&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;object&lt;/span&gt; savedState = (ViewState[&lt;span style="COLOR: maroon"&gt;&amp;quot;ValidationEnabled&amp;quot;&lt;/span&gt;]);&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; (savedState == &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;) ? &lt;span style="COLOR: blue"&gt;false&lt;/span&gt; : (&lt;span style="COLOR: blue"&gt;bool&lt;/span&gt;)savedState;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;set&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; ViewState[&lt;span style="COLOR: maroon"&gt;&amp;quot;ValidationEnabled&amp;quot;&lt;/span&gt;] = &lt;span style="COLOR: blue"&gt;value&lt;/span&gt;;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;font face="Arial"&gt;&lt;strong&gt;Step 2&lt;/strong&gt;: Implement the Extender Control:&lt;/font&gt;&lt;/p&gt;
&lt;div style="FONT-SIZE: 10pt; BACKGROUND: white; COLOR: black; FONT-FAMILY: Courier New"&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;17&lt;/span&gt;&amp;nbsp;&amp;nbsp;[&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;18&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;ProvideProperty&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;&amp;quot;ValidationEnabled&amp;quot;&lt;/span&gt;, &lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: teal"&gt;Control&lt;/span&gt;)), &lt;span style="COLOR: green"&gt;// Names the Property to show on other controls in the designer&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;19&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: teal"&gt;Designer&lt;/span&gt;(&lt;span style="COLOR: blue"&gt;typeof&lt;/span&gt;(&lt;span style="COLOR: teal"&gt;ExtenderControlDesigner&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt;&amp;gt;))&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;21&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;class&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ValidationProvider&lt;/span&gt; : &lt;span style="COLOR: teal"&gt;ExtenderControl&lt;/span&gt;&amp;lt;&lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;22&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;23&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;24&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; Defines the controls which can be extended.&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;25&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;26&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;27&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; In general, the Page, the Form, and buttons cannot be extended.&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;28&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/remarks&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;29&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;override&lt;/span&gt; &lt;span style="COLOR: teal"&gt;Boolean&lt;/span&gt; CanExtend(&lt;span style="COLOR: teal"&gt;Object&lt;/span&gt; target)&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;30&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;31&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (target &lt;span style="COLOR: blue"&gt;is&lt;/span&gt; &lt;span style="COLOR: teal"&gt;Control&lt;/span&gt; &amp;amp;&amp;amp; !(target &lt;span style="COLOR: blue"&gt;is&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ValidationProvider&lt;/span&gt;))&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;32&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;33&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;true&lt;/span&gt;;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;34&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;35&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; &lt;span style="COLOR: blue"&gt;false&lt;/span&gt;;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;36&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;37&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;38&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;39&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; gets the property value for the given control&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;40&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;span style="COLOR: green"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;41&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; GetValidationEnabled(&lt;span style="COLOR: teal"&gt;Control&lt;/span&gt; control)&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;42&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;43&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; EnsureControlItem(control).ValidationEnabled;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;44&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;45&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;46&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;47&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; sets the property value for the given control&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;48&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: gray"&gt;///&lt;/span&gt;&lt;span style="COLOR: green"&gt; &lt;/span&gt;&lt;span style="COLOR: gray"&gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;49&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;public&lt;/span&gt; &lt;span style="COLOR: blue"&gt;void&lt;/span&gt; SetValidationEnabled(&lt;span style="COLOR: teal"&gt;Control&lt;/span&gt; control, &lt;span style="COLOR: blue"&gt;bool&lt;/span&gt; validationEnabled)&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;50&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;51&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; EnsureControlItem(control).ValidationEnabled = validationEnabled;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;52&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; NotifyDesignerOfChange();&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;53&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;54&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;55&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;private&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt; EnsureControlItem(&lt;span style="COLOR: teal"&gt;Control&lt;/span&gt; control)&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;56&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;57&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (control == &lt;span style="COLOR: blue"&gt;null&lt;/span&gt;)&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;58&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;59&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;throw&lt;/span&gt; &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ArgumentNullException&lt;/span&gt;(&lt;span style="COLOR: maroon"&gt;&amp;quot;control&amp;quot;&lt;/span&gt;);&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;60&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;61&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt; item;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;62&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;63&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;if&lt;/span&gt; (&lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.TargetProperties.Contains(control.ID))&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;64&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; item = &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.TargetProperties[control.ID];&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;65&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;66&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;67&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; item = &lt;span style="COLOR: blue"&gt;new&lt;/span&gt; &lt;span style="COLOR: teal"&gt;ValidationProperties&lt;/span&gt;();&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;68&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; item.ControlId = control.ID;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;69&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;this&lt;/span&gt;.TargetProperties.Add(item);&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;70&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;71&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: blue"&gt;return&lt;/span&gt; item;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;72&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;span style="COLOR: #2b91af"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;73&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;/div&gt;
&lt;font face="Arial"&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;
This looks a lot like the amount of code needed to make an IExtenderProvider in Windows Forms.&lt;br /&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;
Download the full source &lt;a href="http://bloggingabout.net/UserFiles/Pascal Naber/File/aspnetextender.zip"&gt;here&lt;/a&gt; (you have to add a webproject yourself)&lt;br /&gt;
&lt;br /&gt;
I have to add a disclaimer for the use of this source because this control is not being tested thoroughly&amp;nbsp;or even used till now, it can contain serious bugs!&lt;br /&gt;
I didn't even added XML documentation and such. (shame on me) . &lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&lt;br /&gt;
The source contains a solution with 2 projects:&lt;br /&gt;
Naber.Web.UI&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Contains the base classes to use when making an IExtenderProvider&lt;br /&gt;
Naber.Web.UI.Controls&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; An example ASP.NET Provider using the Generic baseclasses&lt;br /&gt;
&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="MARGIN: 0px"&gt;Let me know what you think about this.&lt;br /&gt;
&lt;br /&gt;
&lt;img height="649" src="/UserFiles/Pascal Naber/Image/screenshotaspnetextender.JPG" width="1004" alt="" /&gt;&lt;br /&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/div&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=11130" width="1" height="1"&gt;</description><category domain="http://bloggingabout.net/blogs/pascal/archive/tags/.NET+2.0/default.aspx">.NET 2.0</category></item><item><title>Lego Mindstorms NXT</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/02/16/11094.aspx</link><pubDate>Thu, 16 Feb 2006 01:40:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:11094</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=11094</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/02/16/11094.aspx#comments</comments><description>&lt;p&gt;This year, in august, Lego comes with a complete update of their Mindstorms set. Called &lt;a href="http://mindstorms.lego.com/"&gt;Mindstorms NXT&lt;/a&gt;. &lt;br /&gt;
&lt;br /&gt;
Long time ago, when I was a little kid (2 weeks ago ;-) ), I used to play a lot with Lego. But I've never played with Mindstorms.&lt;br /&gt;
I think it's great,so I know what to ask for christmas already ;-) &lt;br /&gt;
&lt;br /&gt;
It's possible to preorder &lt;a href="http://shop.lego.com/product.asp?p=8527"&gt;here&lt;/a&gt;:&amp;nbsp; for 299 Euro !&lt;/p&gt;
&lt;p&gt;We will see if the &lt;a href="http://www.dcl.hpi.uni-potsdam.de/research/lego.NET/"&gt;.NET Lego community&lt;/a&gt;&amp;nbsp;comes with support for this NXT version.&lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;table cellspacing="0" cellpadding="0" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td class="black12bold" colspan="3"&gt;
            &lt;p&gt;&lt;strong&gt;The next generation of robots!&lt;/strong&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td class="black11pt"&gt;
            &lt;p&gt;Create the smartest, strongest and most advanced LEGO&amp;reg; robot ever, in as few as 30 minutes! The new NXT Intelligent Brick, your robot's &amp;quot;brain,&amp;quot; features a powerful 32-bit microprocessor and more memory, plus support for USB 2.0, Bluetooth and more!&lt;br /&gt;
            &lt;br /&gt;
            A highly versatile palette of LEGO TECHNIC&amp;reg; elements combines with state-of-the-art ultrasonic, sound, light and touch sensors in the next generation of intuitive robotics. With the included Quick-Start guide, easy-to-use software and step-by-step building instructions, beginners and experts alike can create humanoid, vehicle and animal robots that obey every command!&lt;br /&gt;
            &lt;br /&gt;
            Improved light sensors can detect different colors and intensities, while the new sound sensor enables robots to respond to sound patterns and tones. Robots can really &amp;quot;feel&amp;quot; with improved touch sensors, while ultrasonic &amp;quot;eyes&amp;quot; measure distance and movement.&lt;br /&gt;
            &lt;br /&gt;
            Programming software is now available for both PC and Macintosh, plus with Bluetooth support, you can even command your robot from your mobile phone!&lt;br /&gt;
            &lt;br /&gt;
            &lt;b&gt;LEGO&amp;reg; MINDSTORMS&amp;reg; NXT Includes:&lt;/b&gt;&lt;br /&gt;
            &lt;br /&gt;
            &lt;/p&gt;
            &lt;ul&gt;
                &lt;li&gt;All-new NXT Intelligent Brick with 32-bit microprocessor, more memory and FLASH &lt;/li&gt;
                &lt;li&gt;3 Interactive Servo motors feature built-in rotation sensors to align speed for precise control &lt;/li&gt;
                &lt;li&gt;New sound sensor reacts to sound commands, patterns and tones &lt;/li&gt;
                &lt;li&gt;New ultrasonic visual sensor responds to movement &lt;/li&gt;
                &lt;li&gt;Improved touch sensor reacts to touch and release &lt;/li&gt;
                &lt;li&gt;Improved light sensor detects different colors and light intensities &lt;/li&gt;
                &lt;li&gt;519 specially selected LEGO TECHNIC elements for sturdy and durable building and improved functionality and movement &lt;/li&gt;
                &lt;li&gt;4 input ports, 3 output ports and 7 6-wire cords &lt;/li&gt;
                &lt;li&gt;Matrix display &lt;/li&gt;
                &lt;li&gt;Piezo speakers &lt;/li&gt;
                &lt;li&gt;USB 2.0 and Bluetooth support &lt;/li&gt;
                &lt;li&gt;Easy-to-use PC and Mac compatible interface &lt;/li&gt;
                &lt;li&gt;Intuitive, icon-based drag-and-drop program &amp;quot;building&amp;quot; environment&lt;/li&gt;
            &lt;/ul&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=11094" width="1" height="1"&gt;</description></item><item><title>Second place for the Internal RAD Race 2006</title><link>http://bloggingabout.net/blogs/pascal/archive/2006/01/22/10846.aspx</link><pubDate>Sun, 22 Jan 2006 10:53:00 GMT</pubDate><guid isPermaLink="false">813b6dfd-644e-4573-a816-eebab56ba0d0:10846</guid><dc:creator>Pascal Naber</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://bloggingabout.net/blogs/pascal/rsscomments.aspx?PostID=10846</wfw:commentRss><comments>http://bloggingabout.net/blogs/pascal/archive/2006/01/22/10846.aspx#comments</comments><description>&lt;table cellspacing="1" cellpadding="1" border="0"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;font size="2"&gt;&lt;a href="http://bloggingabout.net/UserFiles/Pascal Naber/Image/DSC01795.JPG"&gt;&lt;img height="146" alt="" src="/UserFiles/Pascal Naber/Image/DSC01795.JPG" width="220" border="0" /&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;
            &lt;td&gt;&lt;font size="2"&gt;As your could read&amp;nbsp;on &lt;/font&gt;&lt;a href="http://bloggingabout.net/blogs/mblaak/"&gt;&lt;font size="2"&gt;Mike Blaaks&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; blog, LogicaCMG organized the Internal RAD Race 2006 last weekend.&lt;br /&gt;
            It&amp;rsquo;s a game between 10-12 teams. Each team exists of 2 persons and basically are using Oracle, Java or Microsoft software. &lt;br /&gt;
            The assignment for the teams is known on the day we begin but comes always near to a real-life business case. &lt;br /&gt;
            &lt;br /&gt;
            In short: This year we had to build a webapplication for licenseplate registration in the EU. &lt;/font&gt;
            &lt;p align="left"&gt;&lt;font size="2"&gt;Teams are allowed to use all software, tools and libraries you can think of, but during the Race no Internet access is allowed (USB keys are not allowed also)&lt;br /&gt;
            &lt;br /&gt;
            &lt;/font&gt;&lt;/p&gt;
            &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;br /&gt;
&lt;a href="http://bloggingabout.net/blogs/fijsjan/"&gt;&lt;font size="2"&gt;Fijsjan Heijkoop&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; and I were&amp;nbsp;team 7 and used the following toolset:&amp;nbsp; &lt;/font&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;- VS.NET 2005&amp;nbsp;&lt;br /&gt;
- SQL Server 2000 (2005 was way too slow for a RAD race :-( )&amp;nbsp;&lt;br /&gt;
- NHibernate 1.0&amp;nbsp;&lt;br /&gt;
- MyGeneration Code templates (custom build)&amp;nbsp;&lt;br /&gt;
- And our own code libraries specially build for this RAD Race.&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;With 6 weeks preperation in our spare time (and some days&amp;nbsp;of LogicaCMG)&amp;nbsp;we took the 2&lt;sup&gt;nd&lt;/sup&gt; place ! &lt;br /&gt;
(after an Oracle team, but before all Java &amp;amp; other Microsoft teams)&lt;/font&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;&amp;nbsp;It was really fun (and exhaustive. )&lt;/font&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;Hope we can kick Oracles ass next year...;-)&lt;/font&gt;&lt;/p&gt;
&lt;font face="Arial"&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;img height="408" alt="" src="/UserFiles/Pascal Naber/Image/DSC01796.JPG" width="615" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;img height="476" alt="" src="http://bloggingabout.net/UserFiles/Pascal Naber/Image/DSC01801.JPG" width="717" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;img alt="" src="/UserFiles/Pascal Naber/Image/DSC01803.JPG" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/font&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://bloggingabout.net/aggbug.aspx?PostID=10846" width="1" height="1"&gt;</description></item></channel></rss>
