Pergunta

Temos um site de teste hospedado apenas por endereço IP. Nós realmente precisamos testar algumas funcionalidades que depende do que subdomínio alguém está usando para chegar ao local. Mas é claro que não podemos sequer subdomínios uso com um único local IP.

Assim, um pensamento que tive foi que, em vez de subdomínios, poderíamos ter os testadores abrir o site com uma URL como esta: http://192.168.0.1/smith ou http://192.168.0.1/jones e eu, em seguida, redirecioná-los para http://192.168.0.1/default.aspx?site=smith etc ...

Os nossos testadores estão no cliente, e pedindo-lhes para entrar na querystring seria problemático. Além disso, eu realmente gostaria de obter uma introdução rápida para Reescrever URL.

Alguém pode me dar alguma idéia se o que eu quero fazer é possível, e se assim for, um ponteiro para alguns códigos ou explicação ou algo assim?

Estamos usando asp.net 3.5 e iis6, eu acredito.

Obrigado por qualquer ajuda!

Foi útil?

Solução

Eu escrevi uma introdução à URL Reescrevendo em ASP.NET no meu blog, pelo que o seu valor. Sinta-se livre para deixar mais perguntas aqui para esclarecer quaisquer questões específicas que você tem.

Outras dicas

este certamente vou trabalhar na sua situação http://www.urlrewriting.net/149/en/home.html

temos implementado mesmo que você necessário é, a sua dll de código aberto e você precisa escrever algumas regras em web.config, de acordo com o seu scanario, sua regra de algo como

<add name="index" virtualUrl="^~/(.*)/Default.aspx" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx?site=$1&amp;urw=t" ignoreCase="true"/>

você poderia alterar o arquivo hosts na máquina de teste para domínios pontuais (e subdomínios) em que o IP, de que maneira você não teria que confiar em DNS e poderia testar como se os domínios foram atribuídos.

Mais informações aqui:

http://labnol.blogspot.com /2004/10/tweak-your-windows-hosts-file.html

isso faz parte da Net 3.5 e é o mesmo mecanismo usado pelo MVC

Isto torna sua vida mais fácil, devido ao fato de que tudo é realizado na HttpContext.CurrentContext.Items [ ""]

eu adaptei este código para alguns projeto onde eu tenho um arquivo de configuração XML. Eu, então, usar esse arquivo para construir o RouteCollection . Este código também foi facilmente estendido para lidar com 301 redirecionamentos para SEO.

Este método também é carregado uma vez em sua AppPool e elimina a necessidade de arquivos XML analisam e configurações para cada chamada. Este tem sido até agora a melhor solução para mim desempenho sábio.

Se você precisar de alguma ajuda por favor me avise. Terei prazer em dar uma mão.

Editar: 13/09/09

Eu não tenho que correr em que problema ainda desde que eu normalmente lidar com a verificação de associação / autenticação em cada página. Eu costumo ter uma chamada de controle ou método I na página para validar / autorizar um usuário. Meus clientes raramente usar a associação ASP.Net, eles geralmente contam com sistemas sub proprietários que precisam se conectar.

Eu tenho estendido os exemplos fornecidos nos links acima para que eu possa escrever um xml mesa que é carregado de roteamento quando o aplicativo é iniciado ou quando eu forçar uma atualização RouteCollection.

até agora este tem provado funcionar muito bem. isso também pode permitir uma mudança de rotas, enquanto o aplicativo é executado, sem tempo para baixo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top