Saltar al contenido

No se pudo encontrar una dirección base que coincida con el esquema net.tcp

Solución:

Error (WCF):
No se pudo encontrar una dirección base que coincida con el esquema net.tcp para el punto final con el enlace NetTcpBinding. Los esquemas de direcciones base registrados son [http].

Paso 1: Tenga en cuenta que WAS (Servicio de activación de procesos de Windows) o el protocolo que no es http solo es compatible con las siguientes plataformas: • Windows Vista • Windows 7 • Windows Server 2008

  1. Vaya a Activar o desactivar las funciones de Windows
  2. Vaya a Microsoft .NET Framework 3.5
  3. Compruebe la activación HTTP de Windows Communication Foundation
  4. Compruebe la activación no HTTP de Windows Communication Foundation

Paso 2: IIS> Sitio web de host WCF> Administrar aplicación> Configuración avanzada> Protocolos habilitados> Establecer el valor en HTTP, NET.TCP

Necesitas definir solo el dirección base (no la entero dirección) para su servicio, y luego el resto en el punto final del servicio. La dirección que tienes con el filetransfer.svc el archivo al final no es una dirección base válida (es una dirección de archivo, en realidad)

<service behaviorConfiguration="transferServiceBehavior" 
         name="API.FileTransfer.FileTransferService">
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:8001/project/" />
      </baseAddresses>
    </host>
    <endpoint name="MyFileTransferEP"
              address  = "filetransfer"
              binding  = "netTcpBinding"
              bindingConfiguration="MyFileTransferNetTcpEP"
              behaviorConfiguration="NetTcpEPBehavior"
              contract="API.FileTransfer.IFileTransferService" />
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>

Con esto, y utilizando el autohospedaje, su servicio estaría disponible en la dirección completa:

net.tcp://localhost:8001/project/filetransfer

Dado que este es net.tcp y usted es autohospedado, no es necesario ningún archivo svc.

ACTUALIZAR: si desea poder obtener metadatos en su dirección base net.TCP, deberá exponer un punto final net.Tcp MEX como este dentro de su <service> sección:

        <endpoint name="NetTcpMEX"
                  address="netTcpMex"
                  binding="mexTcpBinding"
                  contract="IMetadataExchange" />

Espacio en la entrada “Protocolos habilitados” en IIS => Seleccionar directorio virtual / aplicación => configuración avanzada => Protocolos habilitados. p.ej http, net.tcp. (Espacio entre el texto del protocolo

Esto debería ser http, net.tcp (es decir, sin espacio entre el texto del protocolo)

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *