IIS7 retorna em branco quando o conteúdo estático é solicitado

14

Estou tentando configurar uma máquina de demonstração que é EEEPC com o Windows 7 Home Premium Edition, todos os drivers carregados corretamente (não me pergunte por que é a edição Home) com o IIS7 instalado.

Eu implantei o aplicativo para ser demo-ed na máquina que é um site ASP.NET MVC, adicionado site através do console, adicionado um pool de aplicativos. O pool de aplicativos é executado como NetworkService e o convidado é autenticado como IUSR.

Adicionei os direitos de modificação ao NetworkService e leia & executar direitos para IUSR para a pasta do site e seu conteúdo.

When I hit the root of the web, say http://example.com/ I gets a proper HTML rendered from the website (which means the application works) but the problem is that all static content returns blank.

Não sei por que isso está acontecendo. Nenhuma página de erro 404 ou 500, apenas uma resposta vazia quando acesso o conteúdo estático. Todo o conteúdo gerado pelo ASP.NET funciona bem (embora um pouco estranho, já que todo o CSS e imagens não serão carregados)

Por favor, ajude, IIS7 Management Console é muito confuso para mim e eu preciso da máquina até amanhã.

    
por chakrit 12.08.2009 / 18:44

3 respostas

23

Você ativou o recurso de conteúdo estático?

link

    
por 12.08.2009 / 18:53
2

No meu caso, a função de servidor já estava instalada e, no entanto, o manipulador estático serviu páginas em branco, mesmo para um site de teste trivial com apenas um mapeamento de manipulador.

A correção foi para ativar a restrição de solicitação "Chamar manipulador somente se a solicitação estiver mapeada para". Não importa se eu o defino como "Arquivo" ou "Arquivo ou diretório"; desde que a caixa de seleção esteja ativada, funciona:

Seissoaindanãoajudar,outracoisaquelevaapáginasembrancoétentarespecificarumcaminhonaseção"Caminho de solicitação", como public ou talvez public/* . O último está simplesmente errado, enquanto o primeiro deve ser aceito, mas resulta em páginas em branco. A solução é envolver o mapeamento do manipulador em uma seção <location path='public'> , especificando * para a configuração "Caminho de solicitação". Ou, no Gerenciador do IIS, expanda o site e selecione sua pasta primeiro, e, em seguida, edite os mapeamentos do manipulador.

    
por 18.08.2014 / 15:17
1

Como sugeriu @MattB, não tive o recurso "Conteúdo estático" ativado, mas isso é apenas uma parte do problema.

Eu adicionei o recurso "Static Content" e ainda assim o problema ainda persiste, então eu removi o MvcHttpHandler padrão da lista de mapeamentos do manipulador e de alguma forma o problema resolve-se ... então o problema era que o MvcHttpHandler estava interceptando solicitações antes do StaticFileHandler,

O FYI, depois de instalar o "Conteúdo estático", também garante que ...

  1. No Gerenciador do Internet Information Services, clique em seu site.
  2. Clique duas vezes no recurso "Mapeamentos do manipulador".
  3. No lado direito (o painel de ação), você verá um link intitulado "Exibir lista de pedidos ...", clique nele.
  4. Você encontrará o pedido que o módulo corresponde a cada solicitação, verifique se o pedido faz sentido.

No meu caso, MvcHttpHandler estava acima de tudo, resolvi o problema movendo-o para o final da lista, que é o local mais sensato em que ele deveria estar, porque os manipuladores de arquivos AXD, manipuladores TRACE, manipulador OPTIONS e conteúdo estático tem uma chance de lidar com o pedido primeiro.

Espero que isso ajude alguém a pesquisar o mesmo problema: -)

    
por 13.08.2009 / 15:59