Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
830
Assunto : ASP.NET
Titulo: Resolvendo referências estáticas (rodando site como root)

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Sempre que executamos uma aplicação web no visual studio, o VS inicia o servidor web que ele traz (chamado de cassini) apontando para nossa pasta.

O problema é que ele faz isso utilizando não a raiz de um site, mas um diretório virtual. Por exemplo : http://localhost:xxxx/MeuSite ao invés de simplesmente utilizar http://localhost:xxxx

Essa forma de iniciar a execução cria um verdadeiro caos no tratamento de URLs com elementos estáticos.

Peguemos uma imagem como exemplo. A imagem ficará no diretório images, então o caminho será images/foto.gif

Porém não podemos utilizar /images/foto.gif porque durante os testes o diretório images não está na raiz, mas dentro de MeuSite.

Não podemos utilizar /MeuSite/images/foto.gif, pois provavelmente quando publicarmos a aplicação o nome MeuSite irá mudar.

Se utilizarmos simplesmente images/foto.gif isso funciona na raiz, mas não funciona nas sub-pastas. Então se utilizarmos isso em um user control ou uma masterpage que seja amplamente utilizada no site, teremos problemas.

Esse problema só existe para elementos estáticos - HTML . Para webControls temos o truque do ~ : ~/images/foto.gif e ele transforma o ~ em runtime no caminho correto. Porém não podemos utilizar webControls para tudo, estaremos prejudicando a performance do site.

Para resolver este problema, podemos utilizar um truque para iniciar o servidor web do VS na raiz ao invés de em um diretório virtual. Para este truque precisaremos criar um menu personalizado no VS para fazer o disparo do Cassini.

Veja como fica :

Selecione a opção Tools->External Tools no menu do VS

Clique em Add para adicionar um novo menu

Na caixa name, dê o nome de sua escolha a esta opção

Na caixa Command insira a instrução C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE . Este é o caminho em que o webServer normalmente fica. Se necessário, altere o caminho adequadamente conforme sua máquina.

Na caixa arguments insira /port:8080 /path:$(ProjectDir) . Estaremos sempre utilizando a porta 8080. Troque se necessário.

Marque a opção "Use output window"


Com esta opção de menu configurada, podemos chama-la para iniciar o webServer apontando para a nossa pasta. Então podemos simplesmente chamar no browser http://localhost:8080 para acessar nosso projeto.

Mas podemos também configurar o visual studio para chamar o browser nesse endereço automaticamente :

Clique com o botão direito no projeto web (solution explorer) e selecione "property pages"

Selecione "start options"

Abaixo da opção Server, marque a checkbox Use Custom Server

Na caixa BaseURL digite http://localhost:8080

Pronto. Sempre que você rodar a aplicação (F5 ou CTRL+F5) este endereço será disparado corretamente, resolvendo os problemas de referência de elementos estáticos.




Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/31/2017 12:16:00 PM
nome: SAZrkxIWznSPXy
email: derby451@hotmail.com
comentário:
hxq0vn http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 9:53:00 AM
nome: afXEBtSixdCaz
email: derby451@hotmail.com
comentário:
WZpjGi http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 9:52:00 AM
nome: BRBzRIBTTPuEYZXASQg
email: jogcbfn@hotmail.com
comentário:
UXh8n1 http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/2/2017 11:19:00 AM
nome: WmPKQBkASPAPA
email: jfvynms4281rt@hotmail.com
comentário:
UDsVub http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br