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


200

Acabo de comenzar un nuevo proyecto MVC 3. ¿Alguien puede decirme qué?

<add key="webpages:Enabled" value="false" />

en mi archivo web.config hace?



1
Sería útil tener en cuenta lo que sucede si esto está configurado e intenta explorar un archivo .chstml. Aparece el error "Este tipo de página no se sirve". Pasé horas en este: / stackoverflow.com/questions/12533605/…
Dave Swersky el

Respuestas:


239

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


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)


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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.