Estoy tratando de ejecutar un servicio wcf en IIS8 en 2012 build 8400.
Al instalar la función web, las cosas wcf (en 3.51) no se encontraban como en 2008.
Cuando se instaló el mapeo del controlador svc no estaba, así que hice un:
%windir%\Microsoft.NET\Framework\v3.0\WindowsCommunication Foundation\ServiceModelReg.exe –i
Ahora el mapeo de controladores está ahí, pero aún obtengo:
The resource you are looking for does not have a handler associated with it.
(Eliminé el controlador de archivos estáticos).
El sitio está utilizando la tubería clásica para usar la suplantación.
Más específicamente:
Server Manager
(en la barra de tareas y menú de inicio) Roles and Features
“. Add Role or Feature
” en el menú desplegable de Tareas Add Role or Feature Wizard
“, haga clic en ” Features
” en la lista de páginas a la izquierda. ".Net 3.5"
o ".Net 4.5"
, según lo que haya instalado. (puede volver a la pantalla ” roles
” para agregarla si no la tiene). WCF Services
“, marca la casilla de ” HTTP-Activation
“. También puede agregar tipos que no sean http si sabe que los necesita (tcp, pipes nombrados, etc.). "Install"
. Tuve que habilitar HTTP Activation
en .NET Framework 4.5 Advanced Services
> WCF Services
encienda lo siguiente en ‘Activar o desactivar las características de Windows’
a) .Net Framework 3.5 – Activación HTTP WCF y activación no Http
b) todo bajo los Servicios de WCF
Windows+X
Programs and Features
(primer elemento en la lista) Turn Windows Features on or off
a la izquierda .NET Framework 4.5 Advanced Services
WCF Services
HTTP Activation
Prefiero hacer esto a través de un guión hoy en día
REM install the needed Windows IIS features for WCF dism /Online /Enable-Feature /FeatureName:WAS-WindowsActivationService dism /Online /Enable-Feature /FeatureName:WAS-ProcessModel dism /Online /Enable-Feature /FeatureName:WAS-NetFxEnvironment dism /Online /Enable-Feature /FeatureName:WAS-ConfigurationAPI dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation dism /Online /Enable-Feature /FeatureName:WCF-HTTP-Activation45 REM Feature Install Complete pause
Logramos resolver el error en Windows Server 2012 por:
Cose el orden de instalación es la causa.
Además, asegúrese de tener la Activación HTTP instalada en los Servicios WCF.
Para las máquinas con Windows 8 no hay una aplicación de “Administrador de servidores” (al menos no pude encontrarla).
Aunque pude resolver el problema . No estoy seguro de en qué secuencia hice las siguientes operaciones pero parece que una / algunas de las siguientes acciones ayudan:
Encienda lo siguiente en ‘Activar o desactivar las características de Windows’ a) .Net Framework 3.5 – Activación HTTP WCF y Activación no HTTP b) todo bajo Servicios WCF (como se especifica en una de las respuestas a esta pregunta)
ejecutado “ServiceModelReg.exe -i” en la carpeta “% windir% \ Microsoft.NET \ Framework \ v3.0 \ Windows Communication Foundation \”
Registrado ASP.NET 2.0 a través de dos comandos (en la carpeta C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727):
aspnet_regiis -ga “NT AUTHORITY \ NETWORK SERVICE” aspnet_regiis -iru
PC reiniciado … parece que como resultado ## 3 y 4 algo se rompió en mi configuración de ASP.NET
Repita la acción n. ° 2
Instale otras dos opciones desde los “Progtwigs y características”: .Net Framework 4.5 Advanced Services. Revisé ambas opciones secundarias: ASP.NET 4.5 y servicios WCF
Reinicie el grupo de aplicaciones.
La secuencia es un poco loca, pero eso me ayudó y probablemente ayudará a otros
El orden de instalación importa mucho al configurar IIS 8 en Windows 8 o Windows Server 2012.
Me enfrenté a muchos problemas al configurar IIS 8 pero finalmente estos enlaces me ayudaron
Con PowerShell puede instalar la función requerida con:
Add-WindowsFeature 'NET-HTTP-Activation'
En Windows 10 (cliente) también puede crear una secuencia de comandos usando
Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All
Tenga en cuenta que este es un comando diferente del servidor skus
Es la función de activación HTTP de .NET Framework También se requiere la función de activación de proceso de Windows
Esto fue realmente tonto para mí. Agregando esto aquí ya que es uno de los hilos más populares en problemas de svc 404.
Tenía pegado en la configuración de mi proyecto ‘\ Web \ Project URL:
http://blah.webservice.local.blahblah.com/Blah.svc
Y por alguna razón desconocida (habiendo hecho esto miles de veces) no descubrí enseguida que el nombre del archivo .svc estaba al final.
DOH!
Acababa de pegar la dirección de mi cliente de pruebas WCF y no lo había comprobado lo suficiente. Lo que hizo en segundo plano fue crear una aplicación IIS en la dirección .svc y no obtuve nada de IIS. No pude entender cómo ni siquiera pude presionar el archivo .svc.
Solución simple, obviamente, simplemente elimine la aplicación en IIS y cambie la URL del proyecto.
Después de casi 20 años en esto, aún puedes cometer errores de colegial / errores de novato. Espero que esto ayude a alguien.