<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>VS.Net and development</title>
        <link>http://geekswithblogs.net/TheSenator/category/4635.aspx</link>
        <description>journey's into the world of development in .net</description>
        <language>en-US</language>
        <copyright>Steve Loethen</copyright>
        <managingEditor>sloethen@sbcglobal.net</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>The new Visual Studio is here, the new Visual Studio is here...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/11/19/The-new-Visual-Studio-is-here-the-new-Visual-Studio.aspx</link>
            <description>&lt;p&gt;For those of you living under a rock, let me clue you in.  This morning, VS 2008, formally called Orcas, was released to the MSDN subscription download service.  If you have a subscription, run, do not walk, to get it.&lt;/p&gt; &lt;p&gt;It was a bit of a struggle this morning.  The servers were getting hammered pretty hard, but I finally got in.  Okay, you say, Steve, you work for Microsoft, couldn't you just call up Bill and ask for a copy?  Trust me, the MSDN server's got the bits  before the internal download sites did.  And MSDN downloads quicker.  :)&lt;/p&gt; &lt;p&gt;Pulled it down, burned a dvd, and installed it on my freshly built Vista 64 bit box.  Tomorrow, the fun begins.&lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:521a1b59-8ebe-4b3a-809d-d6653b76971b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/codetolive" rel="tag"&gt;codetolive&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116977"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116977" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/116977.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/11/19/The-new-Visual-Studio-is-here-the-new-Visual-Studio.aspx</guid>
            <pubDate>Tue, 20 Nov 2007 03:59:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/116977.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/11/19/The-new-Visual-Studio-is-here-the-new-Visual-Studio.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/116977.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/116977.aspx</trackback:ping>
        </item>
        <item>
            <title>Get your game on....</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/10/30/Get-your-game-on.aspx</link>
            <description>&lt;p&gt;Dream of writing the next Halo?  Want to retire to a tropical island on the revenue from selling your independent game company?  Or do you want to write and share your vision of gaming with the world?  Then check this out:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.imgdc.com"&gt;http://www.imgdc.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is IMGDC?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Indie MMO Game Developers Conference was an incredible success last year, full of passionate designers and developers. The excitement and pure dedication to the art of building virtual worlds was apparent and astounding. A strong focus on networking at IMGDC allows Indie developers to gain a massive amount of invaluable connections and information relevant to the size of project they are working on. Eric Rhea stated last year that IMGDC allowed for over $30,000 in free consultations with industry professionals. &lt;/p&gt;  &lt;p&gt;IMGDC is a venue for Independent designers and developers to come together to share ideas and learn in all areas related to MMOGs. IMGDC 2.0 has positioned itself to be an even larger venue with three fantastic tracks covering design, development and business aspects of Indie MMOGs. The present is a time of MMOG giants, but the future lies in the hands of the passionate Indie developers. Do you have the passion? &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Where/When is IMGDC?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Minneapolis Convention Center, March 29th &amp;amp; 30th, 2008.&lt;/p&gt;  &lt;p&gt;Hope to see you there...&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3b0c39a4-07e8-4ba5-a41d-d34df51d873b" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/codetolive/" rel="tag"&gt;codetolive&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/xbox/" rel="tag"&gt;xbox&lt;/a&gt; 		,  		&lt;a href="http://technorati.com/tags/games/" rel="tag"&gt;games&lt;/a&gt; 		&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116465"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116465" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/116465.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/10/30/Get-your-game-on.aspx</guid>
            <pubDate>Tue, 30 Oct 2007 14:00:55 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/116465.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/10/30/Get-your-game-on.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/116465.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/116465.aspx</trackback:ping>
        </item>
        <item>
            <title>CodeToLive Podcast from the Heartland Developers Conference...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/10/22/CodeToLive-Podcast-from-the-Heartland-Developers-Conference.aspx</link>
            <description>&lt;p&gt;Last week I journeyed to the sunny (okay, soggy) environs of Omaha Nebraska to attend and present at the &lt;a href="http://www.heartlanddc.com"&gt;Heartland Developers Conference&lt;/a&gt;.  Along with my sparkling personality, I took the CodeToLive Harley and a good presentation on an introduction to WF.  Some in my session asked for a link to the Hands on Labs for WF and Orcas.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=2e575633-e357-4ee7-aaff-34138f00e830&amp;amp;displaylang=en"&gt;WorkFlow Hands on labs...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Enjoy.  Takes a couple of hours.  &lt;/p&gt; &lt;p&gt;While there, we conducted a few podcast recording, and I was interviewed on one of them.  Go have a listen and see what you think.  It might give you some insight into what codetolive is and what we are trying to achieve.&lt;/p&gt; &lt;p&gt;&lt;a title="http://geekswithblogs.net/jjulian/archive/2007/10/18/116138.aspx" href="http://geekswithblogs.net/jjulian/archive/2007/10/18/116138.aspx"&gt;http://geekswithblogs.net/jjulian/archive/2007/10/18/116138.aspx&lt;/a&gt;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:e4b5ea1d-863b-42bd-bdc1-4ec19c93c6f9" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/codetolive" rel="tag"&gt;codetolive&lt;/a&gt;, &lt;a href="http://technorati.com/tags/HDC" rel="tag"&gt;HDC&lt;/a&gt;, &lt;a href="http://technorati.com/tags/WF" rel="tag"&gt;WF&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116239"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116239" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/116239.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/10/22/CodeToLive-Podcast-from-the-Heartland-Developers-Conference.aspx</guid>
            <pubDate>Mon, 22 Oct 2007 10:59:16 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/116239.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/10/22/CodeToLive-Podcast-from-the-Heartland-Developers-Conference.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/116239.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/116239.aspx</trackback:ping>
        </item>
        <item>
            <title>New MSDN tester resource...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/10/22/New-MSDN-tester-resource.aspx</link>
            <description>&lt;p&gt;A new resource for those lonely testers.  Announced this morning.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/testing/default.aspx"&gt;http://msdn2.microsoft.com/en-us/testing/default.aspx&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Go take a look as see if it has value.  Let me know what you think.  If any of my tester friends out there want to take a look and do a video interview about what your thoughts are, let me know.  I would be happy to help get the interview done, and get it published on the CodeToLive show on Channel 9.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:51d384ed-261d-4c3b-b53f-1400b7de37a4" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/.net" rel="tag"&gt;.net&lt;/a&gt;, &lt;a href="http://technorati.com/tags/testing" rel="tag"&gt;testing&lt;/a&gt;, &lt;a href="http://technorati.com/tags/codetolive" rel="tag"&gt;codetolive&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116235"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=116235" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/116235.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/10/22/New-MSDN-tester-resource.aspx</guid>
            <pubDate>Mon, 22 Oct 2007 09:58:10 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/116235.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/10/22/New-MSDN-tester-resource.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/116235.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/116235.aspx</trackback:ping>
        </item>
        <item>
            <title>More XNA demo's on CodeToLive...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/10/03/More-XNA-demos-on-CodeToLive.aspx</link>
            <description>&lt;p&gt;2 more episodes of Jennifer M's XNA toolkit series went live on the Code To Live show on channel 9 late yesterday.  Already getting a lot of views.  Go forth and enjoy.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3acf4de2-33c3-4374-9960-34ed52ee7070" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags:  		&lt;a href="http://technorati.com/tags/Codetolive/" rel="tag"&gt;Codetolive&lt;/a&gt; 		&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115808"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115808" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/115808.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/10/03/More-XNA-demos-on-CodeToLive.aspx</guid>
            <pubDate>Wed, 03 Oct 2007 07:42:54 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/115808.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/10/03/More-XNA-demos-on-CodeToLive.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/115808.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/115808.aspx</trackback:ping>
        </item>
        <item>
            <title>With all these messages flying about, what do they look like...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/06/26/With-all-these-messages-flying-about-what-do-they-look.aspx</link>
            <description>&lt;p&gt;So far we have a contract, 2 client/server pairs (one programmatic and one administrative).  We can observe that the highly difficult tasks of text concatenation and changing case are happening.  But these examples are extremely trivial, and as we increase complexity, try new things, it would be nice to observer what is going on, especially when it does not go well.&lt;/p&gt; &lt;p&gt;Luck for us, there is a built in logging facility in .NET and a complete feature set and viewing tool specifically for WCF.  And all can be accomplished via the config file.  Let's hit the servers config file.&lt;/p&gt; &lt;p&gt;First, lets set up diagnostics...&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.diagnostics&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;sources&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;System.ServiceModel&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;            &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;switchValue&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Information, ActivityTracing&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;            &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;propagateActivity&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;xml&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;System.ServiceModel.MessageLogging&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;xml&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;myUserTraceSource&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;            &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;switchValue&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Information, ActivityTracing&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;xml&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;listeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;source&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;sources&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;sharedListeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;xml&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;         &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;System.Diagnostics.XmlWriterTraceListener&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;               &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;initializeData&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;d:\logs\Traces.svclog&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;sharedListeners&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
 &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.diagnostics&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This is straight out of the WCF help file.  It defines 3 sources, that use a common trace log, located at d:\logs\traces.svclog.  The first 2 come from system components, the third from a source I can drive.  We are not currently driving it yet, but let's leave it in so we can put stuff in it later for debugging purposes.&lt;/p&gt;
