SharePoint Publishing, сайт HTTPModule - PullRequest
       3

SharePoint Publishing, сайт HTTPModule

0 голосов
/ 24 ноября 2010

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

Я использую 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
   }

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

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

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

1 Ответ

0 голосов
/ 27 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...