MVC + IIS7 = Edição CSS

votos
12

Eu tenho um site em execução através IIS7 no Vista. O site está em execução na porta 88, então http: // localhost: 88 deve processar o modo de exibição padrão / Home / Index.

Isso funciona corretamente, como fazem todos os outros pontos de vista.

No entanto, um dos problemas é residente. Meus caminhos de script apontam para / Scripts / [FILE] e os meus caminhos CSS apontam para / Content / [FILE]. Minha suposição era de que a pasta / conteúdo ou / Scripts seria sempre na raiz do site como eu não tenho nenhuma intenção de executar este local em uma configuração de diretório virtual. Sempre que as páginas render, eles têm NO CSS ou script! Então, tudo parece instável eo scripting obviamente, não funciona, portanto, um monte de opiniões não quer trabalhar.

Este é um problema muito estranho, que eu tenho certeza que é um resultado da minha falta de conhecimento hospedagem coisas sob IIS7. Eu apreciaria qualquer ajuda ninguém pode oferecer. Muito obrigado!

Publicado 09/12/2008 em 19:19
fonte usuário
Em outras línguas...                            


5 respostas

votos
13

Espero que a continuação deste segmento transmite uma disposição para garantir que este problema não dirigir qualquer um fora do penhasco. Há uma grande quantidade de documentação em vários fóruns sobre como resolver esse problema no Vista, mas não conseguimos encontrar semelhantemente artigos para 2K8. Como indicado neste post no fórum eu era capaz de corrigir o problema em uma máquina Vista. Infelizmente, uma execução como não conseguiu resolver a questão em 2K8.

Eu tinha verificado que o StaticFileHandler tinha sido incluído no web.config como sugerido neste blog em apijunkie.com . Ainda assim, sem sorte.

Esclarecer sem sorte, aqui - My funcionalidade do lado do servidor foi perfeito. Todas as rotas MVC funciona como um campeão. Apenas tudo CSS e prestação JS falhou. Quando o navegador apontado diretamente para arquivos CSS ou JS resultantes página era um ASP.NET 404 e não o tradicional página de erro 404.

Então eu fui para o Gerenciador de IIS7 e na caixa de diálogo de mapeamentos do manipulador. Eu adicionei um novo manipulador que especificado o tipo System.Web.StaticFileHandler e deu-lhe uma extensão de * .CSS. Então eu repeti isso para * .js, * .png, e * .gif. Quando eu atualizado o site no navegador, tudo prestados perectly. As telas abaixo demonstram este processo.

A Janela de mapeamentos do manipulador:

mapeamentos de manipulador

Adicionando um novo manipulador gerenciado

texto alternativo

Isso resolveu o problema, e agora eu tenho um aplicativo MVC perfeitamente funcionamento hospedado em W2K. Tempo para um Guinness.

Respondeu 10/12/2008 em 03:29
fonte usuário

votos
7

No Painel de controle, vá até Ativar recursos do Windows ligado ou desligado, em seguida, verificar conteúdo estático na sub-sub-sub nó do IIS.

Respondeu 30/11/2010 em 06:23
fonte usuário

votos
3

O problema estava no caminho eu criei o aplicativo. De acordo com o tópico do fórum localizados aqui , que eu precisava para selecionar o ".NET AppPool clássico" para resolver o meu problema. Tenho progressos amor!

Respondeu 09/12/2008 em 20:00
fonte usuário

votos
0

Acontece que esta não é uma solução no Windows 2008. Se alguém tiver alguma idéia sobre como resolver esta questão seria apreciada.

problema em detalhes:

O Windows 2K8 Server, IIS7. Têm gasoduto ligado e suporte de arquivo estático instalado. MVC funciona, mas CSS não render.

O que o diabo?

Respondeu 10/12/2008 em 02:19
fonte usuário

votos
-2

O problema não reside precisamente na autorização / autenticação, mas nos módulos que agora administra o IIS. Dentro system.webServer você deve ter runAllManagedModulesForAllRequests definido para falso para que você pode exibir todas as imagens / css, sem problemas com a autenticação.

Em sites ASP.NET, o valor de runAllManagedModulesForAllRequests anteriormente tinha de ser definido como true para apoiar roteamento. No entanto, uma vez que IIS 7 foi atualizado com um Service Pack , o valor de runAllManagedModulesForAllRequests pode ser definido como falso ou omitido quando se trabalha com roteamento ASP.NET.

Ref. http://www.iis.net/configreference/system.webserver/modules

PS Não se esqueça de adicionar as seguintes linhas à seção AppSettings do meu arquivo web.config:

<Add key = value "autoFormsAuthentication" = "false" />

<Add key = value "enableSimpleMembership" = "false" />

Respondeu 23/12/2014 em 23:27
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more