I'm hosting wcf services in console app for now, and sometimes I get this error in wcf tracer. "An operation was attempted on a nonexistent network connection". I checked event viewer, nothing there. This only happens when customer calls our servers (sometimes only), from internal network it works fine.
My config looks like this: WCF Host config:
<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.Acti开发者_Python百科vities.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>
And client config looks like this:
<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>
Funniest thing is that it happens sometimes, not always. :S
As it turned out problem was in port. 8081 was used for proxies, when two users from same network are using app problem was occurring. As soon as we put 8080 port, it worked ok
Stupid exception for stupid problem :)
精彩评论