Хорошо, у меня есть приложение, в которое я добавил свой HttpModule.Я регистрирую два события в методе Init () (PreRequestHandlerExecute и PostRequestHandlerExecute).HttpModule вызывается для каждого «нормального» запроса.Но не я создал .aspx, содержащий несколько WebMethods, которые вызываются для адаптации некоторых компонентов пользовательского интерфейса.WebMethod вызывается красиво, но проблема в том, что мой HttpModule НЕ вызывается вообще (без событий, без инициализации, даже без конструктора) при доступе к WebMethod.Модуль красиво вызывается при обращении к рассматриваемому ASPX как «нормальному» запросу.Но он отказывается вызываться при вызове WebMethod.
Мой .aspx выглядит так:
public partial class SelectionListService : System.Web.UI.Page
{
[WebMethod]
[ScriptMethod]
public static RadComboBoxData GetItemsAsRadComboBoxData(RadComboBoxContext context)
{
...
}
}
Мой HttpModule выглядит так:
public class MyModule : IHttpModule, IRequiresSessionState
{
public MyModule ()
{
}
public void Init(HttpApplication context)
{
context.PreRequestHandlerExecute += new EventHandler(Application_PreRequestHandlerExecute);
context.PostRequestHandlerExecute += new EventHandler(Application_PostRequestHandlerExecute);
}
private void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
...
}
private void Application_PostRequestHandlerExecute(object sender, EventArgs e)
{
...
}
}
Я копался в этом уже довольно давно, ноЯ просто не могу заставить его работать.Любые идеи?
PS1: BeginRequest и т. Д. В global.asax.cs вызывается при доступе к WebMethod.PS2: я использую IIS7 в Windows7.