Quais extensões de arquivo devem ser permitidas na filtragem de solicitações ao usar o ASP.Net MVC 3?

2

Eu tenho o filtro de solicitações ativado e "Permitir extensões de nome de arquivo não listado" está definido como false. Ao solicitar qualquer caminho normal, incluindo " link ", recebo um erro 404.7 - "O módulo de filtragem de solicitações está configurado para negar a extensão do arquivo."

Se eu definir "Permitir extensões de nome de arquivo não listado" como verdadeiro, o site funcionará bem.

Eu sei que " link " mapeia para Views / Homes / Index.cshtml "e .cshtml é explicitamente permitido.

Estou tentando descobrir qual extensão de arquivo está causando o problema, mas não consigo encontrar nada nos registros. Eu tenho todos os 55 tipos de arquivos "padrão" definidos para permitir.

    
por Chloraphil 06.06.2012 / 21:55

2 respostas

4

Tente apenas "." como a extensão do arquivo. Isso parece funcionar em uma caixa do Windows 2008 R2 SP1 com o ASP.NET 4.

Eu não vi isso documentado em nenhum lugar, mas segue a mesma regra que os Mapeamentos do Manipulador para URLs sem extensão que foram introduzidos no ASP.NET 4 / W2K8 R2 SP1 (consulte Significado do atributo path em manipuladores em web.config pergunta).

    
por 07.06.2012 / 11:12
0

Acho que o que você está tentando fazer não é possível.

O MVC não usa extensões de arquivo. Ao definir "Permitir extensões de nome de arquivo não listado" como false, você limita o IIS para servir apenas as extensões listadas. Como você não pode adicionar uma 'extensão sem extensão', o IIS nega a solicitação.

Em outras palavras, você precisa de "Permitir extensões de nome de arquivo não listado" definido como verdadeiro se quiser usar o MVC.

Você não precisa permitir que o '.cshtml' possa negar o acesso a ele, o MVC ainda funciona, porque os arquivos de visualização não são servidos diretamente pelo IIS, lidos pelo MVC e, em seguida, enviados via IIS para o cliente. / p>     

por 07.06.2012 / 08:46