cuál es la función de las páginas web: habilitado en MVC 3 web.config

Respuestas:

239

webPages:enabledcon valor falsepreviene .cshtmlo .vbhtmlarchivos en la Viewscarpeta de ser directamente accesible desde un navegador web.

Neil Knight
fuente
21
En realidad, les impide acceder directamente, independientemente de dónde residan en la aplicación. En la carpeta de vistas, en la raíz, en una carpeta diferente ... no importa que obtenga el mismo error. The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht
55
¿No es para eso que sirve la configuración "BlockViewHandler"? ¿Cuál es la diferencia?
Tom Pažourek
Lo sentimos, ejecutar un proyecto de Nancy en Mono y esta configuración apareció a través de nuget. Entonces, me pregunto, ¿esto es algo de IIS y MVC 3, o qué parte de la pila realmente consume esta configuración?
Frank Schwieterman
No tengo permiso para ver Vistas de forma predeterminada, pero si agrego esta configuración y la configuro como falsa, ahora se analizan e intentan verse.
Brunis
Páginas web: habilitado lo habilita si el valor es verdadero o falso, el valor predeterminado es nulo.
Brunis
28

Según la documentación, evita que se acceda directamente a los archivos .cshtml y .vbhtml ( www.myweb.com/views/home/index.cshtmlpor ejemplo)

Lukáš Novotný
fuente
1
He estado buscando, pero no puedo encontrar una referencia donde esto se explica. Lo que me gustaría saber específicamente es cuál es el efecto de omitir por <add key="webpages:Enabled" value="???">completo. ¿Es el predeterminado trueo false?
StarNamer
2
Así que busqué en el código fuente y el valor predeterminado es en realidad null, lo que significa que las páginas web están habilitadas si la aplicación contiene alguno *.cshtmlo *.vbhtmlarchivos. La comprobación de archivos se puede deshabilitar estableciendo este valor en trueo false. Puedes verlo por ti mismo aquí .
Lukáš Novotný
¿Según qué documentación?
Kissaki
1

Para permitir que se sirvan las páginas de Razor, no es suficiente configurarlas <add key="webpages:Enabled" value="true" />. También debe agregar el paquete Microsoft.AspNet.WebPages para packages.configusar NuGet.

Ron Inbar
fuente