简体   繁体   English

无法在Windows Server 2008 R2上的IIS7.5中使用net.pipe绑定

[英]Can't get net.pipe binding working in IIS7.5 on Windows Server 2008 R2

I'm trying to configure net.pipe bindings on the server between 2 processes (on the same box). 我正在尝试在两个进程之间(在同一个盒子上)配置服务器上的net.pipe绑定。 I have all this working locally in Windows 7, but on the production server (Windows Server 2008 R2), it fails to work. 我在Windows 7中本地工作,但在生产服务器(Windows Server 2008 R2)上,它无法正常工作。

I can verify that I have: 我可以证实我有:

  • Added a net.pipe binding to the IIS "Web Site" (added * as the information). 添加了net.pipe绑定到IIS“Web站点”(添加*作为信息)。
  • Added net.pipe to the list of bindings in "advanced settings" for the IIS "Web Site". 将net.pipe添加到IIS“网站”的“高级设置”中的绑定列表中。

That's all that was required on my dev machine. 这就是我的开发机器所需的全部内容。 Is there anything else I need to do? 还有什么我需要做的吗?

The error I get is from a simple console app test client: 我得到的错误来自一个简单的控制台应用程序测试客户端:

Unhandled Exception: System.ServiceModel.EndpointNotFoundException: There was no endpoint listening at net.pipe://nameOfService.svc that could accept the message. 未处理的异常:System.ServiceModel.EndpointNotFoundException:net.pipe://nameOfService.svc上没有可以接受该消息的端点。 This is often caused by an incorrect address or SOAP action. 这通常是由错误的地址或SOAP操作引起的。 See InnerException, if present, for more details. 有关更多详细信息,请参阅InnerException(如果存在)。 ---> System.IO.PipeException: The pipe endpoint 'net.pipe://nameOfService.svc' could not be found on your local machine.` ---> System.IO.PipeException:在本地计算机上找不到管道端点'net.pipe://nameOfService.svc'。

Here's some configs: 这里有一些配置:

Client: 客户:

<system.serviceModel>
    <bindings>
        <netNamedPipeBinding>
            <binding name="NetNamedPipeBinding_IWebAppNotifyService">
                <security mode="None" />
            </binding>
        </netNamedPipeBinding>
    </bindings>
    <client>
        <endpoint address="net.pipe://nameOfService.svc"
            binding="netNamedPipeBinding" bindingConfiguration="NetNamedPipeBinding_IWebAppNotifyService"
            contract="ServiceReference2.IWebAppNotifyService" name="NetNamedPipeBinding_IWebAppNotifyService" />
    </client>
</system.serviceModel>

Server: 服务器:

<bindings>
  <netNamedPipeBinding>
    <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">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="None">
      </security>
    </binding>
    <binding name="ScannerManagerCommandBinding">
      <security mode="None" />
    </binding>
  </netNamedPipeBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="WebAppNotifyServiceBehavior">
      <serviceMetadata httpGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="True" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<services>
  <service name="MonitoringApp.Notifier.WebAppNotifyService" behaviorConfiguration="WebAppNotifyServiceBehavior">
    <host>
      <baseAddresses>
        <add baseAddress="net.pipe://nameOfService.svc" />
        <add baseAddress="http://nameOfService" />
      </baseAddresses>
    </host>
    <endpoint address="" binding="netNamedPipeBinding" bindingConfiguration="WebAppNotifyServiceBinding" contract="X.Y.IWebAppNotifyService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service>
</services>

Update: 更新:

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. 与承载net.pipe绑定的网站关联的应用程序池在“NetworkService”用户下运行,如果这有所不同。

I have enabled Non-HTTP activation under Windows Features for .NET 3.5.1, although this is running under .NET 4. 我在Windows 3.5.1的Windows功能下启用了非HTTP激活,尽管它在.NET 4下运行。

  • Have you enabled the windows services Net.Pipe Listener Adapter and Windows Process Activation Service ? 您是否启用了Windows服务Net.Pipe Listener AdapterWindows Process Activation Service
  • Have you enabled net.pipe binding on the site level? 您是否在网站级别启用了net.pipe绑定?
  • Have you added net.pipe protocol on the vdir level? 你有没有在vdir级别添加net.pipe协议?

I was getting the same EndPointNotFound error on net.pipe://localhost/ for the SharePoint Secure Token Service. 我在net.pipe:// localhost /上获得了与SharePoint安全令牌服务相同的EndPointNotFound错误。

It worked on my dev system but not production. 它适用于我的开发系统,但不适用于生产。

For me, it was because the Dell Change Auditor Agent service was running on my production servers. 对我来说,这是因为Dell Change Auditor Agent服务在我的生产服务器上运行。

https://blogs.msdn.microsoft.com/spses/2016/01/21/sharepoint-2013-unable-to-viewedit-office-documents-in-browser-using-office-web-apps-2013/ https://blogs.msdn.microsoft.com/spses/2016/01/21/sharepoint-2013-unable-to-viewedit-office-documents-in-browser-using-office-web-apps-2013/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用IIS 7.5,Windows Server 2008 R2和.net Framework 4.5托管网站 - Host Website using IIS 7.5 ,Windows server 2008 R2 and .net framework 4.5 DoD CAC身份验证 - 使用.NET C#,Windows Server 2008 R2,IIS 7.5的客户端证书问题 - DoD CAC Authentication - Client Certificate Issue with .NET C#, Windows Server 2008 R2, IIS 7.5 在Windows Server 2008 R2 SP1的IIS 7.5上注册.NET 4.5的安全方法 - Secure way for registering .NET 4.5 on IIS 7.5 on Windows Server 2008 R2 SP1 在Windows Server 2008 R2上将.Net Framework与IIS集成 - integrating .Net Framework with IIS on windows server 2008 r2 在IIS中添加net.pipe绑定时“未设置对象引用” - “Object reference not set” when adding net.pipe binding in IIS Windows Server 2008 R2上的.NET Framework 4 RTM - .NET Framework 4 RTM on Windows server 2008 R2 如何在Windows Server 2008 R2 Enterpresi和.NET中的Web应用程序上设置TLS证书? - How can I setup TLS certificate on Windows Server 2008 R2 Enterpresi and Web application in .NET? .NET Core未在Windows 2008 Server R2中运行 - .NET Core is not running in Windows 2008 Server R2 Windows Server 2008 R2上的WCF .NET 4.5 - WCF .NET 4.5 on Windows Server 2008 R2 过去可以使用的ASP.NET(VB)应用程序现在在2008 R2 IIS 7.5上提供“重载解析失败” - ASP.NET (VB) app used to work, now gives “Overload resolution failed” on 2008 R2 IIS 7.5
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM