Lorsque j'essaye de réécrire une URL dans ASP.NET, je constate que l'URL change dans le navigateur de l'utilisateur. J'utilise les services REST WCF et je souhaite changer la façon dont vous accédez aux URL. Voir l'exemple de code ci-dessous.ASP.NET RewritePath ne fonctionne pas comme prévu/URL dans le navigateur
J'ai un HttpModule qui intercepte des demandes.
public class FormatModule : IHttpModule
{
#region IHttpModule Members
public void Dispose()
{
throw new NotImplementedException();
}
public void Init(HttpApplication application)
{
application.BeginRequest += new EventHandler(application_BeginRequest);
}
void application_BeginRequest(object sender, EventArgs e)
{
HttpContext context = HttpContext.Current;
if (context.Request.RawUrl.Contains(".pox"))
context.RewritePath("~/Lab1Service.svc?format=pox", false);
else if (context.Request.RawUrl.Contains(".json"))
context.RewritePath("~/Lab1Service.svc?format=json", false);
}
#endregion
}
Le problème se produit lorsque les utilisateurs visitent l'URL dans leur navigateur.
http://localhost/Lab1Service.svc.pox, à la place l'URL change dans le navigateur pour http://localhost/Lab1Service.svc?format=pox.
c'est bizarre .. vous devez avoir enregistré un autre gestionnaire/module, whis fait cette redirection .. –
C'est en fait une barre oblique. – StriplingWarrior