不能让网络。在Windows Server 2008 R2上IIS7.5中工作的管道绑定

时间:2022-06-01 19:40:36

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.

我正在配置net。服务器上的管道绑定在两个进程之间(在同一个框中)。所有这些在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).
  • 添加了一个网。将管道绑定到IIS“Web站点”(添加*作为信息)。
  • Added net.pipe to the list of bindings in "advanced settings" for the IIS "Web Site".
  • 添加网络。管道到IIS“Web站点”的“高级设置”中的绑定列表。

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. 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.`

未处理的例外:System.ServiceModel。EndpointNotFoundException:在net.pipe:/ nameOfService没有端点监听。可以接受消息的svc。这通常是由错误的地址或SOAP操作引起的。有关更多细节,请参见InnerException(如果存在)。推荐- - - - - - >先。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.

与承载网络的网站相关联的应用程序池。管道绑定在“NetworkService”用户下运行,如果这有影响的话。

I have enabled Non-HTTP activation under Windows Features for .NET 3.5.1, although this is running under .NET 4.

我已经为。net 3.5.1启用了Windows特性下的非http激活,尽管这是在。net 4下运行的。

2 个解决方案

#1


7  

  • Have you enabled the windows services Net.Pipe Listener Adapter and Windows Process Activation Service?
  • 您启用了windows服务网络吗?管道监听器适配器和Windows进程激活服务?
  • Have you enabled net.pipe binding on the site level?
  • 你净启用。管子在现场装订?
  • Have you added net.pipeprotocol on the vdir level?
  • 你净补充道。在vdir级别上的管道协议?

#2


0  

I was getting the same EndPointNotFound error on net.pipe://localhost/ for the SharePoint Secure Token Service.

我在网络上得到了相同的EndPointNotFound错误。管道://localhost/用于SharePoint安全令牌服务。

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.

对我来说,这是因为戴尔变更审计代理服务在我的生产服务器上运行。

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 -不- - viewedit -办公室-文件-浏览器-使用-办公室- web -应用程序- 2013/

#1


7  

  • Have you enabled the windows services Net.Pipe Listener Adapter and Windows Process Activation Service?
  • 您启用了windows服务网络吗?管道监听器适配器和Windows进程激活服务?
  • Have you enabled net.pipe binding on the site level?
  • 你净启用。管子在现场装订?
  • Have you added net.pipeprotocol on the vdir level?
  • 你净补充道。在vdir级别上的管道协议?

#2


0  

I was getting the same EndPointNotFound error on net.pipe://localhost/ for the SharePoint Secure Token Service.

我在网络上得到了相同的EndPointNotFound错误。管道://localhost/用于SharePoint安全令牌服务。

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.

对我来说,这是因为戴尔变更审计代理服务在我的生产服务器上运行。

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 -不- - viewedit -办公室-文件-浏览器-使用-办公室- web -应用程序- 2013/