El paso a paso o código que verás en este artículo es la resolución más eficiente y efectiva que hallamos a tu duda o dilema.
Solución:
Necesitas agregar net.tcp
a los protocolos habilitados de su sitio. Vaya al Administrador de IIS, haga clic con el botón derecho en su sitio web, vaya a ‘Administrar sitio web’ o ‘Administrar aplicación’, luego a ‘Configuración avanzada…’. Allí verá ‘Protocolos habilitados’. probablemente dice http
. cambiarlo a http,net.tcp
.
Si desea configurar enlaces, haga clic con el botón derecho en su sitio web y vaya a ‘Editar enlaces…’. El enlace net.tcp predeterminado es 808:*
.
Si desea utilizar los servicios WCF alojados por IIS detrás de net.tcp, también puede comprobar si ha activado las funciones de Windows requeridas. Vaya a sus Características de Windows y verifique que haya activado ‘Windows Communication Foundation Non-HTTP Activation’ (que se encuentra en ‘Microsoft .NET Framework 3.5.1’).
Cuando active esta función, obtendrá algunos Servicios de Windows adicionales. Si aún no funciona, verifique que el Servicio de Windows llamado ‘Adaptador de escucha Net.Tcp’ se está ejecutando (debería iniciarse automáticamente, pero a veces no lo hace y este es el primer lugar que verifico cuando uno de mis net.tcp
los servicios dejan de funcionar).
Esto podría ayudar a alguien en el futuro. creé un powershell
script que será útil si necesita automatizar la creación de enlaces.
Verificará automáticamente si el enlace ya existe y solo lo agregará cuando sea necesario.
Guión real
Import-Module WebAdministration
$websites = Get-ChildItem 'IIS:Sites'
$site = $websites | Where-object $_.Name -eq 'Default Web Site'
$netTcpExists = [bool]($site.bindings.Collection | ? $_.bindingInformation -eq '808:*' -and $_.protocol -eq 'net.tcp' )
if (!$netTcpExists)
Write-Output "Net TCP binding does not exist. Creating binding now..."
# Create the binding
New-ItemProperty 'IIS:SitesDefault Web Site' -name bindings -Value @protocol="net.tcp";bindingInformation="808:*"
Write-Output "Binding created"
else
Write-Output "TCP Binding already exists"
Write-Output "Updating enabled protocols..."
Set-ItemProperty 'IIS:sitesDefault Web Site' -name EnabledProtocols -Value "http,net.tcp"
Write-Output "Enabled protocols updated"
El último paso funcionó para mí.
- Asegúrese de que estos protocolos estén definidos en la “Configuración avanzada” del sitio web
- Asegúrese de que las siguientes funciones estén instaladas
- Los siguientes servicios deberían estar ejecutándose
- Su grupo de aplicaciones debe usar canalización integrada
- Cierre el Administrador de IIS, reinicie IIS y vuelva a abrir el Administrador de IIS
- Verifique la sección listenerAdapters en el archivo applicationHost.config (Ubicado en C:WindowsSystem32inetsrvconfig). Si no ve los adaptadores de escucha que desea usar en los enlaces, agréguelos manualmente
Fuente: Faltan enlaces en IIS (net.tcp, net.pipe, net.msmq, msmq.formatname)
Tienes la opción de confirmar nuestra faena escribiendo un comentario o puntuándolo te damos las gracias.