加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 无法在Windows Server 2008 R2上的IIS7.5中运行net.pipe

发布时间:2020-12-14 02:03:10 所属栏目:Windows 来源:网络整理
导读:我正在尝试在两个进程之间(在同一个盒子上)配置服务器上的net.pipe绑定.我在 Windows 7中本地工作,但在生产服务器(Windows Server 2008 R2)上,它无法正常工作. 我可以证实我有: 添加了一个net.pipe绑定到IIS“网站”(添加*作为信息). 将net.pipe添加到IIS“
我正在尝试在两个进程之间(在同一个盒子上)配置服务器上的net.pipe绑定.我在 Windows 7中本地工作,但在生产服务器(Windows Server 2008 R2)上,它无法正常工作.

我可以证实我有:

>添加了一个net.pipe绑定到IIS“网站”(添加*作为信息).
>将net.pipe添加到IIS“网站”的“高级设置”中的绑定列表中.

这就是我的开发机器所需的全部内容.还有什么我需要做的吗?

我得到的错误来自一个简单的控制台应用程序测试客户端:

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>
    <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侦听器适配器和Windows进程激活服务? >您是否在网站级别启用了net.pipe绑定? >您是否在vdir级别添加了net.pipeprotocol?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读