&lt;p&gt;So, the trace destination is there.  Let's tell the WCF system to feed it.&lt;/p&gt;
&lt;p&gt;The above big of config fell into the &amp;lt;configuration&amp;gt; section of our app.config.  The next bit is inside our System.ServiceModel section.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;diagnostics&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;wmiProviderEnabled&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;messageLogging&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; 
           &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;logEntireMessage&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; 
           &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;logMalformedMessages&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;           &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;logMessagesAtServiceLevel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; 
           &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;logMessagesAtTransportLevel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;           &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxMessagesToLog&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;3000&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; 
       /&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;diagnostics&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As you can see, we have enabled several things here.  This produces a lot of good info about what is going on.  We see the entire message, both good and bad, at both the service and transport level.  You can trim this down.  As we run the service, it puts our tracing in our log file.  We could just open this file via Notepad, and brute force our way to knowledge, but guess what.  There is a better way.  svcTraceView.exe is part of the windows sdk.  This gives us nice formatted output.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;lt;MessageLogTraceRecord&amp;gt;&lt;br /&gt;&amp;lt;s:Envelope xmlns:s="&lt;a href="http://schemas.xmlsoap.org/soap/envelope/&amp;quot;"&gt;http://schemas.xmlsoap.org/soap/envelope/"&lt;/a&gt;&amp;gt;&lt;br /&gt;&amp;lt;s:Header&amp;gt;&lt;br /&gt;&amp;lt;Action s:mustUnderstand="1" xmlns="&lt;a href="http://schemas.microsoft.com/ws/2005/05/addressing/none&amp;quot;"&gt;http://schemas.microsoft.com/ws/2005/05/addressing/none"&lt;/a&gt;&amp;gt;MyService/IMyContractInterface/SayHelloResponse&amp;lt;/Action&amp;gt;&lt;br /&gt;&amp;lt;/s:Header&amp;gt;&lt;br /&gt;&amp;lt;s:Body&amp;gt;&lt;br /&gt;&amp;lt;SayHelloResponse xmlns="MyService"&amp;gt;&lt;br /&gt;&amp;lt;SayHelloResult&amp;gt;hello bob&amp;lt;/SayHelloResult&amp;gt;&lt;br /&gt;&amp;lt;/SayHelloResponse&amp;gt;&lt;br /&gt;&amp;lt;/s:Body&amp;gt;&lt;br /&gt;&amp;lt;/s:Envelope&amp;gt;&lt;br /&gt;&amp;lt;/MessageLogTraceRecord&amp;gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;This is the message response from our "SayHello" method, which was given "bob" to append to the word "Hello ".   Not bad.&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:02eb86fd-8765-4170-8d3a-cc49caad0bdf" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/WCF" rel="tag"&gt;WCF&lt;/a&gt;, &lt;a href="http://technorati.com/tags/visual%20studio" rel="tag"&gt;visual studio&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dot%20net" rel="tag"&gt;dot net&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;We will come back to this took and logging periodically to view the effects of binding and hosting changes...
