solicitada página puede publicar obtener extensión debido configuración acceso asp.net wcf iis-8 iis-8.5

asp.net - página - publicar wcf en iis



WCF en IIS8;*La asignación del controlador.svc no funciona (12)

Estoy intentando que un servicio wcf se ejecute en IIS8 en la versión 8400 de 2012

Al instalar la función web, el wcf stuff (under 3.51) no se encontró como en 2008

Cuando se instaló, faltaba la asignación del controlador svc, así que hice un:

%windir%/Microsoft.NET/Framework/v3.0/WindowsCommunication Foundation/ServiceModelReg.exe –i

Ahora el mapeo del manejador está ahí, pero todavía obtengo:

The resource you are looking for does not have a handler associated with it.

(Quité el controlador de archivos estáticos.)

El sitio utiliza el canal clásico para usar la suplantación.


Windows 8 con IIS8

  • Pulsa Windows+X
  • Seleccione Programs and Features (primer elemento en la lista)
  • Seleccione Turn Windows Features on or off a la izquierda
  • Expandir .NET Framework 4.5 Advanced Services
  • Expandir los WCF Services
  • Habilitar HTTP Activation

El orden de instalación es muy importante 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


En Windows 10 (cliente) también puede escribir esto usando

Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName WCF-HTTP-Activation45 -All

Tenga en cuenta que este es un comando diferente de los skus del servidor


Esta fue una muy tonta para mí. Agregando esto aquí, ya que es uno de los subprocesos más populares en los problemas de svc 404.

Tuve en mi configuración de proyecto ''/ Web / Project URL, pegado:

http://blah.webservice.local.blahblah.com/Blah.svc

Y por alguna razón desconocida (habiéndolo hecho mil veces), no descubrí de inmediato que el nombre del archivo .svc estaba al final.

DOH!

Acababa de pegar la dirección de mi cliente de prueba de WCF y no la había comprobado lo suficiente. Lo que esto hizo en el fondo fue crear una aplicación IIS en la dirección .svc y no obtenía nada de IIS. No pude averiguar cómo ni siquiera pude golpear el archivo .svc.

Solución simple, obviamente, solo elimine la aplicación en IIS y cambie la URL del proyecto.

Después de casi 20 años, todavía puedes cometer errores de colegial / errores de novato. Espero que esto ayude a alguien.


Logramos resolver el error bajo Windows Server 2012 por:

  1. Eliminación del "Asistente para quitar funciones y características" .NET Framework 4.5 Features / ASP.NET 4.5 y todas sus características dependientes
  2. Reinstalando las características eliminadas.

Se cose el orden de instalación es la causa.

Además, asegúrese de tener la Activación de HTTP instalada en los Servicios WCF.


Más específicamente:

  1. Ejecutar el Server Manager (en la barra de tareas y el menú de inicio)
  2. Elija el servidor a administrar (probablemente el servidor local)
  3. Desplácese hasta la sección " Roles and Features ".
  4. Elija " Add Role or Feature " en el menú desplegable Tareas
  5. En el cuadro de diálogo " Add Role or Feature Wizard ", haga clic en " Features " en la lista de páginas de la izquierda.
  6. Expanda ".Net 3.5" o ".Net 4.5" , dependiendo de lo que haya instalado. (Puede volver a la pantalla de " roles " para agregar si no tiene).
  7. Debajo de " WCF Services ", marque la casilla " HTTP-Activation ". También puede agregar tipos que no sean http si sabe que los necesita (tcp, canalizaciones con nombre, etc.).
  8. Haga clic en el botón "Install" .

Para las máquinas con Windows 8 no hay una aplicación "Administrador del servidor" (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 / pocas de las siguientes acciones ayudan:

  1. Active lo siguiente en ''Activar o desactivar las características de Windows'' a) .Net Framework 3.5 - Activación de HTTP WCF y Activación no HTTP (b), todo bajo los Servicios WCF (como se especifica en una de las respuestas a esta pregunta)

  2. ejecutó "ServiceModelReg.exe –i" en la carpeta "% windir% / Microsoft.NET / Framework / v3.0 / Windows Communication Foundation /"

  3. Registré ASP.NET 2.0 mediante dos comandos (en la carpeta C: / WINDOWS / Microsoft.NET / Framework / v2.0.50727):

    aspnet_regiis -ga "NT AUTHORITY / NETWORK SERVICE" aspnet_regiis -iru

  4. PC reiniciada ... parece como resultado de las acciones ## 3 y 4 algo se rompió en mi configuración ASP.NET

  5. Repite la acción # 2

  6. Instale otras dos opciones de "Programas y características": .Net Framework 4.5 Advanced Services. Revisé ambas sub opciones: ASP.NET 4.5 y servicios WCF

  7. Reiniciar la aplicación de la piscina.

La secuencia es un poco loca, pero eso me ayudó y probablemente ayudará a otros.


Prefiero hacer esto a través de un script 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


También se requiere la función de activación HTTP de .NET framework. La función de activación de proceso de Windows


Tuve que habilitar HTTP Activation en .NET Framework 4.5 Advanced Services > WCF Services


Usando PowerShell puedes instalar la característica requerida con:

Add-WindowsFeature ''NET-HTTP-Activation''


active 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) todos bajo los servicios WCF