title: Direct Channel usage vs using a Proxy?
body: <p>As the title implies I am trying to get an understanding of why in WCF sometimes people choose to "generate proxies" vs using a ChannelFactory to manually create new channel instances. I have seen examples of each, but haven't really found any explanations of WHY you would go for one vs the other.</p>
  
  <p>To be honest I have only ever worked with channels and the <code>ChannelFactory&lt;T&gt;</code> from code I have inherited, ie:</p>
  
  <pre><code>IChannelFactory&lt;IDuplexSessionChannel&gt; channelFactory =
      binding.BuildChannelFactory&lt;IDuplexSessionChannel&gt;();
  
  _duplexSessionChannel = channelFactory.CreateChannel(endpointAddress);
  </code></pre>
  
  <p>So why would I "generate a proxy"? What are the benefits and drawbacks?</p>