Pregunta

Tengo una aplicación web sencilla ASP.NET que utiliza un cliente WCF para hablar con un simple WCF respaldado servicio de Windows.

Todo funcionó bien en entornos locales. Hemos desplegado a dev, que también funcionaba bien. Sin embargo, en DEV - el servidor Web y el servidor de aplicaciones se encuentran en la misma máquina

.

Ahora que hemos desplegado para control de calidad, se obtiene la 'La conexión de socket fue abortado. 'Excepción que se immedately. Por alguna razón, nuestro servidor Web de control de calidad no puede hablar con nuestro servidor de aplicaciones de control de calidad a través de nuestro cliente WCF / servicio. Puedo hacer ping al servidor de aplicaciones de control de calidad desde el servidor web Puedo telnet el servidor de aplicaciones de control de calidad desde el servidor web Puedo conectar con el WSDL de HTTP en el servidor de aplicaciones de control de calidad desde el servidor web

Y, puedo conectar muy bien con mi servicio de control de calidad de mi entorno local / estudio visual !!!

Así que ¿por qué no mi QA ASP.NET aplicación a hablar con mi servicio de control de calidad de WCF de Windows? He tratado y en todas las formas posibles, y sigue sin ir ...

Aquí está mi sección System.ServiceModel en el cliente:

<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>

Aquí está mi sección System.ServiceModel en el servicio:

<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>

Muchas gracias por cualquier ayuda! Se aprecia en gran medida ..

¿Fue útil?

Solución

Esto es probablemente un problema de cortafuegos, el puerto que está utilizando está bloqueado entre el servidor de control de calidad ASP.Net ans WCF QA servidor.

Puede probar esto con el comando telnet.

Otros consejos

Creo que esto es probablemente un problema de seguridad. Tenga en cuenta que, por defecto, NetTcpBinding utilizar la autenticación de Windows.

Debe revisar y seguir las directrices publicadas aquí si es posible.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top