2016-03-22 8 views
0

У меня есть сценарий, как следует,Лучшая практика, чтобы поместить функцию, которая автоматически выполняет при каждом вызове страницы

У меня приложение в том, что мне нужно, чтобы выполнить функцию, которая должна быть выполнена до загрузки страницы каждой страницы. даже если я добавляю новую страницу, функция должна выполняться без копирования этой функции на новую страницу.

Прослушайте меня Лучшая практика для размещения функции в приложении, чтобы она работала, как я сказал.

Если ваш ответ является главной страницей, то на главной странице какое событие является лучшим местом для написания кода функции?

Процесс функции - вызвать класс DAL и получить данные из базы данных, получить имя страницы и сделать логин на основе имени страницы.

Спасибо и рассматривает

+0

Не могли бы вы лучше кэшировать эти данные? –

+0

, даже если я кэширую данные, мне нужно сделать некоторую логику с данными и именем страницы. – Sindhu

+0

WebForms или MVC? Какую логику вам нужно выполнять (могут быть лучшие способы делать то, что вы хотите сделать). Вы хотите обработать «логин» на основе имени страницы? Какую модель безопасности вы внедряете? –

ответ

1

рассмотреть возможность использования пользовательских HttpModule

http://msdn.microsoft.com/en-us/library/ms227673.aspx

или Global.asax вы можете подключить нужное событие в Application_PreRequestHandlerExecute:

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

      if (context.Handler is Page) 
      { 
       Page page = (Page)context.Handler; 
       page.Load += ... 
      } 
     } 
    } 
+0

Спасибо за ваш ответ, выполняет ли этот кусок кода для каждого запроса? мой сценарий - вызывать функцию, которая выполняется только один раз перед каждой загрузкой страницы. путем проверки страницы и перенаправления на основе аутентификации. – Sindhu

+0

Каждый раз, когда загрузка страницы представляет собой запрос страницы – Eminem

+0

Спасибо за ответ. Я буду работать над этим и дойду до вас для дальнейших запросов. – Sindhu

0

Если вы используете MVC , то возможный подход может заключаться в том, чтобы сделать звонок на странице _Layout.