|
quinta-feira, 29 de julho de 2010 |
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
 MVP Profile
|
|
| ASP.NET 2.0 - Criando urls pra web 2.0 |
|
Por: Ramon Durães [Entre em contato com o autor ]
|
|
| Especialista em desenvolvimento de software e Microsoft Most Valuable Professional (MVP) em Visual Studio Team System. Realiza treinamentos de .NET Framework em empresas, consultoria em arquitetura de software e implantação de Visual Studio Team System. Palestrante nos principais eventos da Microsoft no Brasil (Tech-Ed 2005, Tech-Ed 2006, Tech-Ed 2007, Tech-Ed 2008, Tech-ED 2009), Microsoft Innovation Days 2007 (Salvador, Brasília, Recife, Goiânia, Natal, Maringá), Microsoft Innovation Days 2009 (Salvador) , Campus Party Brasil 2009 e eventos regionais relacionados a grupos de usuários e universidades. Conhecido autor de artigos para os principais portais de conteúdo e autor de 10 publicações eletrônicas em CD (Video-Aula) pela editora Linha de Código além dos livros "Desenvolvendo para web usando o Visual Studio 2008" e "Gerenciando projetos de software usando Visual Studio Team System" pela editora Brasport. Pode ser encontrado em seu blog http://www.ramonduraes.net e @ramonduraes no Twitter. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| ASP.NET 2.0 - Criando urls pra web 2.0 |
|
| Publicado em: 23/02/2007 |
|
|
|
|
|
Artigo
recomendado para Visual Studio 2005 SP1
A Web 2.0 está modificando
completamente a forma com a qual estávamos acostumados a divulgar nossas
páginas. Antigamente fazíamos um cadastro com palavras chaves nos
principais portais de busca de contéudo, agora os mesmos passaram a
indexar completamente todo conteúdo favorecendo as páginas com muitas
referências. Os novos motores de busca varrem todos os links
relacionados e mesmo que você não cadastre seu site, ele pode ser indexado
porque alguém inseriu seu link no site dele. Essa dinâmica está envolvendo novas
tecnologias e comportamentos como o uso do AJAX. A proposta desse artigo é
modificar as urls tradicionais de sua aplicação que passam parâmetros para novas
urls que já incluem no caminho da mesma. Isso fará com que seu site seja visualizado mais vezes pelos motores de busca por que eles vão entender que seu site possui várias paginas 'Url virtuais' conforme Tabela
01.
| Url Original: |
http://localhost/meusite/produtos.aspx?Codigo=75 |
| Url Modificada: |
http://localhost/meusite/produtos/75 | Tabela 01: Modificando urls tradicionais.
Na prática o que estaremos fazendo é enganar
os motores de busca usando o httpmodules do asp.net para tratar uma url que não
existe em nosso site (http://localhost/meusite/produtos/75)
e responder com outra url internamente com a
informação solicitada. Com isso uma pagina com 100 parâmetros se comporta
como se fosse 100 paginas. Esse truque pode ser usado para diversas outras
finalidades inclusive para urls temporárias exclusivas para um usuário
logado.
Para iniciar nosso artigo, crie um projeto > C# >
ASP.NET Web Application (WebRewrite) e adicione um novo arquivo: Projeto >
Add > New Item > Class com o nome de ProfessionalComputing.goUrl.cs
.
O objetivo desse arquivo é codificar a
classe goUrl que implementa a interface IHttpModule para interceptar todas as
requisições que chegarem a aplicação e repassar para uma classe personalizada
com objetivo de fazer o reWrite internamente caso necessário. Para essa classe
daremos o nome de VerificaUrl. Nesse momento inicie a codificação da classe
goUrl conforme listagem 1.
Listagem 01 -
Implementando classe goUrl baseada no IHttpModule
Agora que você
acabou de construir a classe goUrl o funcionamento dela será muito simples. Ela
vai interceptar as requisições de urls em nossa aplicação e para cada requisição
que chegar vai executar nossa segunda classe chamada VerificaUrl que contém o
método CheckUrl. Responsável pela reescrita da url. Nesse momento adicione um
novo arquivo tipo classe e coloque o nome
ProfessionalComputing.Util.VerificaUrl.cs codificando conforme
a listagem 02.
Listagem
02 - Implementando a classe
VerificaUrl.
Conforme você pode observar na listagem 02
nesse simples exemplo o processo é muito simples de ser implementado. Bastar
obter a url de origem, verificar se você vai tratar a mesma e caso positivo
fazer o ReWritePath() para o novo caminho. Após implementar as classes, o
próximo passo é modificar o web.config para que possamos adicionar referência a
mesma conforme listagem 03, insira o código dentro do
bloco <system.web>.
Listagem 03 - Alterando web.config para
suportar novo httpmodules.
Na listagem 03 estamos
adicionando referência a classe goUrl e ao assembly que ela se encontra
(bin\WebRewrite.dll). É o nome da aplicação web que chamamos de
WebRewrite.
Com essa implementação basta executar sua aplicação e digitar
a url desejada, conforme esse exercício: se digitar a url: http://localhost:1759/produto/10 vai
carregar internamente a url: http://localhost:1759/_Produto.aspx?Codigo=10
conforme figura 01. Para o usuário final ou site de busca o
acesso é transparente.
 Figura 01
- UrlRewrite em ação
|
Código Fonte: [Download] Esse artigo foi baseado no banco de dados
''NorthWind" para listagem de produtos. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conheça os produtos do autor Ramon Durães
» : CD de Treinamento Gerenciando banco de dados usando Visual Studio Team System (entrega via download - 144 Mb) Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento ASP.NET para Iniciantes - Visual Studio 2008 (entrega via download - 471 Mb) Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento Gerenciando projetos de software com Visual Studio Team System (entrega via download - 365 Mb) Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento sobre LINQ to SQL para iniciantes com Visual Studio .Net 2008 (entrega via download - 242 Mb) Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento Introdução a banco de dados com SQL Server 2005 Express (entrega via download - 151 Mb) Por: R$ 53,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento sobre ADO.NET para Iniciantes (entrega via download - 126 Mb) Por: R$ 53,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de Treinamento Introdução a .NET com C# - Visual Studio 2005 (entrega via download - 225 Mb) Por: R$ 43,00 (COMPRAR AGORA) Entrega: imediata
| » : CD ASP.NET 2.0 - Atualização Rápida (Visual Studio .NET 2005) (entrega via download - 188 Mb) Por: R$ 39,00 (COMPRAR AGORA) Entrega: imediata
| » : CD - Treinamento de ASP.NET 2.0 AJAX Extensions (entrega via download - 79,4 Mb) Por: R$ 39,00 (COMPRAR AGORA) Entrega: imediata
| » : CD de treinamento: Qualidade de Software com Visual Studio Team System (entrega via download - 69,90 MB) Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » Livro: Desenvolvendo para web usando o Visual Studio 2008 De: R$ 73,00 Por: R$ 60,00 (COMPRAR AGORA) Entrega: imediata
| » Pacote: Pacote: Explorando banco de dados usando .NET II (3 CDs) De: R$ 219,00 Por: R$ 188,00 (COMPRAR AGORA) Entrega: imediata
| » Pacote: Pacote: Explorando banco de dados usando .NET I (2 CDs) De: R$ 146,00 Por: R$ 132,00 (COMPRAR AGORA) Entrega: imediata
| » Pacote: Pacote: Desenvolvedor Web Kit III (4 CDs) De: R$ 292,00 Por: R$ 236,00 (COMPRAR AGORA) Entrega: imediata
| » Pacote: Pacote: Desenvolvedor Web Kit II (3 CDs) De: R$ 219,00 Por: R$ 188,00 (COMPRAR AGORA) Entrega: imediata
| » Pacote: Pacote: Desenvolvedor Web Kit I (2 CDs) De: R$ 146,00 Por: R$ 132,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento Gerenciando banco de dados usando Visual Studio Team System Por: R$ 73,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento ASP.NET para Iniciantes - Visual Studio 2008 Por: R$ 73,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento Gerenciando projetos de software com Visual Studio Team System Por: R$ 73,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento sobre LINQ to SQL para iniciantes com Visual Studio .Net 2008 Por: R$ 73,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento Introdução a banco de dados com SQL Server 2005 Express De: R$ 73,00 Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento sobre ADO.NET para Iniciantes De: R$ 73,00 Por: R$ 63,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de Treinamento Introdução a .NET com C# - Visual Studio 2005 De: R$ 73,00 Por: R$ 59,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD ASP.NET 2.0 - Atualização Rápida (Visual Studio .NET 2005) De: R$ 73,00 Por: R$ 59,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD - Treinamento de ASP.NET 2.0 AJAX Extensions De: R$ 73,00 Por: R$ 59,00 (COMPRAR AGORA) Entrega: imediata
| » CD/DVD: CD de treinamento: Qualidade de Software com Visual Studio Team System Por: R$ 73,00 (COMPRAR AGORA) Entrega: imediata
|
|
|
|
|
|
|
|
|
|
|
|
| Inclua um comentário sobre o artigo |
Topo |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | | | | | | | | Srs, para funcionar corretamente o isapi do asp.net deve receber todos os requests e não somente os das extensões vinculadas por padrão na instalação (aspx, asmx, .config, etc).
Para isso vá em configuração de aplicativo no IIS e adicionar a dll isapi do asp.net em WILDCARDS APPLICATION MAPS.
Pronto. Não esqueça de liberar a execução de Unknow ISAPI Extensions na "aba" Web Service Extensions.
Pronto. Have a nice day.
Para ver URL Rewriting em prática com .NET basta acessar o site: www.cipedya.com. | |
| | | | | | | | | Quem enviou: Charles | | Postado em: 10/7/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | | Url Rewriting através de HttpModules funciona no IIS 6? Na versão 5 do Windows XP não é possível, pois se o arquivo não existir dá o erro 404. | |
| | | | | | | | | Quem enviou: marco | | Postado em: 26/4/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Fala Marcos,
IIS 7.0 faz isso sim e muito bem! A proposta desse é fazer agora no iis 6.0 e mostrar um exemplo de httpmodules :) | |
| | | | | | | | | Quem enviou: Ramon Durães | | Postado em: 4/4/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Isso não deveria ser tarefa do IIS?
:P
Acho que a versão 7 vem com o Url Rewriting, yah?
Abraços.
| |
| | | | | | | | | Quem enviou: Marcos | | Postado em: 3/4/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Paulo,
Verifique se criou o projeto com esse nome WebRewrite. Senao altere o webconfig colocando o nome do projeto que você criou. É o nome do assembly.
[],
Ramon Durães
http://www.2pc.com.br | |
| | | | | | | | | Quem enviou: Ramon Durães | | Postado em: 19/3/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Infelizmente não estou conseguindo usar o exemplo passado no tutorial.
me retorna o seguinte erro:
Erro de configuração
Descrição: Erro durante o processamento de um arquivo de configuração necessário para o serviço desta solicitação. Examine os detalhes específicos do erro e modifique esse arquivo de configuração apropriadamente.
Mensagem de Erro do Analisador: Não foi possível carregar arquivo ou assembly ''WebRewrite'' ou uma de suas dependências. O sistema não pode encontrar o arquivo especificado. (C:\Projetosnet\WebSite\web.config line 46)
Erro de Origem:
Linha 44: <httpModules>
Linha 45: <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
Linha 46: <add type="ProfessionalComputing.goUrl,WebRewrite" name="goUrl" />
Linha 47: </httpModules>
Linha 48:
| |
| | | | | | | | | Quem enviou: Paulo | | Postado em: 8/3/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Excelente, esta técnica é conhecida como URL Rewriting, existem vária maneiras de se gerar este mesmo resultado.
Esta forma é bem interessante pois deixa pode ser entendida e implementada muito rapidamente por um desenvolvedor.
Excelente cara.
Um Abraço. | |
| | | | | | | | | Quem enviou: Fábio Luis Rodrigues | | Postado em: 7/3/2007 0:00:00 |
| | | | | | | | | | | | | | | | | | | Faz tempo que estava atrás disso!!
Muuuiito bom!!!
[]s | |
| | | | | | | | | Quem enviou: Sílvio José de Oliveira | | Postado em: 26/2/2007 0:00:00 |
| | | | | | | | | |
|
|
|
| Outros artigos do autor |
Topo |
|
|
|
|
|
|
| Artigos relacionados |
Topo |
|
|
|
|
|
|
| Produtos relacionados |
Topo |
|
|
|
|
|
|
|
|
Nossos números |
|
|
|
|
|
|
|
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 2.488
Artigos: 2.972
Cases: 14
Oportunidades: 4.546
|
|
|
|
|
|
|
|
|
| | |