Служба IIS Hosted Workflow Как определить запуск и остановку приложения - PullRequest
1 голос
/ 16 сентября 2011

Я хочу подключить события запуска и остановки приложения, чтобы отслеживать, запущены ли мои IIS Hosted Workflow Services. В идеале, когда я запускаю службу рабочего процесса через запуск AppPool или приложения IIS (если несколько служб совместно используют один AppPool), я хочу записать событие в базу данных. И когда я останавливаю службу рабочего процесса через остановку AppPool или приложения IIS, я хочу записать событие в базу данных.

Есть ли способ сделать это?

Ответы [ 2 ]

1 голос
/ 11 июля 2012

Вы должны проверить эту статью на Windows Server AppFabric. В частности, обратите внимание на раздел «Отслеживаемые события WF».

http://msdn.microsoft.com/en-us/library/ee677205(v=azure.10).aspx

AppFabric - это отдельная установка (http://msdn.microsoft.com/en-us/library/ff637745(v=azure.10).aspx),, но я думаю, что она поможет вам в достижении ваших целей в отношении мониторинга рабочего процесса и обслуживания.

Установить AppFabric

0 голосов
/ 11 июля 2012

Мое мнение таково, что Application_Start & Application_End выполняются слишком рано (или слишком поздно) в течение жизненного цикла приложения, и я предполагаю, что такие вещи, как объект доступа к базе данных, не будут доступны для использования.

Моя рекомендацияиспользовать FileSystem для обмена данными.

 void Application_Start(object sender, EventArgs e) 
    {
        // Code that runs on application startup
        FileStream fs = new FileStream(@"D:\something\hello.txt", FileMode.Append);
        StreamWriter sw = new StreamWriter(fs);
        sw.WriteLine(DateTime.Now.ToString());
        sw.Flush();
        fs.Close();

    }

Это запишет все, что вы захотите, в текстовый файл, который вы затем сможете прочитать с помощью простого сервиса и получить соответствующие данные.

...