2016-10-05 2 views
0

Я искал в Интернете более одного дня, но не нашел ничего, что мне нужно.Инициализация веб-приложения ASP.NET при запуске пула приложений

Я разрабатываю веб-приложение IIS с помощью HttpHandlers и HttpModules. Мне нужно инициализировать приложение при первом запуске (с применением конфигурации). Но я не хочу использовать global.asax.cs, потому что мне не нужны реализации, имеющие файл global.asax в их папке (максимум web.config).

Как запустить некоторый код при инициализации пула приложений?

ответ

1

Вы можете использовать атрибут уровня сборки PreApplicationStartMethodAttribute, чтобы ваш стартовый код запускался на ранней стадии конвейера ASP.NET.

namespace MyWebService 
{ 
    public class MyHttpHandler: IHttpHandler, IDisposable 
    { 

      public static void StartUp() 
      { 
       //Application Startup Code; 
      } 

      public void ProcessRequest(HttpContext context) 
      { 
        //Do Something 
      } 

      public bool IsReusable { get; private set; } 

      public void Dispose(){}; 

      } 
     } 
    } 
} 

И добавить атрибут к вашему AssemblyInfo.cs

[assembly: PreApplicationStartMethod(typeof(MyWebService.MyHttpHandler), "StartUp")] 

Для получения дополнительной информации о PreApplicationStartMethod: https://msdn.microsoft.com/en-us/library/system.web.preapplicationstartmethodattribute

 Смежные вопросы

  • Нет связанных вопросов^_^