如何找出我的程序为什么要求防火墙例外?

时间:2015-01-16 12:06:53

标签: .net wcf windows-firewall

我们在WPF应用程序中托管了WCF服务。 WCF服务使用app.config文件作为配置源。 WCF服务仅适用于同一台计算机上的客户端,因此它使用NetNamedPipeBinding

这是配置的相关部分:

<system.serviceModel>
    <behaviors>
      <endpointBehaviors>
    <behavior name="EndpointBehavior">
      <dataContractSerializer />
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="ServiceBehavior">
      <serviceMetadata httpGetEnabled="false" />
      <dataContractSerializer />
    </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <netNamedPipeBinding>
    <binding name="NamedPipeBinding" closeTimeout="00:00:05" receiveTimeout="10:00:00"
      maxBufferSize="524288" maxReceivedMessageSize="524288">
      <security mode="None" />
    </binding>
  </netNamedPipeBinding>
</bindings>
<services>
  <service behaviorConfiguration="ServiceBehavior" name="MyService">

    <endpoint address="Facade" behaviorConfiguration="EndpointBehavior" binding="netNamedPipeBinding" bindingConfiguration="NamedPipeBinding"
      name="NamedPipeEndpoint" contract="IMyService" />
    <host>
      <baseAddresses>
        <add baseAddress="net.pipe://localhost/company/" />
      </baseAddresses>
    </host>
  </service>
</services>
<client>
  <endpoint address="net.pipe://localhost/company/OtherService/API/" binding="netNamedPipeBinding" bindingConfiguration="NamedPipeBinding" contract="IOtherService" name="NamedPipeEndpoint" />
</client>

这一切都很棒。客户端可以与此服务器通信,并返回。 问题是,当部署到客户端计算机时,它会在首次运行时请求防火墙例外:(类似于此)

enter image description here

由于我使用的是命名管道,因此不应该要求防火墙例外。

所以问题实际上是:如何找出导致防火墙例外的代码部分?这是一个很大的代码库,我尝试搜索与TCP相关的所有术语, HTTP,...我也试过运行 Fiddler 试图找到更多信息,但我没有看到任何相关内容。

0 个答案:

没有答案