WCF:尝试对不存在的网络连接执行操作

时间:2011-03-01 18:28:59

标签: wcf wcf-client

我现在正在控制台应用程序中托管wcf服务,有时我在wcf tracer中收到此错误。 “尝试对不存在的网络连接进行操作”。我检查了事件查看器,没有。 这只发生在客户呼叫我们的服务器(有时只是),从内部网络调用它时。

我的配置如下所示: WCF主机配置:

 <system.serviceModel>
<behaviors>
  <serviceBehaviors >
    <behavior name="MyServiceBehavior">
      <serviceMetadata httpGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="true" />
  </behavior>
  </serviceBehaviors>
</behaviors>
<bindings>
  <wsHttpBinding>
    <binding name="wsHttpBindingConfig" closeTimeout="00:05:00" openTimeout="00:05:00"
      receiveTimeout="00:05:00" sendTimeout="00:05:00" maxBufferPoolSize="2147483647"
      maxReceivedMessageSize="2147483647" messageEncoding="Text">
      <readerQuotas maxDepth="32" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="None">
        <transport clientCredentialType="None" proxyCredentialType="None" />
        <message clientCredentialType="None" negotiateServiceCredential="false"
          establishSecurityContext="false" />
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<services>
  <service name="HSL.MM.Activities.FacilityHandlers.FacilitiesHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/facilitiesService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.FacilityHandlers.IFacilitiesHandler"/>
  </service>
  <service name="HSL.MM.Activities.ContractHandlers.ContractHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/contractService"  bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.ContractHandlers.IContractHandler"/>
  </service>
  <service name="HSL.MM.Activities.ContractHandlers.ModuleHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/moduleService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.ContractHandlers.IModuleHandler"/>
  </service>
  <service name="HSL.MM.Activities.LocationHandlers.LocationsHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/locationsService"  bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.LocationHandlers.ILocationsHandler"/>
  </service>
  <service name="HSL.Client.Activities.ClientHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/clientService"  bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.Client.Activities.Interface.IClientHandler"/>
  </service>
  <service name="HSL.MM.Activities.ProductHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/productService"  bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.IProductHandler"/>
  </service>
  <service name="HSL.MM.Activities.DistributorHandlers.DistributorsHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/distributorsService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.DistributorHandlers.IDistributorsHandler"/>
  </service>
  <service name="HSL.MM.Activities.InformationSourceHandlers.InformationSourcesHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/informationSourcesService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.InformationSourceHandlers.IInformationSourcesHandler"/>
  </service>
  <service name="HSL.MM.Activities.ProductStatisticHandlers.ProductStatisticsHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/productStatisticsService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.ProductStatisticHandlers.IProductStatisticsHandler"/>
  </service>
  <service name="HSL.MM.Activities.SecurityHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/securityService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.ISecurityHandler"/>
  </service>
  <service name="HSL.MM.Activities.ProductStatisticHandlers.ProductStatisticIntegrationHandler" behaviorConfiguration="MyServiceBehavior">
    <endpoint address="http://localhost:8081/productStatisticIntegrationService" bindingConfiguration="wsHttpBindingConfig" binding="wsHttpBinding" contract="HSL.MM.Activities.Interface.ProductStatisticHandlers.IProductStatisticIntegrationHandler"/>
  </service>
</services>


客户端配置如下所示:

  <system.serviceModel>
<bindings>
  <wsHttpBinding>
    <binding name="wsHttpBindigConfig" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647" receiveTimeout="00:05:00" sendTimeout="00:05:00">
      <readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      <security mode="None">
        <message clientCredentialType="None" />
        <transport clientCredentialType="None">
        </transport>
      </security>
    </binding>
  </wsHttpBinding>
</bindings>
<client>
  <endpoint address="http://***.***.**.**:8081/facilitiesService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.FacilityHandlers.IFacilitiesHandler" name="FacilitiesService"/>
  <endpoint address="http://***.***.**.**:8081/contractService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.ContractHandlers.IContractHandler" name="ContractService"/>
  <endpoint address="http://***.***.**.**:8081/moduleService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.ContractHandlers.IModuleHandler" name="ModuleService"/>
  <endpoint address="http://***.***.**.**:8081/locationsService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.LocationHandlers.ILocationsHandler" name="LocationsService"/>
  <endpoint address="http://***.***.**.**:8081/clientService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.Client.Activities.Interface.IClientHandler" name="ClientService"/>
  <endpoint address="http://***.***.**.**:8081/productService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.IProductHandler" name="ProductService"/>
  <endpoint address="http://***.***.**.**:8081/distributorsService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.DistributorHandlers.IDistributorsHandler" name="DistributorsService"/>
  <endpoint address="http://***.***.**.**:8081/informationSourcesService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.InformationSourceHandlers.IInformationSourcesHandler" name="InformationSourcesService"/>
  <endpoint address="http://***.***.**.**:8081/productStatisticsService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.ProductStatisticHandlers.IProductStatisticsHandler" name="ProductStatisticsService"/>
  <endpoint address="http://***.***.**.**:8081/securityService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.ISecurityHandler" name="securityService"/>
  <endpoint address="http://***.***.**.**:8081/productStatisticIntegrationService" binding="wsHttpBinding" bindingConfiguration="wsHttpBindigConfig" contract="HSL.MM.Activities.Interface.ProductStatisticHandlers.IProductStatisticIntegrationHandler" name="productStatisticIntegrationService"/>
</client>

最有趣的是它有时会发生,而不是总是发生。 :S

1 个答案:

答案 0 :(得分:0)

事实证明问题出在港口。 8081用于代理,当来自同一网络的两个用户正在使用app问题时。一旦我们把8080端口,它工作正常

愚蠢问题的愚蠢例外:)