J'ai un gros problème avec l'URL de réécriture pour IIS 7.0.Rewritepath et le mode intégré IIS
J'ai écrit un module simple pour réécrire pour mon application web NET3.5/IIS7. Voici une partie du code.
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
if (app.Request.Path.Contains("pagetorewrite.aspx"))
HttpContext.Current.RewritePath("~/otherpage.aspx");
}
Et j'enregistrer mon module dans web.config:
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<add name="MyModule" type="MyModule" preCondition="" />
sous IIS 7.0 (Vista) en utilisant ASP classique Pipeline il fonctionne parfaitement, mais quand je change de mode pipeline intégré, il arrête travail. Il n'y a aucune exception, erreur et rien dans le débogueur/events/logfiles - message seulement dans un navigateur cette page n'a pas été trouvée. La chose la plus stridente est que pagename ressemble à mal orthographié ou fusionné à partir de parties de la page d'origine et réécrire à la page.
J'ai déployé mon code sur un autre ordinateur (également Vista - mais x64 et iis 7.0) et il fonctionne parfaitement dans les deux modes. Il semble qu'il y ait un problème de configuration ou quoi?