簡體   English   中英

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

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

我正在嘗試在兩個進程之間(在同一個盒子上)配置服務器上的net.pipe綁定。 我在Windows 7中本地工作,但在生產服務器(Windows Server 2008 R2)上,它無法正常工作。

我可以證實我有:

  • 添加了net.pipe綁定到IIS“Web站點”(添加*作為信息)。
  • 將net.pipe添加到IIS“網站”的“高級設置”中的綁定列表中。

這就是我的開發機器所需的全部內容。 還有什么我需要做的嗎?

我得到的錯誤來自一個簡單的控制台應用程序測試客戶端:

未處理的異常:System.ServiceModel.EndpointNotFoundException:net.pipe://nameOfService.svc上沒有可以接受該消息的端點。 這通常是由錯誤的地址或SOAP操作引起的。 有關更多詳細信息,請參閱InnerException(如果存在)。 ---> System.IO.PipeException:在本地計算機上找不到管道端點'net.pipe://nameOfService.svc'。

這里有一些配置:

客戶:

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

服務器:

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

更新:

與承載net.pipe綁定的網站關聯的應用程序池在“NetworkService”用戶下運行,如果這有所不同。

我在Windows 3.5.1的Windows功能下啟用了非HTTP激活,盡管它在.NET 4下運行。

  • 您是否啟用了Windows服務Net.Pipe Listener AdapterWindows Process Activation Service
  • 您是否在網站級別啟用了net.pipe綁定?
  • 你有沒有在vdir級別添加net.pipe協議?

我在net.pipe:// localhost /上獲得了與SharePoint安全令牌服務相同的EndPointNotFound錯誤。

它適用於我的開發系統,但不適用於生產。

對我來說,這是因為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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM