qual é a função das páginas da web: Ativado no MVC 3 web.config


200

Acabei de iniciar um novo projeto MVC 3. Alguém pode me dizer o que

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

no meu arquivo web.config faz?



1
Seria útil observar o que acontece se isso estiver definido e você tentar procurar um arquivo .chstml. Você recebe o erro "Este tipo de página não é exibido". Passei horas neste: / stackoverflow.com/questions/12533605/…
Dave Swersky

Respostas:


239

webPages:enabledcom valor falseprevine .cshtmlou .vbhtmlarquivos na Viewspasta de estar acessível directamente a partir de um navegador web.


21
Na verdade, impede que eles acessem diretamente, independentemente de onde residam no aplicativo. Na pasta views, na raiz, em uma pasta diferente ... não importa se você receber o mesmo erro. The type of page you have requested is not served because it has been explicitly forbidden
Nick Albrecht

5
Não é para isso que serve a configuração "BlockViewHandler"? Qual é a diferença?
21414 Tom Tomžezrerek

Desculpe, executando um projeto de Nancy no Mono e essa configuração apareceu via nuget. Então, eu me pergunto, isso é algo do IIS e do MVC 3, ou qual parte da pilha realmente consome essa configuração?
Frank Schwieterman

Não tenho permissão para ver as Visualizações por padrão, mas se eu adicionar essa configuração e configurá-la como false, elas agora serão analisadas e tentarão ser exibidas.
Brunis

Páginas da Web: Ativadas permite se o valor é verdadeiro ou falso, o valor padrão é nulo.
Brunis

28

De acordo com a documentação, impede que os arquivos .cshtml e .vbhtml sejam acessados ​​diretamente ( www.myweb.com/views/home/index.cshtmlpor exemplo)


1
Estive pesquisando, mas não consigo encontrar uma referência onde isso é explicado. O que eu gostaria especificamente de saber é qual é o efeito de omitir <add key="webpages:Enabled" value="???">completamente. É o padrão trueou false?
11114 StarNamer

2
Então, eu procurei o código-fonte e o valor padrão é realmente null- o que significa que as páginas da Web são ativadas se o aplicativo contiver algum arquivo *.cshtmlou *.vbhtml. A verificação de arquivos pode ser desativada definindo esse valor como trueou false. Você pode ver por si mesmo aqui .
Novukki

De acordo com qual documentação?
Kissaki

1

Para permitir que as páginas do Razor sejam veiculadas, não basta definir <add key="webpages:Enabled" value="true" />. Você também precisa adicionar o pacote Microsoft.AspNet.WebPages ao packages.configuso do NuGet.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.