<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/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>Craig McMurtry's WebLog : Windows Communication Foundation Hands-on!</title><link>http://blogs.msdn.com/craigmcmurtry/archive/category/11914.aspx</link><description>Updates to the Sams book, Windows Communication Foundation Hands-on by Craig McMurtry, Marc Mercuri, and Nigel Watling</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>.NET 3.0 finally released.  </title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/11/07/net-3-0-finally-released.aspx</link><pubDate>Tue, 07 Nov 2006 18:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1017570</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/1017570.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=1017570</wfw:commentRss><description>&lt;P&gt;In case you haven't noticed already, the RTM of .NET 3 is finally available.&amp;nbsp; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Runtime: &lt;A href="http://go.microsoft.com/fwlink/?LinkId=70848"&gt;http://go.microsoft.com/fwlink/?LinkId=70848&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;SDK: &lt;A href="http://download.microsoft.com/download/1/b/3/1b3f749d-e215-482c-a004-5d9c26c75c92/6.0.6000.0.0.WindowsSDK_Vista_rtm.DVD.Rel.img"&gt;http://download.microsoft.com/download/1/b/3/1b3f749d-e215-482c-a004-5d9c26c75c92/6.0.6000.0.0.WindowsSDK_Vista_rtm.DVD.Rel.img&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Visual Studio Extensions: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=F54F5537-CC86-4BF5-AE44-F5A1E805680D&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Workflow Designer: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=5D61409E-1FA3-48CF-8023-E8F38E709BA6&amp;amp;displaylang=en&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1017570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On!  All the June CTP updates in one download</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/07/17/668499.aspx</link><pubDate>Mon, 17 Jul 2006 19:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:668499</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/668499.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=668499</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial&gt;You can retrieve all of the June CTP updates for &lt;EM&gt;Microsoft Windows Communication Foundation: Hands-On!&lt;/EM&gt; in a single download here: &lt;/FONT&gt;&lt;A href="http://cryptmaker-com.solo.parcomweb.net/"&gt;&lt;A href="http://www.cryptmaker.com/junectpupdates.zip"&gt;&lt;FONT face=Arial&gt;http://www.cryptmaker.com/junectpupdates.zip&lt;/FONT&gt;&lt;/A&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;XP users!&amp;nbsp; Grab this alternative version of the callbacks sample for chapter 10 from &lt;/FONT&gt;&lt;A href="http://www.cryptmaker.com/callbacks.zip"&gt;&lt;FONT face=Arial&gt;www.cryptmaker.com/callbacks.zip&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&lt;/FONT&gt;&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=668499" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Ten</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/07/06/658440.aspx</link><pubDate>Fri, 07 Jul 2006 03:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:658440</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/658440.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=658440</wfw:commentRss><description>&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;The code to accompany chapter&amp;nbsp;ten of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, updated for the June 2006 CTP/RC1 release is here: &lt;/FONT&gt;&lt;A href="http://www.electronicfiles.net/files/3741/PublishSubscribe.zip"&gt;&lt;FONT face=Arial&gt;http://www.electronicfiles.net/files/3741/PublishSubscribe.zip&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; Execute the CustomPeerResolverService first, then execute the Teacher's application, and finally the Child's program.&amp;nbsp; &lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;XP users!&amp;nbsp; Grab this alternative version of the callbacks sample for chapter 10 from &lt;/FONT&gt;&lt;A href="http://www.cryptmaker.com/callbacks.zip"&gt;&lt;FONT face=Arial&gt;www.cryptmaker.com/callbacks.zip&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&lt;/FONT&gt;&amp;nbsp; &lt;/P&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;SPAN&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="https://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/103-7077628-9630215?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3D8d09697e-4868-4d8d-a4cf-9b82a2ae542d%26DisplayLang%3Den&amp;amp;token=AE49F4734B3866B6A338D935CC7777FADC5E200F" target=_blank&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://www.microsoft.com/downloads/details.aspx?Fa milyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;Displa yLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;.&lt;/FONT&gt;&amp;nbsp; &lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=658440" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Eleven</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/07/06/658303.aspx</link><pubDate>Fri, 07 Jul 2006 00:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:658303</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/658303.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=658303</wfw:commentRss><description>&lt;DIV&gt;
&lt;DIV&gt;The code to accompany chapter&amp;nbsp;eleven of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, updated for the June 2006 CTP/RC1 release is here: &lt;A href="http://www.electronicfiles.net/files/3741/PeerChannel.zip" target=_blank&gt;&lt;FONT color=#0000ff&gt;http://www.electronicfiles.net/files/3741/PeerChannel.zip&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; Execute the CustomPeerResolverService first, then execute the Teacher's application, and finally the Child's program.&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;The June 2006 CTP/RC1 release itself is here: &lt;SPAN&gt;&lt;U&gt;&lt;FONT color=#0000ff&gt;&lt;A href="https://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/103-7077628-9630215?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.microsoft.com%2Fdownloads%2Fdetails.aspx%3FFamilyID%3D8d09697e-4868-4d8d-a4cf-9b82a2ae542d%26DisplayLang%3Den&amp;amp;token=AE49F4734B3866B6A338D935CC7777FADC5E200F" target=_blank&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT color=#800080&gt;http://www.microsoft.com/downloads/details.aspx?Fa milyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;Displa yLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;.&amp;nbsp; &lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=658303" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Nine</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/07/05/657525.aspx</link><pubDate>Thu, 06 Jul 2006 07:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:657525</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/657525.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=657525</wfw:commentRss><description>&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;Although I didn't actually write chapter nine, a few readers have asked for updated code for that chapter.&amp;nbsp; The zip file at &lt;A href="http://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/103-7077628-9630215?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.electronicfiles.net%2Ffiles%2F3741%2FBehaviors.zip&amp;amp;token=F57C8F73B69247032304954D30E8858EB9A00AFE" target=_blank&gt;&lt;FONT color=#003399&gt;http://www.electronicfiles.net/files/3741/Behavior s.zip&lt;/FONT&gt;&lt;/A&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;contains code and documentation showing&amp;nbsp;how to add custom behaviors at each of the many extensibility points of the Windows Communication Foundation's Service Model.&amp;nbsp; The code is compatible with the &lt;/FONT&gt;&lt;FONT face=Arial&gt;June 2006 CTP/RC1 release which is here: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;&lt;FONT face=Arial&gt;UPDATE: the official update for the code for chapter nine is now available&amp;nbsp;at &lt;FONT face="Times New Roman"&gt;&lt;A href="http://www.marcmercuri.com/PermaLink,guid,fa0ed46b-5dd6-4533-9c59-8b8b8279dc33.aspx"&gt;http://www.marcmercuri.com/PermaLink,guid,fa0ed46b-5dd6-4533-9c59-8b8b8279dc33.aspx&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=657525" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Thirteen</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/07/05/657496.aspx</link><pubDate>Thu, 06 Jul 2006 07:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:657496</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/657496.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=657496</wfw:commentRss><description>&lt;DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;New&amp;nbsp;code to accompany chapter&amp;nbsp;thirteen of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, compatible with the&amp;nbsp;June 2006 CTP/RC1 release is here: &lt;/FONT&gt;&lt;A href="http://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/002-9463576-2293655?ie=UTF8&amp;amp;location=%2Fgp%2Fredirect.html%2Fref%3Dcm%5Fplog%5Fitem%5Flink%2F002-9463576-2293655%3Fie%3DUTF8%26location%3Dhttp%253A%252F%252Fwww.electronicfiles.net%252Ffiles%252F3741%252FSecurity.zip%26token%3D7F72A7EE85F909CE3B3F91F0A1C742D4EB9BCBA3&amp;amp;token=2A320AE2D4A6A6BEC948706E3838F85D89863E90" target=_blank&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.electronicfiles.net/files/3741/RepresentationalStateTransfer.zip" target=_blank&gt;&lt;FONT face=Arial color=#0000ff&gt;http://www.electronicfiles.net/files/3741/RepresentationalStateTransfer.zip&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=657496" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Eight</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/06/30/652100.aspx</link><pubDate>Fri, 30 Jun 2006 13:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:652100</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/652100.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=652100</wfw:commentRss><description>&lt;DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;New&amp;nbsp;code to accompany chapter&amp;nbsp;eight of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, compatible with the&amp;nbsp;June 2006 CTP/RC1 release is here: &lt;/FONT&gt;&lt;A href="http://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/002-9463576-2293655?ie=UTF8&amp;amp;location=%2Fgp%2Fredirect.html%2Fref%3Dcm%5Fplog%5Fitem%5Flink%2F002-9463576-2293655%3Fie%3DUTF8%26location%3Dhttp%253A%252F%252Fwww.electronicfiles.net%252Ffiles%252F3741%252FSecurity.zip%26token%3D7F72A7EE85F909CE3B3F91F0A1C742D4EB9BCBA3&amp;amp;token=2A320AE2D4A6A6BEC948706E3838F85D89863E90" target=_blank&gt;&lt;FONT color=#0000ff&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.amazon.com/gp/redirect.html/ref=cm_plog_item_link/002-9463576-2293655?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.electronicfiles.net%2Ffiles%2F3741%2F08.zip&amp;amp;token=95C5495684D318237097411C3FA5B97CD59ACBF6" target=_blank&gt;&lt;FONT face=Arial color=#003399&gt;http://www.electronicfiles.net/files/3741/08.zip&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; I prefer this sample to the original one because it covers a more common scenario.&amp;nbsp; The scenario is that of a server application that communicates via a proprietary protocol over TCP.&amp;nbsp; That protocol defines how messages are framed within data transmitted via the TCP socket, and how messages may be formatted.&amp;nbsp;&amp;nbsp;Client applications connect to the server and the client and server send messages back and forth to one another, in response to events occuring one the client's side, or on the server's.&amp;nbsp; &amp;nbsp; &lt;/FONT&gt;&lt;/DIV&gt;&lt;BR&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;Run the sample without debugging to avoid a couple of phantom exceptions.&amp;nbsp; &lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT face=Arial&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=652100" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Four</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/06/25/646623.aspx</link><pubDate>Sun, 25 Jun 2006 17:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:646623</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/646623.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=646623</wfw:commentRss><description>&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The code to accompany chapter&amp;nbsp;four of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, updated for the June 2006 CTP/RC1 release is here: &lt;A href="http://www.electronicfiles.net/files/3741/Security.zip"&gt;&lt;FONT color=#0000ff&gt;http://www.electronicfiles.net/files/3741/Security.zip&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080 size=3&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=646623" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Three</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/06/24/646296.aspx</link><pubDate>Sun, 25 Jun 2006 05:53:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:646296</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/646296.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=646296</wfw:commentRss><description>&lt;TABLE cellSpacing=0 cellPadding=0 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="100%"&gt;
&lt;DIV class=BlogPostContent&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The code to accompany chapter&amp;nbsp;three of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, updated for the June 2006 CTP/RC1 release is here: &lt;A href="http://www.electronicfiles.net/files/3741/03.zip"&gt;&lt;FONT color=#0000ff&gt;http://www.electronicfiles.net/files/3741/03.zip&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080 size=3&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=646296" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-On June 2006 CTP/RC1 Updates: Chapter Two</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/06/24/646290.aspx</link><pubDate>Sun, 25 Jun 2006 05:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:646290</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/646290.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=646290</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial&gt;The code to accompany chapter&amp;nbsp;two of &lt;EM&gt;Microsoft Windows Communication Foundation-Hands On!&lt;/EM&gt;, updated for the June 2006 CTP/RC1 release is here: &lt;A href="http://www.electronicfiles.net/files/3741/02.zip"&gt;http://www.electronicfiles.net/files/3741/02.zip&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;The June 2006 CTP/RC1 release itself is here: &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en" target=_blank&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;U&gt;&lt;FONT face=Arial color=#800080 size=3&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=8d09697e-4868-4d8d-a4cf-9b82a2ae542d&amp;amp;DisplayLang=en&lt;/FONT&gt;&lt;/U&gt;&lt;/SPAN&gt;&lt;/A&gt;.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=646290" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Contract-First Development and Diagnosable Mental Disorders</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/02/01/522353.aspx</link><pubDate>Wed, 01 Feb 2006 22:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:522353</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/522353.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=522353</wfw:commentRss><description>&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;font face=Verdana&gt;Data sent from Windows Communication Foundation clients to Windows Communication Foundation Services is serialized to XML within the client, and de-serialized from XML within the service.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;There are two XML serializers that the Windows Communication Foundation can use to accomplish that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;font face=Verdana&gt;One of those is a new XML serializer provided with the Windows Communication Foundation.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It is the XmlFormatter class in the System.Runtime.Serialization namespace within the System.Runtime.Serialization assembly.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That assembly is the one of the&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;constituent assemblies of the Windows Communication Foundation.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The XmlFormatter class is the XML serializer that the Windows Communication Foundation uses by default.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;font face=Verdana&gt;While the XmlFormatter is the default XML serializer of the Windows Communication Foundation, the Windows Communication Foundation can also be configured to do XML serialization using the System.Xml.Serialization.XmlSerializer class that has always been included in the System.Xml assembly of the .NET Framework Class Library.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;To exercise that option, add the XmlSerializerFormat attribute to the definition of a Windows Communication Foundation contract, like so: &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;span style="mso-bidi-font-family: 'Courier New'; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;namespace DerivativesCalculator&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[ServiceContract]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[XmlSerializerFormat]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public interface IDerivativesCalculator&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;[OperationContract]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;decimal CalculateDerivative(&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string[] symbols,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;decimal[] parameters,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string[] functions);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;span style="TEXT-DECORATION: none"&gt;&lt;font face="Courier New" size=2&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;void DoNothing();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=CX style="MARGIN: 0in 0in 12pt"&gt;&lt;font face="Courier New" size=2&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&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=Verdana&gt;The option of using the XmlSerializer class for XML serialization can also be selected just for individual operations: &lt;/font&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Courier size=2&gt;namespace DerivativesCalculator&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Courier size=2&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[ServiceContract]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public interface IDerivativesCalculator&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[OperationContract]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;[XmlSerializerFormat]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;decimal CalculateDerivative(&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;string[] symbols,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;decimal[] parameters,&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;string[] functions);&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;span style="TEXT-DECORATION: none"&gt;&lt;font face=Courier size=2&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;void DoNothing();&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face=Courier&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=CX style="MARGIN: 0in 0in 12pt"&gt;&lt;font face=Courier size=2&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;The &lt;u&gt;XmlSerializer&lt;/u&gt; provides very precise control over how data is to be represented in XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Its facilities are well-documented in the book &lt;i style="mso-bidi-font-style: normal"&gt;.NET Web Services: Architecture and Implementation&lt;/i&gt;, by Keith Ballinger (2003). &lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;The &lt;u&gt;&lt;span style="mso-no-proof: yes"&gt;XmlFormatter&lt;/span&gt;&lt;/u&gt;, on the other hand, provides very little control over how data is to be represented in XML. It only allows one to specify the namespaces and names used to refer to data items in the XML, and the order in which the data items are to appear in the XML, as in this case:&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;[DataContract(Namespace=”Derivatives”,Name=”Calculation”)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;public class DerivativesCalculation&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DataMember(Namespace=”Derivatives”,Name=”Symbols”,Order=0)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private string[] symbols;&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DataMember(Namespace=”Derivatives”,Name=”Parameters”,Order=1)]&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;private decimal[] parameters;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[...]&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=CX style="MARGIN: 0in 0in 12pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;By not permitting any control over how data is to be represented in XML, the serialization process becomes highly predictable for the &lt;u&gt;&lt;span style="mso-no-proof: yes"&gt;XmlFormatter&lt;/span&gt;&lt;/u&gt; and, thereby, more amenable to optimization. So a practical benefit of the &lt;u&gt;&lt;span style="mso-no-proof: yes"&gt;XmlFormatter&lt;/span&gt;&lt;/u&gt;’s design is better performance, approximately 10% better performance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;Now, one might wonder whether the gain in performance is worth the loss of control over how data is represented in XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That is most certainly the case, and understanding why serves to highlight the brilliance of the design of the Windows Communication Foundation.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;A practice that is most characteristic of service-oriented programming is commonly-referred to as &lt;i style="mso-bidi-font-style: normal"&gt;contract-first development&lt;/i&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Contract-first development is to begin the construction of software by specifying platform-independent representations for the data structures to be exchanged across the external interfaces, and platform-independent protocols for those exchanges.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;Contract-first development is a sound practice.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;It helps one to avoid such unfortunate mistakes as building software that is meant to be interoperable across platforms, but which emits data in formats for which there are only representations on a particular platform, such as the .NET DataSet format.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;However, the sound practice of contract-first development has become confused with one particular way of doing contract-first development, by virtue of which people become excessively concerned with XML formats.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That one particular way of doing contract-first development is to use an XML editor to compose specifications of data formats in the XML Schema language, taking care to ensure that all complex data types are ultimately defined in terms of XML Schema Datatypes.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Now, as a software developer, one's sole interest in contract-first development should be in defining the inputs and outputs of one’s software, and in ensuring that, if necessary, those inputs and outputs can be represented in a platform-independent format.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Yet, practitioners of contract-first development, working in the XML Schema language in an XML editor, tend to become distracted from those core concerns and start to worry about exactly how the data is to be represented in XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Consequently, they begin to debate, amongst other things, the virtues of various ways of encoding XML, and become highly suspicious of anything that might inhibit them from seeing and fiddling with XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The XML becomes a fetish, falsely imbued with the true virtues of contract-first development, and, as Sigmund Freud wrote, “[s]uch substitutes are with some justice likened to the fetishes in which savages believe that their gods are embodied” (1977, 66).&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;With the XmlFormatter, the Windows Communication Foundation not only restores the focus of software developers to what should be important to them, namely, the specification of inputs and outputs, but also relocates control over the representation of data to where it properly belongs, which is outside of the code, at the system administrator’s disposal.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Specifically, given the class, &lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;public class DerivativesCalculation&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string[] Symbols;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public decimal[] Parameters;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string[] Functions;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New"&gt;&lt;font size=2&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public DataTime Date&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=CX style="MARGIN: 0in 0in 12pt"&gt;&lt;font face="Courier New" size=2&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;all one should care about as a software developer is to be able to say that the class is a data structure that may be an input or an output, and that particular constituents of that structure may be included when it is input or output.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The DataContract and DataMember attributes provided for using the XmlFormatter to serialize data allow one to do just that, as in,&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=C2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;[DataContract]&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;public class DerivativesCalculation&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font face="Courier New" size=2&gt;{&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DataMember]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string[] Symbols;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DataMember]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public decimal[] Parameters;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;[DataMember]&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public string[] Functions;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=LC2 style="MARGIN: 0in 0in 6pt"&gt;&lt;font size=2&gt;&lt;font face="Courier New"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;public DataTime Date&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=CX style="MARGIN: 0in 0in 12pt"&gt;&lt;font face="Courier New" size=2&gt;}&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;It is by configuring the encoding protocol in the binding of an endpoint that one can control exactly how data structures are represented in transmissions.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;Now there are two scenarios to consider.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In the first scenario, the organization that has adopted the Windows Communication Foundation is building a service.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In the other scenario, the organization that has adopted the Windows Communication Foundation is building a client.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;In the first of these scenarios, the Windows Communication Foundation developers define the data structures to be exchanged with their services using the DataContract and DataMember attributes.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Then they generate representations of those structures in the XML Schema language using the Service Metadata Tool, introduced in the previous chapter.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;They provide those XML Schema language representations to developers wishing to use their services.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The designers of the Windows Communication Foundation have expended considerable effort to ensure that the structure of the XML into which the XmlFormatter serializes data should be readily consumable by the tools various vendors provide to assist in de-serializing data that is in XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Thus, anyone wishing to use the services provided by the Windows Communication Foundation developers in this scenario should be able to do so, despite the Windows Communication Foundation developers never having necessarily looked at, or manipulated, any XML in the process of providing the services.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;In the second scenario, the Windows Communication Foundation developers use the Service Metadata Tool to generate code for using a software service that may or may not have been developed using the Windows Communication Foundation.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;If the XML representations of the inputs and outputs of that service deviate from the way in which the XmlFormatter represents data in XML, then the code generated by the Service Metadata Tool will include the switch for using the XmlSerializer instead of the XmlFormatter for serializing data to XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;That code should allow the Windows Communication Foundation developers to use the service, and once again, they will not have had to look at, or manipulate any XML in order to do so.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;Should the fetish for XML prove too overwhelming, and one is compelled to look at the XML Schema language that defines how a class will be represented within XML, then the Windows Communication Foundation does make provision for that.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;Executing the Service Metadata Tool in this way, &lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=NL style="MARGIN: 0in 0in 6pt 0.5in"&gt;&lt;b style="mso-bidi-font-weight: normal"&gt;&lt;font face=Verdana&gt;svcutil /datacontractonly SomeAssembly.dll&lt;o:p&gt;&lt;/o:p&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;where &lt;i style="mso-bidi-font-style: normal"&gt;SomeAssembly.dll&lt;/i&gt;, is the name of some assembly in which a data contract is defined for a class, will yield the XML Schema language specifying the format of the XML into which instances of the class will be serialized.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;o:p&gt;&lt;font face=Verdana&gt;&amp;nbsp;&lt;/font&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;font face=Verdana&gt;The question being considered is whether the gain in performance yielded by the XmlFormatter is adequate compensation for it providing no control over how data is represented in XML.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The answer that should be apparent from the foregoing is that control over how data is represented in XML is generally of no use to software developers, so, yes, any gain in performance in exchange for that control is certainly welcome.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; Moreover, anecdotal evidence suggests that serialization and de-serlialization are the most common and severe bottlenecks in services, so gains in performance at those points are likely to improve the overall performance of a service.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;font face=Verdana&gt;&lt;span style="mso-spacerun: yes"&gt;
&lt;div style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: windowtext 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 1pt; BORDER-BOTTOM: medium none; mso-border-top-alt: solid windowtext .5pt; mso-element: para-border-div"&gt;
&lt;p class=HC style="MARGIN: 6pt 0in 0.25in"&gt;&lt;strong&gt;&lt;font size=5&gt;References&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt 0.5in; TEXT-INDENT: -0.5in"&gt;Ballinger, Keith.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;2003.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;i style="mso-bidi-font-style: normal"&gt;.NET Web Services: Architecture and Implementation&lt;/i&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;&lt;st1:city w:st="on"&gt;Reading&lt;/st1:city&gt;, &lt;st1:state w:st="on"&gt;MA&lt;/st1:state&gt;&lt;/st1:place&gt;: Addison-Wesley.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p class=FT style="MARGIN: 0in 0in 6pt"&gt;&lt;span style="FONT-SIZE: 11pt; FONT-FAMILY: Verdana; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-language: AR-SA; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-font-size: 10.0pt"&gt;Freud, Sigmund.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;1977.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;i style="mso-bidi-font-style: normal"&gt;Three Essays on Sexuality&lt;/i&gt;.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;In &lt;i style="mso-bidi-font-style: normal"&gt;On Sexuality: Three Essays on Sexuality and Other Works&lt;/i&gt;, ed. Angela Richards.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;The Pelican Freud Library, ed. James Strachey, no. 7.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;st1:place w:st="on"&gt;&lt;st1:city w:st="on"&gt;London&lt;/st1:city&gt;, &lt;st1:country-region w:st="on"&gt;UK&lt;/st1:country-region&gt;&lt;/st1:place&gt;: Penguin.&lt;span style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=522353" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item><item><title>Windows Communication Foundation Hands-on!</title><link>http://blogs.msdn.com/craigmcmurtry/archive/2006/01/29/518983.aspx</link><pubDate>Mon, 30 Jan 2006 04:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:518983</guid><dc:creator>CraigMcMurtry</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/craigmcmurtry/comments/518983.aspx</comments><wfw:commentRss>http://blogs.msdn.com/craigmcmurtry/commentrss.aspx?PostID=518983</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana&gt;The book is on its way: I finished my last chapter this past Wednesday, and I believe Marc was up into the wee hours of this morning finishing his.&amp;nbsp; Nigel is furiously banging away on his chapter now that he has his hands on a new InfoCard build.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana&gt;And we have an entry on Amazon: &lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://www.amazon.com/gp/product/0672328771/qid=1138427165/sr=11-1/ref=sr_11_1/104-4321764-1076717?s=books&amp;amp;v=glance&amp;amp;n=283155"&gt;http://www.amazon.com/gp/product/0672328771/qid=1138427165/sr=11-1/ref=sr_11_1/104-4321764-1076717?s=books&amp;amp;v=glance&amp;amp;n=283155&lt;/A&gt;.&amp;nbsp; &lt;FONT face=Verdana size=3&gt;Now all we need is to get the title right, and Nigel's name on the cover.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=518983" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/craigmcmurtry/archive/tags/Windows+Communication+Foundation+Hands-on_2100_/default.aspx">Windows Communication Foundation Hands-on!</category></item></channel></rss>