title: Can't get net.pipe binding working in IIS7.5 on Windows Server 2008 R2
body: <p>I'm trying to configure net.pipe bindings on the server between 2 processes (on the same box).  I have all this working locally in Windows 7, but on the production server (Windows Server 2008 R2), it fails to work.</p>
  
  <p>I can verify that I have:</p>
  
  <ul>
  <li>Added a net.pipe binding to the IIS "Web Site" (added * as the information). </li>
  <li>Added net.pipe to the list of bindings in "advanced settings" for the IIS "Web Site".</li>
  </ul>
  
  <p>That's all that was required on my dev machine. Is there anything else I need to do?</p>
  
  <p>The error I get is from a simple console app test client:</p>
  
  <blockquote>
    <p>Unhandled Exception: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://nameOfService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. ---> System.IO.PipeException: The pipe endpoint 'net.pipe://nameOfService.svc' could not be found on your local machine.`</p>
  </blockquote>
  
  <p>Here's some configs:</p>
  
  <p>Client:</p>
  
  <pre><code>&lt;system.serviceModel&gt;
      &lt;bindings&gt;
          &lt;netNamedPipeBinding&gt;
              &lt;binding name="NetNamedPipeBinding_IWebAppNotifyService"&gt;
                  &lt;security mode="None" /&gt;
              &lt;/binding&gt;
          &lt;/netNamedPipeBinding&gt;
      &lt;/bindings&gt;
      &lt;client&gt;
          &lt;endpoint address="net.pipe://nameOfService.svc"
              binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IWebAppNotifyService"
              contract="ServiceReference2.IWebAppNotifyService" name="NetNamedPipeBinding_IWebAppNotifyService" /&gt;
      &lt;/client&gt;
  &lt;/system.serviceModel&gt;
  </code></pre>
  
  <p>Server:</p>
  
  <pre><code>&lt;bindings&gt;
    &lt;netNamedPipeBinding&gt;
      &lt;binding name="WebAppNotifyServiceBinding" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" transactionFlow="false" transactionProtocol="OleTransactions" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxBufferSize="65536" maxConnections="10" maxReceivedMessageSize="65536"&gt;
        &lt;readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" /&gt;
        &lt;security mode="None"&gt;
        &lt;/security&gt;
      &lt;/binding&gt;
      &lt;binding name="ScannerManagerCommandBinding"&gt;
        &lt;security mode="None" /&gt;
      &lt;/binding&gt;
    &lt;/netNamedPipeBinding&gt;
  &lt;/bindings&gt;
  &lt;behaviors&gt;
    &lt;serviceBehaviors&gt;
      &lt;behavior name="WebAppNotifyServiceBehavior"&gt;
        &lt;serviceMetadata httpGetEnabled="true" /&gt;
        &lt;serviceDebug includeExceptionDetailInFaults="True" /&gt;
      &lt;/behavior&gt;
    &lt;/serviceBehaviors&gt;
  &lt;/behaviors&gt;
  &lt;services&gt;
    &lt;service name="MonitoringApp.Notifier.WebAppNotifyService" behaviorConfiguration="WebAppNotifyServiceBehavior"&gt;
      &lt;host&gt;
        &lt;baseAddresses&gt;
          &lt;add baseAddress="net.pipe://nameOfService.svc" /&gt;
          &lt;add baseAddress="http://nameOfService" /&gt;
        &lt;/baseAddresses&gt;
      &lt;/host&gt;
      &lt;endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="WebAppNotifyServiceBinding" contract="X.Y.IWebAppNotifyService" /&gt;
      &lt;endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /&gt;
    &lt;/service&gt;
  &lt;/services&gt;
  </code></pre>
  
  <p><strong>Update:</strong></p>
  
  <p>The app pool associated with the web site that hosts the net.pipe binding is running under the "NetworkService" user, if that makes a difference.</p>
  
  <p>I have enabled Non-HTTP activation under Windows Features for .NET 3.5.1, although this is running under .NET 4.</p>