2013-09-16 3 views
2

Я работаю с кэшированием вывода asp.net mvc и столкнулся с проблемой.пожарный модуль перед выходом модуля кэша вывода

Я переопределяю метод GetVaryByCustomString в глобальном asax с реализацией клиента для создания пользовательской строки. Создание этой строки основано на данных, которые вставляются в httpcontext в другом httpmodule.

Проблема заключается в том, что OutputCacheModule запускается до того, как значения помещаются в httpcontext - это делается в другом httpmodule.

Есть ли способ запустить другой httpmodule - до выполнения модуля outputcache?

Или есть другая работа вокруг для моей ситуации.

+0

насчет переназначения модулей? – sharptooth

ответ

1

Просьба заказывать события в том порядке, в котором они выполняются трубопроводом .net (http://msdn.microsoft.com/en-us/library/ff649096.aspx).

Например, вы можете использовать BeginRequest событие, что первое событие будет поднят:

public class MyModule : IHttpModule 
{ 
    public void Init(HttpApplication context) 
    { 
     context.BeginRequest += context_BeginRequest;    
    } 

    void context_BeginRequest(object sender, EventArgs e) 
    { 
     var application = (HttpApplication)sender; 
     var context = application.Context; 

     // do something 
    } 

    public void Dispose() 
    { 
    } 
} 
Смежные вопросы