2010-11-24 9 views
0

Ich habe eine HTTPModule für die Umleitung Zweck geschrieben und in GAC installiert und im Stammverzeichnis web.config Datei referenziert. Es funktioniert sehr gut für Team-Sites.SharePoint-Veröffentlichung Website HTTPModule

ich PreRequestHandlerExecute bin mit dem Wunsch sehen Seite oder nicht und ruft

public void Init(HttpApplication context) 
     { 
      this.app = context; 
      this.app.PreRequestHandlerExecute += new EventHandler(Application_PreRequestHandlerExecute); 
     } 

void Application_PreRequestHandlerExecute(object source, EventArgs e) 
     { 
      Page page = HttpContext.Current.CurrentHandler as Page; 
      if (page != null) 
      { 
       page.PreInit += new EventHandler(Perform_Redirection); 
      } 
     } 

und in der Perform_Redirection Methode, die ich die Umleitung Sachen tue.

void Perform_Redirection(object source, EventArgs e) 
    { 
     //logic goes here for redirection 
    } 

Der obige Code funktioniert gut für Teamsites, aber nicht für Publishing-Sites. Die Page.PreInit wird nicht für die Veröffentlichung von Websites ausgelöst.

Bitte helfen Sie mir, dieses Problem zu lösen!

Ich benutze PreRequestHandlerExecut e, weil ich Session-Objekt und andere Details brauche sonst hätte ich BeginRequest verwendet.

Antwort

0

Ich löste es durch die Umleitung Code in den Ereignishandler

+1

Sie PreRequestHandlerExecute bewegen Sie diese Antwort akzeptieren sollte, wenn es um das Problem, wie beschrieben gelöst. – razlebe

Verwandte Themen