&lt;/p&gt;&lt;p&gt;For now....&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113466"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113466" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/113466.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/06/26/With-all-these-messages-flying-about-what-do-they-look.aspx</guid>
            <pubDate>Tue, 26 Jun 2007 18:16:45 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/113466.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/06/26/With-all-these-messages-flying-about-what-do-they-look.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/113466.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/113466.aspx</trackback:ping>
        </item>
        <item>
            <title>Let's add config file support to the client...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/06/22/Lets-add-config-file-support-to-the-client.aspx</link>
            <description>&lt;p&gt;We have overhauled the server to support the endpoints in the config file.  Let's do the same for the Client.  We can then start playing with various config file settings.&lt;/p&gt; &lt;p&gt;Just to preserve the samples, I am going to copy the client code to a new app, and modify the new one.  Let's call it WCFConsoleClientCfg.  &lt;/p&gt; &lt;p&gt;Step 1.  Delete the interface file we had in the previous client.  We are going to use a tool to recreate it.  Or at least it's equivalent.&lt;/p&gt; &lt;p&gt;Step 2.  go to project-&amp;gt;add new and pick a application configuration file.  &lt;/p&gt; &lt;p&gt;Step 3. Fire up our Server.  One thing we need to do is make sure the server is configured to provide metadata via httpget.  This can be done in code, but since we are serving up with a app.cofig on the server side as well, all we have to do is add to our behavior.  Our new app.config for the server looks like this.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;utf-8&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; ?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;configuration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;services&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;service&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;behaviorConfiguration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;MyService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;WCFContract.myContractImplementation&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;endpoint&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;address&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ConsoleService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;binding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;basicHttpBinding&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ConsoleService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;contract&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;WCFContract.IMyContractInterface&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;host&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;baseAddresses&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;baseAddress&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost:8001/WCFConsoleHostedService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
          &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;baseAddresses&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;host&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;service&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;services&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;behaviors&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;behavior&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;MyService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;serviceMetadata&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;httpGetEnabled&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;behavior&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;serviceBehaviors&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;behaviors&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;configuration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;You see that we have added a behavior to our "MyService" behavior.  This enables http get access to the metadata about our service.  Hence the name httpGetEnabled="true".  That will allow  a utility to get the info.&lt;/p&gt;
