2010-11-24 2 views
0

Я написал HTTPModule для целей перенаправления и установлен в GAC и указан в корневом файле web.config. Он очень хорошо работает на сайтах Team.Сайт публикации SharePoint HTTPModule

Я использую PreRequestHandlerExecute увидеть запрос, страница или нет, и называя

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); 
      } 
     } 

и в методе Perform_Redirection я делаю переназначение вещь.

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

Приведенный выше код отлично подходит для групп разработчиков, но не для сайтов публикации. Page.PreInit не увольняется для публикации сайтов.

Пожалуйста, помогите мне решить эту проблему!

Я использую PreRequestHandlerExecut e, потому что мне нужен объект сеанса и другие данные, иначе я бы использовал BeginRequest.

ответ

0

Я решил, переместив код перенаправления в обработчик событий PreRequestHandlerExecute

+1

Вы должны принять этот ответ, если решить эту проблему, как описано. – razlebe 2011-09-14 14:58:36

Смежные вопросы