Я написал 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
.