<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://wcf.netfx3.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>WCF Team Bloggers</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Debug Build: 61025.2)</generator><item><title>TechEd Online</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/08/teched-online.aspx</link><pubDate>Fri, 08 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20896</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20896.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20896</wfw:commentRss><description>There are online resources from this year's TechEd conferences available through MSDN. A limited number of keynote and breakout sessions are on the site, but you do get other videos such as interviews, panel discussions, lunch sessions, and the like that go beyond slide shows. Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/08/teched-online.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20896" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Certificate Revocation Cache</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/07/certificate-revocation-cache.aspx</link><pubDate>Thu, 07 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20872</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20872.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20872</wfw:commentRss><description>How do I force propagation of changes to information about a certificate revocation list after an update? A service is going to have several kinds of caching around the information that links the certificate to revocation information. The first kind of caching is based on the revocation mode of the certificate. A revocation mode of NoCheck disables checking on the certificate while a revocation mode of Offline directs checking to use a cached certificate revocation list. A revocation mode of Online gets the freshest data. The second kind of caching is at the service process. Information is stored in memory as long as the process continues to run to reduce the number of active checks required. This memory cache is cleared when the process restarts. The third kind of caching is at the machine. Information is cached by the machine for a limited time to again reduce the number of active checks required. The machine cache can be viewed by running "certutil -urlcache" and the same command is used to delete or force updating of specific cache entries. Next time: Getting Rid of Namespaces Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/07/certificate-revocation-cache.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20872" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Answers/default.aspx">Answers</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Security/default.aspx">Security</category></item><item><title>Asynchronicity, OneWay, and WCF</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/06/asynchronicity-oneway-and-wcf.aspx</link><pubDate>Thu, 07 Aug 2008 01:06:55 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20865</guid><dc:creator>kennyw.com » Indigo</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20865.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20865</wfw:commentRss><description>I&amp;#8217;ve recently encountered some confusion around the behavior of one-way operations in WCF that I&amp;#8217;m going to try and clear up.&amp;#160; In particular, developers are under the impression that a one-way operation == a non-blocking call. However, this is not necessarily the case. A one-way operation means that we will call the underlying channel in [...] Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/06/asynchronicity-oneway-and-wcf.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20865" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category></item><item><title>WCF Security Guide Released</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/06/wcf-security-guide-released.aspx</link><pubDate>Wed, 06 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20854</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20854.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20854</wfw:commentRss><description>If you've been following along, I have mentioned the WCF security guide project being worked on in the patterns and practices team a few times now. After months of drafts and betas, the complete guide is now ready for official release. The WCF security guide is available as a free download. Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/06/wcf-security-guide-released.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20854" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Announcements/default.aspx">Announcements</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Transport+Security/default.aspx">Transport Security</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Security/default.aspx">Security</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Message+Security/default.aspx">Message Security</category></item><item><title>System Types in Metadata</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/05/system-types-in-metadata.aspx</link><pubDate>Tue, 05 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20802</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20802.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20802</wfw:commentRss><description>It's bad practice to use system types when defining an operation contract. A system type is often a complex composition of primitive types that has no direct analog in other implementations. By using a system type, you bind your service to the particular implementation used by that type, which effectively ends any chance of having an easily interoperable service. For example, a contract containing an IPAddress seems innocuous. [OperationContract] string LookupHostName(IPAddress address); However, that reference translates into a significantly sized chunk of metadata for defining the IPAddress type. &amp;lt; xs:schema xmlns:tns ="http://schemas.datacontract.org/2004/07/System.Net" elementFormDefault ="qualified" targetNamespace ="http://schemas.datacontract.org/2004/07/System.Net" xmlns:xs ="http://www.w3.org/2001/XMLSchema" &amp;gt; &amp;lt; xs:import namespace ="http://schemas.datacontract.org/2004/07/System.Net.Sockets" /&amp;gt; &amp;lt; xs:import namespace ="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /&amp;gt; &amp;lt; xs:complexType name ="IPAddress" &amp;gt; &amp;lt; xs:sequence &amp;gt; &amp;lt; xs:element name ="m_Address" type ="xs:long" /&amp;gt; &amp;lt; xs:element xmlns:q1 ="http://schemas.datacontract.org/2004/07/System.Net.Sockets" name ="m_Family" type ="q1:AddressFamily" /&amp;gt; &amp;lt; xs:element name ="m_HashCode" type ="xs:int" /&amp;gt; &amp;lt; xs:element xmlns:q2 ="http://schemas.microsoft.com/2003/10/Serialization/Arrays" name ="m_Numbers" nillable ="true" type ="q2:ArrayOfunsignedShort" /&amp;gt; &amp;lt; xs:element name ="m_ScopeId" type ="xs:long" /&amp;gt; &amp;lt;/ xs:sequence &amp;gt; &amp;lt;/ xs:complexType &amp;gt; &amp;lt; xs:element name ="IPAddress" nillable ="true" type ="tns:IPAddress" /&amp;gt; &amp;lt;/ xs:schema &amp;gt; Notice the inclusion of System.Net.Sockets.AddressFamily. This schema is only the tip of the iceberg. It continues on and becomes much, much worse. Nevertheless, there are times when you can accept putting interoperability aside and have a reason to bind your service to a system type. The metadata still leaves you with the problem of generating a working proxy. Although some system types are recognized and filtered out, other types slip through and will lead to compilation errors due to conflicting type definitions. The standard referencing mechanism of svcutil works with system types as well as your types. You just need to find and point svcutil at the appropriate dll so that it can compute the types to exclude. Since IPAddress is defined in system.dll, if you wanted to resolve a conflict, you...(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/05/system-types-in-metadata.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20802" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Service+Model/default.aspx">Service Model</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Contracts/default.aspx">Contracts</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Proxies/default.aspx">Proxies</category></item><item><title>PDC Sessions Round 3</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/04/pdc-sessions-round-3.aspx</link><pubDate>Mon, 04 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20789</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20789.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20789</wfw:commentRss><description>Fifty new PDC sessions showed up on Friday, including several touching on WCF and WF. Here is a selection along with some of the previously available sessions. "Oslo:" Managing Software + Services Applications Increasingly, applications will consist of services that run both on-premises and in the cloud. Learn how Microsoft is simplifying the deployment and management of Software + Services applications. Hosting Workflows and Services in "Oslo" "Oslo" builds on Windows Workflow (WF) and Windows Communication Foundation (WCF) to provide a feature-rich middle-tier execution and deployment environment. Learn about the architecture of "Oslo" and the features that simplify deployment, management, and troubleshooting of workflows and services. "Oslo:" Customizing and Extending the Visual Design Experience "Oslo" provides visual tools for writing data-driven applications and services. Learn how to provide a great experience over domain-specific schemas, and explore the basic user model, data-driven viewer construction, user-defined queries, and custom commands. See how the design experience itself is an "Oslo" application and is driven by content stored in the "Oslo" repository. A Lap around "Oslo" "Oslo" is the family of new technologies that enable data-driven development and execution of services and applications. Come and learn how to capture all aspects of an application schematized in the "Oslo" repository and use "Oslo" directly to drive the execution of deployed applications. "Oslo:" The Language "Oslo" provides a language for creating schemas, queries, views, and values. Learn the key features of the language, including its type system, instance construction, and query. Understand supporting runtime features such as dynamic construction and compilation, SQL generation, and deployment. Learn to author content for the "Oslo" repository and understand how to programmatically construct and process the content. "Oslo:" Repository and Schemas "Oslo" uses schematized data stored in the "Oslo" repository to drive the development and execution of applications and services. Tour the schemas and see how user-defined content can be created and related to them. Learn how to utilize platform schemas, such as worflow, services, and hosting. Also, learn how to extend the repository and how to use repository-extended SQL database services to support critical lifecycle capabilities such as versioning, security, and deployment. Workflow Services: Orchestrating Services and...(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/04/pdc-sessions-round-3.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20789" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Announcements/default.aspx">Announcements</category></item><item><title>PDC 2008</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/01/pdc-2008.aspx</link><pubDate>Fri, 01 Aug 2008 18:38:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20734</guid><dc:creator>Musings from Gudge</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20734.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20734</wfw:commentRss><description>I&amp;#39;ve been in the U.S. nearly two years now, working away on various things with the rest of the folks on my team . Soon I&amp;#39;ll be able to talk about what I&amp;#39;ve been working on in public; Chris Sells and I will be delivering a talk at PDC 2008 , currently entitled &amp;quot;Oslo&amp;quot;: Repository and Schemas , catchy, huh? Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/01/pdc-2008.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20734" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Oslo+PDC/default.aspx">Oslo PDC</category></item><item><title>Site Services</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/01/site-services.aspx</link><pubDate>Fri, 01 Aug 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20698</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20698.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20698</wfw:commentRss><description>I hate the default search service that comes with http://blogs.msdn.com . It never seems to pick out relevant articles or find what I'm looking for. I've put a quick replacement in the news section to try out. Let me know if you think it's worth having and I'll pitch the current search box to put this in. The translation service is more of a toy. Again, let me know if you think it's worth keeping or is a waste of space. Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/08/01/site-services.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20698" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Misc/default.aspx">Misc</category></item><item><title>Gedo Zen</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/31/gedo-zen.aspx</link><pubDate>Thu, 31 Jul 2008 18:55:51 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20686</guid><dc:creator>Douglas Purdy</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20686.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20686</wfw:commentRss><description>I am close to throwing out my Watts, Leary and Wilson books.
They are an on-ramp, but not the highway to where you need to go. Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/31/gedo-zen.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20686" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Random/default.aspx">Random</category></item><item><title>StockTrader 2.0 Sample</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/31/stocktrader-2-0-sample.aspx</link><pubDate>Thu, 31 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20678</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20678.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20678</wfw:commentRss><description>The .NET StockTrader was an end-to-end sample application released last year to demonstrate WCF and web service programming. A new version of StockTrader has been released to update the application with some of the new features in Orcas and Windows Server 2008. You can get StockTrader from MSDN. StockTrader 2.01 StockTrader 2.0 Overview StockTrader Configuration Service Overview Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/31/stocktrader-2-0-sample.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20678" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Announcements/default.aspx">Announcements</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Samples/default.aspx">Samples</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Orcas/default.aspx">Orcas</category></item><item><title>7 Things CIOs Should Know About Agile Development</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/30/7-things-cios-should-know-about-agile-development.aspx</link><pubDate>Wed, 30 Jul 2008 15:32:48 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20641</guid><dc:creator>TheArchitect.co.uk - Jorgen Thelin's weblog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20641.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20641</wfw:commentRss><description>http://www.thearchitect.co.uk/weblog/archives/2008/07/000503.html Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/30/7-things-cios-should-know-about-agile-development.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20641" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Avoiding Address Filters</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/30/avoiding-address-filters.aspx</link><pubDate>Wed, 30 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20630</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20630.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20630</wfw:commentRss><description>The address filter mode that we looked at last time solved the problem of funneling all of the messages with a given prefix address to our service instance. Changing the filter mode still left us with the problem of dispatching from that universal contract to all of the logical operations that live inside the address space. This is exactly the problem that UriTemplate solves. By combining templates and WebServiceHost, both of the problems get taken care of for us. Here is an equivalent contract and service implementation with some more semantics filled in for a particular application. All I've done is pick out part of the address space that I want to assign some implementation to. [ServiceContract] public interface IService2 { [OperationContract] [WebGet(UriTemplate = "/resource/{index}" )] string Get( string index); [OperationContract] [WebInvoke(UriTemplate = "/resource" )] void Add( string value ); } public class Service2 : IService2 { public string Get( string index) { Console.WriteLine( "Get {0} {1}" , WebOperationContext.Current.IncomingRequest.Method, OperationContext.Current.IncomingMessageHeaders.To); return null ; } public void Add( string value ) { Console.WriteLine( "Add {0} {1}" , WebOperationContext.Current.IncomingRequest.Method, OperationContext.Current.IncomingMessageHeaders.To); } } Hosting this service is basically the same. I can take out the endpoint definition because that gets inferred automatically. WebServiceHost host = new WebServiceHost( typeof (Service2), new Uri( "http://localhost:8000/" )); host.Open(); Client(); Console.ReadLine(); host.Close(); Finally, I can use the exact same client code as last time even though in the service I've changed my way of writing the service from a centralized approach to an address-based approach. ChannelFactory&amp;lt;IRequestChannel&amp;gt; factory = new ChannelFactory&amp;lt;IRequestChannel&amp;gt;( new WebHttpBinding()); factory.Open(); IRequestChannel proxy = factory.CreateChannel( new EndpointAddress( "http://localhost:8000/" )); using ( new OperationContextScope((IContextChannel)proxy)) { Message request = Message.CreateMessage(MessageVersion.None, string .Empty, "data" ); request.Headers.To = new Uri( "http://localhost:8000/resource" ); WebOperationContext.Current.OutgoingRequest.Method = "POST" ; proxy.Request(request); } using ( new OperationContextScope((IContextChannel)proxy)) { Message request = Message.CreateMessage(MessageVersion.None, string .Empty); request.Headers.To = new Uri( "http://localhost:8000/resource/1"...(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/30/avoiding-address-filters.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20630" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Contracts/default.aspx">Contracts</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Orcas/default.aspx">Orcas</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/HTTP/default.aspx">HTTP</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Service+Model/default.aspx">Service Model</category></item><item><title>Managing and Motivating Developers</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/29/managing-and-motivating-developers.aspx</link><pubDate>Tue, 29 Jul 2008 16:00:32 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20642</guid><dc:creator>TheArchitect.co.uk - Jorgen Thelin's weblog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20642.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20642</wfw:commentRss><description>http://www.thearchitect.co.uk/weblog/archives/2008/07/000502.html Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/29/managing-and-motivating-developers.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20642" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Programming/default.aspx">Programming</category></item><item><title>Web Address Filters</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/29/web-address-filters.aspx</link><pubDate>Tue, 29 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20614</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20614.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20614</wfw:commentRss><description>Here is a basic service that defines a universal contract to program against for building a simple HTTP application. The service doesn't do anything, but you can ignore that in this example. [ServiceContract] public interface IService { [OperationContract(Action = "*" , ReplyAction = "*" )] Message Request(Message msg); } public class Service : IService { public Message Request(Message msg) { Console.WriteLine( "{0} {1}" , WebOperationContext.Current.IncomingRequest.Method, msg.Headers.To); return null ; } } You might expect to run this service in a straightforward hosting environment. ServiceHost host = new ServiceHost( typeof (Service), new Uri( "http://localhost:8000/" )); host.AddServiceEndpoint( typeof (IService), new WebHttpBinding(), "" ); host.Open(); Console.ReadLine(); host.Close(); And, talk to it with the ordinarily convoluted client programming model. ChannelFactory&amp;lt;IRequestChannel&amp;gt; factory = new ChannelFactory&amp;lt;IRequestChannel&amp;gt;( new WebHttpBinding()); factory.Open(); IRequestChannel proxy = factory.CreateChannel( new EndpointAddress( "http://localhost:8000/" )); using ( new OperationContextScope((IContextChannel)proxy)) { Message request = Message.CreateMessage(MessageVersion.None, string .Empty, "data" ); request.Headers.To = new Uri( "http://localhost:8000/resource" ); WebOperationContext.Current.OutgoingRequest.Method = "POST" ; proxy.Request(request); } using ( new OperationContextScope((IContextChannel)proxy)) { Message request = Message.CreateMessage(MessageVersion.None, string .Empty); request.Headers.To = new Uri( "http://localhost:8000/resource/1" ); WebOperationContext.Current.OutgoingRequest.Method = "GET" ; WebOperationContext.Current.OutgoingRequest.SuppressEntityBody = true ; proxy.Request(request); } However, when you put these pieces together, it fails to work. The client turns out to be fine but there's a problem in the way that the service is hosted. More accurately, there's a problem with the interaction between the way the service is hosted and the way it's defined. By specifying an address for hosting the application, we're claiming all of the messages that go to that address. We're also claiming all of the messages that go to suffixes of that address as long as someone else hasn't claimed them first. Unfortunately, the endpoint doesn't know what to do with these extra messages. It just ignores them. What we want is for the endpoint to just take everything and let the service implementation decide what the addresses...(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/29/web-address-filters.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20614" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/HTTP/default.aspx">HTTP</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Service+Model/default.aspx">Service Model</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Behaviors/default.aspx">Behaviors</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Orcas/default.aspx">Orcas</category></item><item><title>WCF Debugger Visualization</title><link>http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/28/wcf-debugger-visualization.aspx</link><pubDate>Mon, 28 Jul 2008 12:00:00 GMT</pubDate><guid isPermaLink="false">1f4b607b-0168-4832-8e67-ce55dc8aaa4a:20585</guid><dc:creator>Nicholas Allen's Indigo Blog</dc:creator><slash:comments>0</slash:comments><comments>http://wcf.netfx3.com/blogs/wcf_team_bloggers/comments/20585.aspx</comments><wfw:commentRss>http://wcf.netfx3.com/blogs/wcf_team_bloggers/commentrss.aspx?PostID=20585</wfw:commentRss><description>A few weeks ago Eyal Vardi left a comment on an article about tools mentioning his WCF debugger visualizers. A debugger visualizer is an extension to Visual Studio that drops in a custom user interface for visualizing types. These custom interfaces can often be a lot easier to work with than the standard property grid interface. Eyal has visualizers for bindings, messages, operation contexts, proxy objects, and other commonly used WCF types. You can get the WCF Visualizers collection from CodePlex. Read More......(&lt;a href="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/2008/07/28/wcf-debugger-visualization.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://wcf.netfx3.com/aggbug.aspx?PostID=20585" width="1" height="1"&gt;</description><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Indigo/default.aspx">Indigo</category><category domain="http://wcf.netfx3.com/blogs/wcf_team_bloggers/archive/tags/Announcements/default.aspx">Announcements</category></item></channel></rss>