&lt;p&gt;Step 4.  Use IE to browse to our service by hitting http://localhost:8001/WCFConsoleHostedService".  When you do that you get back a web page that talks about the available endpoints, how to get to a generated proxy class and app.config file.  And you get a sample use of the proxy in both vb and c#.  The magic words are :&lt;/p&gt;
&lt;p&gt;svcutil.exe &lt;a href="http://localhost:8001/WCFConsoleHostedService?wsdl"&gt;http://localhost:8001/WCFConsoleHostedService?wsdl&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;you can also specify where you want the files generated, and under what name.  Plus some other stuff.  Lots of options.  Here is the output of svcutil /?&lt;/p&gt;
&lt;p&gt; &lt;font color="#ff0000"&gt;                              (Short Form: /?) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;                -= CODE GENERATION =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Description: svcutil.exe can generate code for service contracts, clients and&lt;br /&gt;    data types from metadata documents. These metadata documents can be on disk&lt;br /&gt;    or retrieved online. Online retrieval follows either the WS-Metadata&lt;br /&gt;    Exchange protocol or the DISCO protocol. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Syntax: svcutil.exe [/t:code]  &amp;lt;metadataDocumentPath&amp;gt;* | &amp;lt;url&amp;gt;* | &amp;lt;epr&amp;gt; &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; &amp;lt;metadataDocumentPath&amp;gt; - The path to a metadata document (wsdl or xsd).&lt;br /&gt;                          Standard command-line wildcards can be used in the&lt;br /&gt;                          file path.&lt;br /&gt; &amp;lt;url&amp;gt;                  - The URL to a service endpoint that provides metadata&lt;br /&gt;                          or to a metadata document hosted online. For more&lt;br /&gt;                          information on how these documents are retrieved see&lt;br /&gt;                          the Metadata Download section.&lt;br /&gt; &amp;lt;epr&amp;gt;                  - The path to an XML file that contains a WS-Addressing&lt;br /&gt;                          EndpointReference for a service endpoint that supports&lt;br /&gt;                          WS-Metadata Exchange. For more information see the&lt;br /&gt;                          Metadata Download section. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Options: &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /out:&amp;lt;file&amp;gt;                        - The filename for the generated code.&lt;br /&gt;                                      Default: derived from the WSDL definition&lt;br /&gt;                                      name, WSDL service name or targetNamespace&lt;br /&gt;                                      of one of the schemas. (Short Form: /o)&lt;br /&gt; /config:&amp;lt;configFile&amp;gt;               - The filename for the generated config&lt;br /&gt;                                      file. Default: output.config&lt;br /&gt; /mergeConfig                       - Merge the generated config into an&lt;br /&gt;                                      existing file instead of overwriting the&lt;br /&gt;                                      existing file.&lt;br /&gt; /noConfig                          - Do not generate config&lt;br /&gt; /dataContractOnly                  - Generate code for Data Contract types&lt;br /&gt;                                      only. Service Contract types will not be&lt;br /&gt;                                      generated. (Short Form: /dconly) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /language:&amp;lt;language&amp;gt;               - The programming language to use for&lt;br /&gt;                                      generating code. Provide either a language&lt;br /&gt;                                      name registered in the machine.config file&lt;br /&gt;                                      or provide the fully-qualified name of a&lt;br /&gt;                                      class that inherits from&lt;br /&gt;                                      System.CodeDom.Compiler.CodeDomProvider.&lt;br /&gt;                                      Examples of language names to use are CS&lt;br /&gt;                                      and VB. Default: C#. (Short Form: /l)&lt;br /&gt; /namespace:&amp;lt;string,string&amp;gt;         - A mapping from a WSDL or XML Schema&lt;br /&gt;                                      targetNamespace to a CLR namespace. Using&lt;br /&gt;                                      the '*' for the targetNamespace maps all&lt;br /&gt;                                      targetNamespaces without an explicit&lt;br /&gt;                                      mapping to that CLR namespace. Default:&lt;br /&gt;                                      derived from the target namespace of the&lt;br /&gt;                                      schema document for Data Contracts. The&lt;br /&gt;                                      default namespace is used for all other&lt;br /&gt;                                      generated types. (Short Form: /n) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /messageContract                   - Generate Message Contract types. (Short&lt;br /&gt;                                      Form: /mc)&lt;br /&gt; /enableDataBinding                 - Implement the System.ComponentModel.INotif &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;                                      yPropertyChanged interface on all Data&lt;br /&gt;                                      Contract types to enable data binding.&lt;br /&gt;                                      (Short Form: /edb)&lt;br /&gt; /serializable                      - Generate classes marked with the&lt;br /&gt;                                      Serializable Attribute. (Short Form: /s)&lt;br /&gt; /async                             - Generate both synchronous and asynchronous&lt;br /&gt;                                      method signatures. Default: generate only&lt;br /&gt;                                      synchronous method signatures. (Short&lt;br /&gt;                                      Form: /a)&lt;br /&gt; /internal                          - Generate classes that are marked as&lt;br /&gt;                                      internal. Default: generate public&lt;br /&gt;                                      classes. (Short Form: /i) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /reference:&amp;lt;file path&amp;gt;             - Reference types in the specified assembly.&lt;br /&gt;                                      When generating clients, use this option&lt;br /&gt;                                      to specify assemblies that might contain&lt;br /&gt;                                      types representing the metadata being&lt;br /&gt;                                      imported.  (Short Form: /r)&lt;br /&gt; /collectionType:&amp;lt;type&amp;gt;             - A fully-qualified or assembly-qualified&lt;br /&gt;                                      name of the type to use as a collection&lt;br /&gt;                                      data type when code is generated from&lt;br /&gt;                                      schemas. (Short Form: /ct)&lt;br /&gt; /excludeType:&amp;lt;type&amp;gt;                - A fully-qualified or assembly-qualified&lt;br /&gt;                                      type name to exclude from referenced&lt;br /&gt;                                      contract types. (Short Form: /et)&lt;br /&gt; /noStdLib                          - Do not reference standard libraries. By&lt;br /&gt;                                      default mscorlib.dll and&lt;br /&gt;                                      system.servicemodel.dll are referenced. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /serializer:Auto                   - Automatically select the serializer. This&lt;br /&gt;                                      tries to use the Data Contract serializer&lt;br /&gt;                                      and uses the XmlSerializer if that fails.&lt;br /&gt;                                      (Short Form: /ser)&lt;br /&gt; /serializer:DataContractSerializer - Generate data types that use the Data&lt;br /&gt;                                      Contract Serializer for serialization and&lt;br /&gt;                                      deserialization&lt;br /&gt; /serializer:XmlSerializer          - Generate data types that use the&lt;br /&gt;                                      XmlSerializer for serialization and&lt;br /&gt;                                      deserialization&lt;br /&gt; /importXmlTypes                    - Configure the Data Contract serializer to&lt;br /&gt;                                      import non-Data Contract types as&lt;br /&gt;                                      IXmlSerializable types. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;                -= METADATA EXPORT =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Description: svcutil.exe can export metadata for services, contracts and data&lt;br /&gt;    types in compiled assemblies. To export metadata for a service, you must use&lt;br /&gt;    the /serviceName option to indicate the service you would like to export. To&lt;br /&gt;    export all Data Contract types within an assembly use the /dataContractOnly&lt;br /&gt;    option. By default metadata is exported for all Service Contracts in the&lt;br /&gt;    input assemblies. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Syntax: svcutil.exe [/t:metadata] [/serviceName:&amp;lt;serviceConfigName&amp;gt;]&lt;br /&gt;    [/dataContractOnly] &amp;lt;assemblyPath&amp;gt;* &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; &amp;lt;assemblyPath&amp;gt; - The path to an assembly that contains services, contracts or&lt;br /&gt;                  Data Contract types to be exported. Standard command-line&lt;br /&gt;                  wildcards can be used to provide multiple files as input. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Options: &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /serviceName:&amp;lt;serviceConfigName&amp;gt; - The config name of a service to export. If&lt;br /&gt;                                    this option is used, an executable assembly&lt;br /&gt;                                    with an associated config file must be&lt;br /&gt;                                    passed as input. Svcutil will search through&lt;br /&gt;                                    all associated config files for the service&lt;br /&gt;                                    configuration. If the config files contain&lt;br /&gt;                                    any extension types, the assemblies&lt;br /&gt;                                    containing these types must either be in the&lt;br /&gt;                                    GAC or explicitly provided using the /r&lt;br /&gt;                                    option.&lt;br /&gt; /reference:&amp;lt;file path&amp;gt;           - Add the specified assembly to the set of&lt;br /&gt;                                    assemblies used for resolving type&lt;br /&gt;                                    references. If you are exporting or&lt;br /&gt;                                    validating a service that uses 3rd-party&lt;br /&gt;                                    extensions (Behaviors, Bindings and&lt;br /&gt;                                    BindingElements) registered in config use&lt;br /&gt;                                    this option to locate extension assemblies&lt;br /&gt;                                    that are not in the GAC.  (Short Form: /r)&lt;br /&gt; /dataContractOnly                - Operate on Data Contract types only. Service&lt;br /&gt;                                    Contracts will not be processed. (Short&lt;br /&gt;                                    Form: /dconly)&lt;br /&gt; /excludeType:&amp;lt;type&amp;gt;              - The fully-qualified or assembly-qualified&lt;br /&gt;                                    name of a type to exclude from export. This&lt;br /&gt;                                    option can be used when exporting metadata&lt;br /&gt;                                    for a service or a set of service contracts&lt;br /&gt;                                    to exclude types from being exported. This&lt;br /&gt;                                    option cannot be used with the /dconly&lt;br /&gt;                                    option. (Short Form: /et) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;              -= SERVICE VALIDATION =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Description: Validation is useful to detect errors in service implementations&lt;br /&gt;    without hosting the service. You must use the /serviceName option to&lt;br /&gt;    indicate the service you would like to validate. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Syntax: svcutil.exe /validate /serviceName:&amp;lt;serviceConfigName&amp;gt;  &amp;lt;assemblyPath&amp;gt;* &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; &amp;lt;assemblyPath&amp;gt; - The path to an assembly containing service types to be&lt;br /&gt;                  validated. The assembly must have an associated config file to&lt;br /&gt;                  provide service configuration. Standard command-line wildcards&lt;br /&gt;                  can be used to provide multiple assemblies. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Options: &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /validate                        - Validate a service implementation. To&lt;br /&gt;                                    validate a service, you must use the&lt;br /&gt;                                    /serviceName option to indicate the service&lt;br /&gt;                                    you would like to validate. If this option&lt;br /&gt;                                    is used, an executable assembly with an&lt;br /&gt;                                    associated config file must be passed as&lt;br /&gt;                                    input. (Short Form: /v)&lt;br /&gt; /serviceName:&amp;lt;serviceConfigName&amp;gt; - The config name of a service to validate. To&lt;br /&gt;                                    validate a service this option must be&lt;br /&gt;                                    provided. Svcutil will search through the&lt;br /&gt;                                    associated config files of all input&lt;br /&gt;                                    assemblies for the service configuration. If&lt;br /&gt;                                    the associated configuration file contain&lt;br /&gt;                                    any extension types, the assemblies&lt;br /&gt;                                    containing these types must either be in the&lt;br /&gt;                                    GAC or explicitly provided using the /r&lt;br /&gt;                                    option.&lt;br /&gt; /reference:&amp;lt;file path&amp;gt;           - Add the specified assembly to the set of&lt;br /&gt;                                    assemblies used for resolving type&lt;br /&gt;                                    references. If you are exporting or&lt;br /&gt;                                    validating a service that uses 3rd-party&lt;br /&gt;                                    extensions (Behaviors, Bindings and&lt;br /&gt;                                    BindingElements) registered in config use&lt;br /&gt;                                    this option to locate extension assemblies&lt;br /&gt;                                    that are not in the GAC.  (Short Form: /r)&lt;br /&gt; /dataContractOnly                - Operate on Data Contract types only. Service&lt;br /&gt;                                    Contracts will not be processed. (Short&lt;br /&gt;                                    Form: /dconly)&lt;br /&gt; /excludeType:&amp;lt;type&amp;gt;              - The fully-qualified or assembly-qualified&lt;br /&gt;                                    name of a service type to exclude from&lt;br /&gt;                                    validation. (Short Form: /et) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;               -= METADATA DOWNLOAD =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Description: svcutil.exe can be used to download metadata from running services&lt;br /&gt;    and save the metadata to local files. To download metadata, you must&lt;br /&gt;    explicitly specify the /t:metadata option. Otherwise, client code will be&lt;br /&gt;    generated. For http and https URL schemes svcutil.exe will try to retrieve&lt;br /&gt;    metadata using WS-Metadata Exchange and DISCO. For all other URL schemes&lt;br /&gt;    svcutil.exe will only try WS-Metadata Exchange. By default, svcutil.exe uses&lt;br /&gt;    the bindings defined in the&lt;br /&gt;    System.ServiceModel.Description.MetadataExchangeBindings class. To configure&lt;br /&gt;    the binding used for WS-Metadata Exchange you must define a client endpoint&lt;br /&gt;    in config that uses the IMetadataExchange contract. This can be defined&lt;br /&gt;    either in svcutil.exe's config file or in another config file specified&lt;br /&gt;    using the /svcutilConfig option. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Syntax: svcutil.exe /t:metadata  &amp;lt;url&amp;gt;* | &amp;lt;epr&amp;gt; &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; &amp;lt;url&amp;gt; - The URL to a service endpoint that provides metadata or an URL that&lt;br /&gt;         points to a metadata document hosted online.&lt;br /&gt; &amp;lt;epr&amp;gt; - The path to an XML file that contains a WS-Addressing EndpointReference&lt;br /&gt;         for a service endpoint that supports WS-Metadata Exchange. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;         -= XMLSERIALIZER TYPE GENERATION =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Description: svcutil.exe can pre-generate C# serialization code that is required&lt;br /&gt;    for types that can be serialized using the XmlSerializer. svcutil.exe will&lt;br /&gt;    only generate code for types used by Service Contracts found in the input&lt;br /&gt;    assemblies. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Syntax: svcutil.exe /t:xmlSerializer  &amp;lt;assemblyPath&amp;gt;* &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; &amp;lt;assemblyPath&amp;gt; - The path to an assembly containing Service Contract types.&lt;br /&gt;                  Serialization types will be generated for all Xml Serializable&lt;br /&gt;                  types in each contract &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;Options: &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; /reference:&amp;lt;file path&amp;gt; - Add the specified assembly to the set of assemblies&lt;br /&gt;                          used for resolving type references. (Short Form: /r)&lt;br /&gt; /excludeType:&amp;lt;type&amp;gt;    - Fully-qualified or assembly-qualified type name to&lt;br /&gt;                          exclude from export or validation. This option can be&lt;br /&gt;                          used when exporting metadata for a service or a set of&lt;br /&gt;                          service contracts to exclude types from being&lt;br /&gt;                          exported. This option cannot be used with the&lt;br /&gt;                          /dataContractOnly option. (Short Form: /et)&lt;br /&gt; /out:&amp;lt;file&amp;gt;            - Filename for the generated code. This option will be&lt;br /&gt;                          ignored when multiple assemblies are passed as input&lt;br /&gt;                          to the tool. Default: derived from the assembly name.&lt;br /&gt;                          (Short Form: /o) &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt;                   -= EXAMPLES =- &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil &lt;/font&gt;&lt;a href="http://service/metadataEndpoint"&gt;&lt;font color="#ff0000"&gt;http://service/metadataEndpoint&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;    - Generate client code from a running service or online metadata documents. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil /dconly &lt;/font&gt;&lt;a href="http://service/metadataEndpoint"&gt;&lt;font color="#ff0000"&gt;http://service/metadataEndpoint&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;    - Generate Data Contract types from a running service or online metadata&lt;br /&gt;    documents. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil *.wsdl *.xsd /language:C#&lt;br /&gt;    - Generate client code from local metadata documents. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil /dconly *.xsd /language:VB&lt;br /&gt;    - Generate Data Contract types in VisualBasic from local schema documents. &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil /t:metadata &lt;/font&gt;&lt;a href="http://service/metadataEndpoint"&gt;&lt;font color="#ff0000"&gt;http://service/metadataEndpoint&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;font color="#ff0000"&gt;    - Download metadata documents from running services &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil myAssembly.dll&lt;br /&gt;    - Generate metadata documents for Service Contracts and associated types in&lt;br /&gt;    an assembly &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil myServiceHost.exe /serviceName:myServiceName&lt;br /&gt;    - Generate metadata documents for a service, and all associated Service&lt;br /&gt;    Contracts and data types in an assembly &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil myServiceHost.exe /dconly&lt;br /&gt;    - Generate metadata documents for data types in an assembly &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil /validate /serviceName:myServiceName myServiceHost.exe&lt;br /&gt;    - Verify service hosting &lt;/font&gt;
&lt;/p&gt;&lt;p&gt;&lt;font color="#ff0000"&gt; svcutil /t:xmlserializer myContractLibrary.exe&lt;br /&gt;    - Generate serialization types for XmlSerializer types used by any Service&lt;br /&gt;    Contracts in the assembly&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;We used it to create files called proxy.cs and output.config.  we added proxy.cs in whole to our project, and copied the meat of output.config to our app.config.  Here is the result.&lt;/p&gt;
&lt;p&gt;proxy.cs&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,128,0)"&gt;//------------------------------------------------------------------------------
// &amp;lt;auto-generated&amp;gt;
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.1318
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// &amp;lt;/auto-generated&amp;gt;
//------------------------------------------------------------------------------



