Вы МОЖЕТЕ использовать HttpModule
для обработки события запуска приложения
В отличие от других, которые пишут / верят только тому, что они читают, я сделал свою собственную часть и обнаружил, что можно обрабатывать запуск приложения, используя модуль HTTP. Это на самом деле немного хак, но надежно работает. Это определенно не то, чего кто-то должен избегать, потому что я видел это и в модулях MS (а именно Sharepoint 2010 SPRequestModule
). Этот мой пост в блоге ( Написание собственного IHttpModule, который обрабатывает событие Application_Start ), получит Вы всю информацию, которую вам нужно знать об этом. Я сделал это сам, и это просто работает. Но вы должны быть немного осторожны при использовании общих ресурсов, потому что ваше приложение может начать вести себя странно. Чтобы избежать этого, я предлагаю вам прочитать дополнительный пост моего блога , в котором объясняется, почему это происходит и как этого избежать.
Если вы хотите, чтобы он также был поточно-ориентированным, вы также можете заблокировать выполнение и пометить модуль как приложение, запущенное . Это самый безопасный способ сделать это.
private static bool isStarted = false;
private static object moduleStart = new Object();
...
if (!isStarted)
{
lock(moduleStart)
{
if (!isStarted)
{
// handle aplication start
...
isStarted = true;
}
}
}
Я создал свою собственную библиотеку, которая подключается к существующим приложениям, таким как Sharepoint 2010. Я не хочу менять Global.asax на Sharepoint, не так ли? Используя технику, описанную в сообщении в блоге, я смог подключиться к ней. Легко.
И я думаю, это именно то, что вы искали. Подключение к событию запуска произвольного приложения путем добавления модуля в web.config
. Сделай это так. Это будет работать.