Question

Je simple application Web ASP.NET qui utilise un client WCF pour parler à un simple service Windows soutenu WCF.

Toutes les a bien fonctionné dans des environnements locaux. Nous avons déployé de dev, qui a travaillé aussi très bien. Cependant le DEV - le serveur Web et le serveur App sont sur la même machine

.

Maintenant que nous avons déployé à l'assurance qualité, nous obtenons la « La connexion socket a été interrompue. «Exception levée immedately. Pour une raison quelconque, notre serveur Web QA ne peut pas parler à notre serveur d'applications d'assurance qualité via notre client WCF / service. Je peux cingler le serveur d'applications d'assurance qualité à partir du serveur Web Je peux telnet le serveur d'applications d'assurance qualité à partir du serveur Web Je peux connecter au WSDL HTTP sur le serveur d'applications d'assurance qualité à partir du serveur Web

ET, je peux me connecter à mon FINE service AQ de mon environnement local / visual studio !!!

Alors, pourquoi ne peut pas parler de mon application ASP.NET QA à mon service QA WCF de Windows? Je l'ai essayé et toutes les manières possibles, et toujours pas de go ...

Voici ma section System.ServiceModel sur le client:

<system.serviceModel>
    <bindings>
      <netTcpBinding>
        <binding name="BigFileBinding">
          <!-- required to receive files greater then default size of 16kb -->
          <readerQuotas maxArrayLength="5242880"/>
        </binding>
      </netTcpBinding>
    </bindings>
    <client>
      <endpoint address="net.tcp://NJQACNET01:58887/PriceService"
          binding="netTcpBinding"
          contract="IPriceService"
          bindingConfiguration="BigFileBinding"/>
      </endpoint>
    </client>
  </system.serviceModel>

Voici ma section System.ServiceModel sur le service:

<system.serviceModel>
    <bindings>
      <netTcpBinding>
        <!-- required to receive files greater then default size of 16kb -->
        <binding name="BigFileBinding"
                 maxReceivedMessageSize="5242880">
          <readerQuotas maxArrayLength="5242880"/>
        </binding>
      </netTcpBinding>
    </bindings>
    <services>
      <service behaviorConfiguration="MetaDataBehavior" name="RK.Pricing.PricingPortal.MarketableSecuritiesService.PriceService">
        <endpoint address="net.tcp://localhost:58887/PriceService" binding="netTcpBinding"
          contract="RK.Pricing.PricingPortal.MarketableSecuritiesService.IPriceService" bindingConfiguration="BigFileBinding"   />
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"  />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:58889/PriceService" />
          </baseAddresses>
        </host>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="MetaDataBehavior">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
        </behavior>
      </serviceBehaviors>
    </behaviors>
  </system.serviceModel>

Merci beaucoup pour toute aide! Il est très apprécié ..

Était-ce utile?

La solution

Ceci est probablement un problème de pare-feu, le port que vous utilisez est bloqué entre le serveur ASP.Net QA ans WCF QA Server.

Vous pouvez tester cela en utilisant la commande telnet.

Autres conseils

Je pense que cela est probablement un problème de sécurité. Gardez à l'esprit que, par défaut, NetTcpBinding utiliser l'authentification Windows.

Vous devriez examiner et suivre les directives publiées ici si possible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top