&lt;/span&gt;[System.CodeDom.Compiler.&lt;span style="color: rgb(43,145,175)"&gt;GeneratedCodeAttribute&lt;/span&gt;(&lt;span style="color: rgb(163,21,21)"&gt;"System.ServiceModel"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"3.0.0.0"&lt;/span&gt;)]
[System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;ServiceContractAttribute&lt;/span&gt;(Namespace=&lt;span style="color: rgb(163,21,21)"&gt;"MyService"&lt;/span&gt;, ConfigurationName=&lt;span style="color: rgb(163,21,21)"&gt;"IMyContractInterface"&lt;/span&gt;)]
&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;interface&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;IMyContractInterface
&lt;/span&gt;{
    
    [System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;OperationContractAttribute&lt;/span&gt;(Action=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/SayHello"&lt;/span&gt;, ReplyAction=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/SayHelloResponse"&lt;/span&gt;)]
    &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; SayHello(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; name);
    
    [System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;OperationContractAttribute&lt;/span&gt;(Action=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/AllCaps"&lt;/span&gt;, ReplyAction=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/AllCapsResponse"&lt;/span&gt;)]
    &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; AllCaps(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; str);
    
    [System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;OperationContractAttribute&lt;/span&gt;(Action=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/AllLower"&lt;/span&gt;, ReplyAction=&lt;span style="color: rgb(163,21,21)"&gt;"MyService/IMyContractInterface/AllLowerResponse"&lt;/span&gt;)]
    &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; AllLower(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; str);
}

[System.CodeDom.Compiler.&lt;span style="color: rgb(43,145,175)"&gt;GeneratedCodeAttribute&lt;/span&gt;(&lt;span style="color: rgb(163,21,21)"&gt;"System.ServiceModel"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"3.0.0.0"&lt;/span&gt;)]
&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;interface&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;IMyContractInterfaceChannel&lt;/span&gt; : &lt;span style="color: rgb(43,145,175)"&gt;IMyContractInterface&lt;/span&gt;, System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;IClientChannel
&lt;/span&gt;{
}

[System.Diagnostics.&lt;span style="color: rgb(43,145,175)"&gt;DebuggerStepThroughAttribute&lt;/span&gt;()]
[System.CodeDom.Compiler.&lt;span style="color: rgb(43,145,175)"&gt;GeneratedCodeAttribute&lt;/span&gt;(&lt;span style="color: rgb(163,21,21)"&gt;"System.ServiceModel"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"3.0.0.0"&lt;/span&gt;)]
&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;partial&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;MyContractInterfaceClient&lt;/span&gt; : System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;ClientBase&lt;/span&gt;&amp;lt;&lt;span style="color: rgb(43,145,175)"&gt;IMyContractInterface&lt;/span&gt;&amp;gt;, &lt;span style="color: rgb(43,145,175)"&gt;IMyContractInterface
&lt;/span&gt;{
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; MyContractInterfaceClient()
    {
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; MyContractInterfaceClient(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; endpointConfigurationName) : 
            &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;(endpointConfigurationName)
    {
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; MyContractInterfaceClient(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; endpointConfigurationName, &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; remoteAddress) : 
            &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;(endpointConfigurationName, remoteAddress)
    {
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; MyContractInterfaceClient(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; endpointConfigurationName, System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;EndpointAddress&lt;/span&gt; remoteAddress) : 
            &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;(endpointConfigurationName, remoteAddress)
    {
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; MyContractInterfaceClient(System.ServiceModel.Channels.&lt;span style="color: rgb(43,145,175)"&gt;Binding&lt;/span&gt; binding, System.ServiceModel.&lt;span style="color: rgb(43,145,175)"&gt;EndpointAddress&lt;/span&gt; remoteAddress) : 
            &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;(binding, remoteAddress)
    {
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; SayHello(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; name)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;.Channel.SayHello(name);
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; AllCaps(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; str)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;.Channel.AllCaps(str);
    }
    
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; AllLower(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; str)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;base&lt;/span&gt;.Channel.AllLower(str);
    }
}&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;And our app.config&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;xml&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;version&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;1.0&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;encoding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;utf-8&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; ?&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;configuration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
  &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;bindings&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;basicHttpBinding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;binding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ConsoleService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;closeTimeout&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;00:01:00&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;openTimeout&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;00:01:00&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;receiveTimeout&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;00:10:00&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;sendTimeout&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;00:01:00&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;allowCookies&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;false&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;bypassProxyOnLocal&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;false&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;hostNameComparisonMode&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;StrongWildcard&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxBufferSize&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;65536&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxBufferPoolSize&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;524288&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxReceivedMessageSize&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;65536&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;messageEncoding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Text&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;textEncoding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;utf-8&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;transferMode&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Buffered&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                    &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;useDefaultWebProxy&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;true&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;readerQuotas&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxDepth&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;32&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxStringContentLength&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;8192&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxArrayLength&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;16384&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                        &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxBytesPerRead&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;4096&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;maxNameTableCharCount&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;16384&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
                    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;security&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;mode&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;None&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;transport&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;None&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;proxyCredentialType&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;None&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                            &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;realm&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;""&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
                        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;message&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;clientCredentialType&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;UserName&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;algorithmSuite&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;Default&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
                    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;security&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
                &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;binding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;basicHttpBinding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;bindings&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;client&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;endpoint&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;address&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;http://localhost:8001/WCFConsoleHostedService/ConsoleService&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;binding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;basicHttpBinding&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;bindingConfiguration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ConsoleService&lt;/span&gt;"
&lt;span style="color: rgb(0,0,255)"&gt;                &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;contract&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;IMyContractInterface&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ConsoleService&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; /&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;client&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;system.serviceModel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;configuration&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The tool tends to do it in a very verbose manner.  As you can see, lots of options specified.  the the manes ones are, for us today, the address, bindings and such.  Now, when the proxy constructor is called, it does all the plumbing work allow use of the server.  &lt;/p&gt;
&lt;p&gt;Next episode is adding some tracing to our config file so we can understand what is going on.  But it's friday, golf and the pool call my name over the weekend.  Until later....&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:1aa4cb32-6d1e-4ceb-a00a-40b3724e6f51" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/wcf" rel="tag"&gt;wcf&lt;/a&gt;, &lt;a href="http://technorati.com/tags/visual%20studio" rel="tag"&gt;visual studio&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dot%20net" rel="tag"&gt;dot net&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113398"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113398" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/113398.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/06/22/Lets-add-config-file-support-to-the-client.aspx</guid>
            <pubDate>Fri, 22 Jun 2007 12:16:50 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/113398.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/06/22/Lets-add-config-file-support-to-the-client.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/113398.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/113398.aspx</trackback:ping>
        </item>
        <item>
            <title>Why write code when we can specify our services administratively in XML?</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/06/21/113370.aspx</link>
            <description>&lt;p&gt;Okay, that was a joke.  I like writing code.  I am not trying to get rid of coders.  Okay, trust me?&lt;/p&gt; &lt;p&gt;One of the interesting features of WCF is the ability to do the Address and Binding portion of our 3 legged stool administratively.  In a xml file called app.config or web.config.  This allows some interesting possibilities of changing the service endpoint without changing code.  Being able to take a project from development to QA to production (assuming all is well with it) without a recompile to redirect the address is pretty handy.  And the ability to add an additional endpoint, at a different address, with a different binding, on the same service has even more advantages.&lt;/p&gt; &lt;p&gt;I decided to keep my original project and just add a second server to the solution.  This one is just a mirror copy of the first initially.  I called it WCFConsoleServerCfg.  &lt;/p&gt; &lt;p&gt;If we were to try and run both now, we would get a exception, due to the fact that both would try and grab port 8000.  So we will need change that.&lt;/p&gt; &lt;p&gt;Once again, let's take the easy way first.  The goal is to create a service that does exactly the same thing as our previous one, at a different address, but use the app.config to set up our service.  &lt;/p&gt; &lt;p&gt;First, let's visit the code required...&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Collections.Generic;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.ServiceModel;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Linq;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Text;

&lt;span style="color: rgb(0,0,255)"&gt;namespace&lt;/span&gt; WCFConsoleServerCfg
{
    &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;Program
&lt;/span&gt;    {
        &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Main(&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;[] args)
        {
            &lt;span style="color: rgb(43,145,175)"&gt;ServiceHost&lt;/span&gt; host = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;ServiceHost&lt;/span&gt;(&lt;span style="color: rgb(0,0,255)"&gt;typeof&lt;/span&gt;(WCFContract.&lt;span style="color: rgb(43,145,175)"&gt;myContractImplementation&lt;/span&gt;));

            host.Open();

            &lt;span style="color: rgb(43,145,175)"&gt;Console&lt;/span&gt;.WriteLine(&lt;span style="color: rgb(163,21,21)"&gt;"Press &amp;lt;ENTER&amp;gt; to terminate the service &amp;lt;app.config&amp;gt; host"&lt;/span&gt;);
            &lt;span style="color: rgb(43,145,175)"&gt;Console&lt;/span&gt;.ReadLine();

            host.Close();
        }
    }
}
&lt;/pre&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;
&lt;p&gt;Hopefully you noticed that there is less code in the Main.  And the constructor for the ServiceHost uses less parameters.  What is missing is more important in this context than what is there.  &lt;/p&gt;
&lt;p&gt;First, there is not specification or create of a EndpointAddress.  No port number, no URI...   Second, we are not telling the ServiceHost what kind of binding to use.  Those settings were put in our app.config file.  Let's wander over there.&lt;/p&gt;
&lt;p&gt;Here is what my app.config looks like:&lt;/p&gt;
&lt;p&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;  &amp;lt;system.serviceModel&amp;gt;&lt;br /&gt;    &amp;lt;services&amp;gt;&lt;br /&gt;      &amp;lt;service behaviorConfiguration="basicService" name="WCFContract.myContractImplementation"&amp;gt;&lt;br /&gt;        &amp;lt;endpoint address="ConsoleService" binding="basicHttpBinding" name="ConsoleService" contract="WCFContract.IMyContractInterface"/&amp;gt;&lt;br /&gt;        &amp;lt;host&amp;gt;&lt;br /&gt;          &amp;lt;baseAddresses&amp;gt;&lt;br /&gt;            &amp;lt;add baseAddress="&lt;a href="http://localhost:8001/WCFConsoleHostedService&amp;quot;/"&gt;http://localhost:8001/WCFConsoleHostedService"/&lt;/a&gt;&amp;gt;&lt;br /&gt;          &amp;lt;/baseAddresses&amp;gt;&lt;br /&gt;        &amp;lt;/host&amp;gt;&lt;br /&gt;      &amp;lt;/service&amp;gt;&lt;br /&gt;    &amp;lt;/services&amp;gt;&lt;br /&gt;    &amp;lt;behaviors&amp;gt;&lt;br /&gt;      &amp;lt;serviceBehaviors&amp;gt;&lt;br /&gt;        &amp;lt;behavior name="basicService"&amp;gt;&lt;br /&gt;        &amp;lt;/behavior&amp;gt;&lt;br /&gt;      &amp;lt;/serviceBehaviors&amp;gt;&lt;br /&gt;    &amp;lt;/behaviors&amp;gt;&lt;br /&gt;  &amp;lt;/system.serviceModel&amp;gt;&lt;br /&gt;&amp;lt;/configuration&amp;gt;
&lt;/p&gt;&lt;p&gt; &lt;/p&gt;
&lt;p&gt;As you can see, we have defined the endpoint and the binding here in this config file.  The name we gave it was WCFContract.myContractImplementation.  Our ServiceHost constructor was fed this name, and it came here to get the info.  We gave the endpoint a address of "ConsoleService", which it combines with the baseaddress of &lt;a href="http://localhost:8001/WCFConsoleHostedService"&gt;http://localhost:8001/WCFConsoleHostedService&lt;/a&gt;.  We told it what interface to use.  We also have added a behavior, called "basicService", but haven't added any behaviors to it yet. That is a place holder.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Now, how do we get our client to talk to this service?  Simply change the address in our Client to reflect 8001 instead of port 8000.  In our next chapter we will retool the client to use it's app.cofig to get to the service.&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="0767317B-992E-4b12-91E0-4F059A8CECA8:87c349b2-7a09-4268-b34d-62e51f7493c3" contenteditable="false" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/wcf" rel="tag"&gt;wcf&lt;/a&gt;, &lt;a href="http://technorati.com/tags/dot%20net" rel="tag"&gt;dot net&lt;/a&gt;, &lt;a href="http://technorati.com/tags/visual%20studio" rel="tag"&gt;visual studio&lt;/a&gt;&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113370"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=113370" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/113370.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/06/21/113370.aspx</guid>
            <pubDate>Thu, 21 Jun 2007 19:16:48 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/113370.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/06/21/113370.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/113370.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/113370.aspx</trackback:ping>
        </item>
        <item>
            <title>&amp;raquo; Microsoft Tech Summit: The &amp;lsquo;non-fanboys&amp;rsquo; descend on Redmond | All about Microsoft | ZDNet.com</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/03/30/110421.aspx</link>
            <description>&lt;P&gt;Looks like MTS is generating some significant press...&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.zdnet.com/microsoft/?p=358"&gt;Link to » Microsoft Tech Summit: The ‘non-fanboys’ descend on Redmond | All about Microsoft | ZDNet.com&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;This event, in it's third year, has become a very interesting endeavor.&amp;nbsp; As a Microsoft associate, it is often hard not to get defensive about the company that you love and pays your bills.&amp;nbsp; But in each of the last three years, we have found a venue that we can have frank, not rhetoric filled discussions.&amp;nbsp; All of you that came as guests and were willing to get in our face in a constructive way, thank you.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I can't promise anything I say will change Microsoft (I hope, but hope and promise are two different things), but I can tell you each of the blogs, the reply emails, the reviews of the speakers are being taken very seriously by folk at Redmond.&amp;nbsp; &lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110421"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=110421" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/110421.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/03/30/110421.aspx</guid>
            <pubDate>Fri, 30 Mar 2007 14:56:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/110421.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/03/30/110421.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/110421.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/110421.aspx</trackback:ping>
        </item>
        <item>
            <title>Free Online Training...</title>
            <link>http://geekswithblogs.net/TheSenator/archive/2007/03/26/109865.aspx</link>
            <description>&lt;P&gt;&lt;/P&gt;
&lt;P&gt;If there is anyone out there that reads this, I have&amp;nbsp;a opportunity for you. 
&lt;P&gt;I&amp;nbsp;want to offer you &lt;B&gt;free&lt;/B&gt; access to four courses of your choice from our premium E-Learning Course Collections. 
&lt;P&gt;This is a $159 provided free to you. 
&lt;P&gt;Whether you are interested in creating Windows forms, building Web applications, implementing Data Access, or finding out about Visual Studio Team System, you can access the e-learning topic you want, when you want it, and learn at your own pace. Each lesson includes hands-on virtual labs and offline functionality. 
&lt;P&gt;Taking advantage of this offer is easy. Each Microsoft E-Learning Collection includes several individual courses and/or workshops. Follow the Course Collection links below to determine the right course(s) for your learning needs. Then follow these activation instructions below. 
&lt;P&gt;&lt;B&gt;This offer expires June 30, 2007. Be sure to access your free e-learning today!&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;/U&gt;&lt;/B&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;Instructions to Access Free Microsoft E-Learning&lt;/U&gt;&lt;/B&gt; 
&lt;P&gt;1) Go &lt;A href="http://www.microsoft.com/learning/access"&gt;http://www.microsoft.com/learning/access&lt;/A&gt; 
&lt;P&gt;2) Input your access code: (The code is case sensitive) (&lt;FONT color=#ff0000&gt;and it is now correct, the training folk gave me the wrong number&lt;/FONT&gt;)
&lt;P&gt;&lt;B&gt;ACCESS CODE: &lt;/B&gt;&lt;FONT color=#ff0000&gt;6691-USDPENC-9594&lt;/FONT&gt; 
&lt;P&gt;3) You will be prompted to sign-in using a valid Microsoft Passport ID (this will be the username and password you will use to access the site each time you log in). If you already have a profile on microsoft.com, use that Passport ID. If you do not have a Passport ID click “Register” to create one. 
&lt;P&gt;4) From the “Thank You” page, click on &lt;U&gt;My Learning&lt;/U&gt; to see the list of available courses. 
&lt;P&gt;5) For E-Learning, click on a course title to launch the offering. 
&lt;P&gt;o You will then be presented with a description tab and a content tab.&amp;nbsp;&amp;nbsp; Read all the course requirements and description. 
&lt;P&gt;o &lt;B&gt;Please note:&amp;nbsp; &lt;/B&gt;Review the “system requirements” tab to be sure your computer is properly configured to access virtual labs.&lt;B&gt;&lt;/B&gt; 
&lt;P&gt;o From the “Content Tab”, click on a &lt;U&gt;lesson&lt;/U&gt; to begin training. 
&lt;P&gt;6) When you return to the site, please click on the following link: &lt;A href="http://www.microsoft.com/learning/mylearning"&gt;http://www.microsoft.com/learning/mylearning&lt;/A&gt; and sign in using your Microsoft Passport ID.&amp;nbsp; Then click on “My Learning” to access content and continue your learning path. 
&lt;P&gt;If you have problems accessing the E-Learning, please contact the Microsoft e-learning support center at: 1-877-383-2829.&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109865"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109865" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/TheSenator/aggbug/109865.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Steve Loethen</dc:creator>
            <guid>http://geekswithblogs.net/TheSenator/archive/2007/03/26/109865.aspx</guid>
            <pubDate>Mon, 26 Mar 2007 16:36:00 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/TheSenator/comments/109865.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/TheSenator/archive/2007/03/26/109865.aspx#feedback</comments>
            <slash:comments>29</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/TheSenator/comments/commentRss/109865.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/TheSenator/services/trackbacks/109865.aspx</trackback:ping>
        </item>
    </channel>
</rss>