title: WCF proxy singleton in multithreaded app
body: <p>I have just inherited an asp.net mvc 3 site operating on .net 4 which makes heavy use of WCF calls to a very slow external service.  The site is not yet live.</p>
  
  <p>One curious piece of code I've found is around the WCF client proxy usage. There is one instance created for the entire aspnet application which is shared between all threads. So, effectively a global variable.</p>
  
  <p>To me, this screams danger yet the site operates without error even under load testing.  There is no guard code preventing concurrent calls on the WCF client in the site.</p>
  
  <p>Can someone confirm the safety of using what is essentially a singleton WCF proxy in an asp net app? Wouldn't faulting kill the proxy for all threads? </p>