Não foi possível obter nada, exceto 403, de um site .Net 4.5

10

Cenário: Instalação limpa do Server 2008 R2 com função IIS.

Framework Instalado 3.5 (Recursos do Servidor) Framework Instalado 4.5 RC (Download do MS)

executado

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Eu usaria -iruem servidores existentes, mas isso é uma compilação limpa).

Publicado via sistema de arquivos (compartilhamento SMB)

Convertida a pasta em um aplicativo usando o .Net 4.0 Integrated App Pool

Parou / reiniciou tudo.

Navegando para localhost/TestAppresultados em um 403.14 (Navegação no diretório proibida)

Que passo eu perdi? O site em questão é MVC4 e tem como alvo a estrutura 4.5 RC

Basic
fonte
Você se certificou de que o documento padrão está na lista de documentos padrão?
Brent Pabst
@BrentPabst Sendo MVC, não há um documento padrão - ele depende da reescrita de URL pelo IIS para determinar qual controlador / ação executar. Se isso falhar, esperaria uma mensagem de erro diferente. Parece que a análise de URL não está sendo invocada, o que geralmente significa que .Net não está registrado corretamente no IIS. Dito isso, ele está registrado e eu instalei as funções apropriadas do IIS (na verdade, agora tenho todas as funções do IIS), por isso estou um pouco inseguro sobre a melhor forma de diagnosticar isso
Basic
desculpe, estou cego e perdi a parte 4.5 MVC. De qualquer maneira, por que você registrou o .NET 4.0 após a instalação do 4.5? Na verdade, nunca tive que registrar o .NET em nenhum servidor Web, porque o instalador o faz automaticamente. Enfim, acho que você registrou os manipuladores .NET incorretos. No entanto, com o 4.5 e o MVC, você deve ver pelo menos um YSOD que diz que o ASAX global não pode ser carregado.
Brent Pabst
@BrentPabst eu tive que aspnet_regiis antes, mas somente quando o IIS é instalado após o .Net (parece razoável). Não foi esse o caso aqui, mas como muitas das respostas sugeridas mencionam isso como o problema, pensei em tentar. 4.5 substitua 4.0 completamente. Eu não concorda ficando YSOD é estranho - Como eu disse, parece que não é só tratá-la como uma página da Net em tudo
Básico
1
Que bom que você deu tudo certo. Sua cabeça deve estar pronta para explodir!
Brent Pabst

Respostas:

21

Eu tive um problema parecido. Esta thread /programming/2374957/asp-net-mvc-on-iis-7-5 resolveu isso para mim. Basicamente, tente adicionar isso ao seu web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Se esse trabalho você pode tentar removê-lo e instalar esse hotfix: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272

Shildrak
fonte
Obrigado, isso resolveu. Eu tenho batido minha cabeça contra isso por horas. Você não acreditaria no sofrimento que recebi do escritório "linux guy". Neste caso, acho que ele tem um ponto ...
Básico
1
Obrigado! No meu caso, runAllManagedModulesForAllRequests não ajudou, mas o hotfix ajudou.
NateTheGreat
Para mim também runAllManagedModulesForAllRequests não ajudou, mas o hotfix fez - obrigado pelo link
Anil Purswani
Você salvou meu dia!
labilbe
0

A interface do usuário é um pouco diferente nas versões mais recentes do Windows Server. Aqui é onde você precisa habilitar o ASP.Net para que ele funcione no IIS

Corrigir IIS e Asp.net

Matthew Zourelias
fonte