2012-07-10 28 views
7

Soy nuevo en WCF e IIS pero he estado leyendo sobre cómo alojar una aplicación WCF en IIS. Tenemos un sistema que estamos tratando de implementar en IIS que necesita puntos finales HTTP y NET.TCP. Tengo todo configurado como vi en los tutoriales al azar, pero todavía no puedo conectarme desde mi cliente. ¡Cualquier ayuda con la configuración sería muy apreciada!NET TCP/HTTP WCF alojado en IIS

archivo Mi EdWCF.svc en mi directorio WCF:

< %@ ServiceHost Language="C#" Debug="true" Service="TwoFour.WCF.Engine.EdWCF" % > 

Mi Web.Config:

<?xml version="1.0"?> 
<configuration> 
<system.serviceModel> 

    <behaviors> 
     <serviceBehaviors> 
     <behavior name="MyBehaviour"> 
      <serviceMetadata HttpGetEnabled="True" /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

<service name="TwoFour.WCF.Engine.EdWCF" behaviorConfiguration="MyBehaviour"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://localhost:12345/WCF/EdWCF.svc"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="" 
       binding="netTcpBinding" 
       bindingConfiguration="InsecureTcp" 
       contract="TwoFour.WCF.Interface.Shared.IEdWCF" /> 
     <endpoint address="mexhttp" binding="mexHttpBinding" contract="IMetadataExchange"/> 
</service> 

    <bindings> 
      <netTcpBinding> 
       <binding name="InsecureTcp" portSharingEnabled="true"> 
        <security mode="None" /> 
       </binding> 
      </netTcpBinding> 
     </bindings> 

</system.serviceModel> 

</configuration> 

Gracias por cualquier ayuda o sugerencias!

Respuesta

13
  1. En IIS añadir net.tcp vinculante en la lista de protocolos habilitados (Sitio Web Mange -> Configuración avanzada -> Protocolos habilitados)

  2. En sitio de unión añadir net.tcp vinculante (Editar Encuadernación -> Añadir -> Elegir tipo que net.tcp y añadir el puerto 12345 como esto: *)

también es necesario especificar la dirección base en su configuración:

<system.serviceModel> 
<services> 
    <host> 
     <baseAddresses> 
     <add baseAddress="net.tcp://server:12345/ServiceAddress.svc"/> 
     </baseAddresses> 
    </host> 
    ... 
</service> 
    ... 
</system.serviceModel> 

Editar:

probar este

<system.serviceModel> 

    <behaviors> 
     <serviceBehaviors> 
     <behavior name="MyBehaviour"> 
      <serviceMetadata /> 
     </behavior> 
     </serviceBehaviors> 
    </behaviors> 

<service name="TwoFour.WCF.Engine.EdWCF" behaviorConfiguration="MyBehaviour"> 
     <host> 
      <baseAddresses> 
      <add baseAddress="net.tcp://localhost:12345/WCF/EdWCF.svc"/> 
      </baseAddresses> 
     </host> 
     <endpoint address="" 
       binding="netTcpBinding" 
       bindingConfiguration="InsecureTcp" 
       contract="TwoFour.WCF.Interface.Shared.IEdWCF" /> 
     <endpoint address="mextcp" binding="mexTcpBinding" contract="IMetadataExchange"/> 
</service> 

    <bindings> 
      <netTcpBinding> 
       <binding name="InsecureTcp" portSharingEnabled="true"> 
        <security mode="None" /> 
       </binding> 
      </netTcpBinding> 
     </bindings> 

</system.serviceModel> 
+0

Gracias por la rápida respuesta. Ya tenía habilitados los enlaces, y acabo de agregar la dirección base del host a mi archivo de configuración donde baseAddress = "net.tcp: // localhost: 12345/EdWCF.svc" - aún no se puede conectar. –

+0

Necesita agregar la dirección completa. Si EdWCF.svc está en la carpeta Engine, cámbielo a net.tcp: // localhost: 12345/Engine/EdWCF.svc –

+0

Tengo la ruta de acceso física de mi aplicación IIS configurada en C: \ User \ WCF \ WCF, que es donde está el EdWCF El archivo .svc está ubicado. Ajusté la dirección base para tener net.tcp: // localhost: 12345/WCF/EdWCF.svc, pero cuando trato de conectarme desde nuestro cliente sigo teniendo: No pude conectarme a net.tcp: // localhost: 12345/WCF /EdWCF.svc. El intento de conexión duró un lapso de tiempo de 00: 00: 02.0052005. Código de error de TCP 10061: no se pudo establecer ninguna conexión porque la máquina de destino la rechazó activamente 127.0.0.1:12345. –

Cuestiones relacionadas