IIS托管工作流服务如何检测应用程序启动和停止

时间:2011-09-16 13:28:47

标签: iis-7 workflow-foundation-4

我想挂钩应用程序启动和停止事件以跟踪我的IIS托管工作流服务是否正在运行。理想情况下,当我通过启动AppPool或IIS应用程序(如果多个服务共享同一个AppPool)启动工作流服务时,我想将事件记录到数据库中。当我通过停止AppPool或IIS应用程序停止我的工作流服务时,我想将一个事件记录到数据库中。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:1)

您应该在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),但我认为这将有助于你完成您的工作流程和服务监控目标。

Install AppFabric

答案 1 :(得分:0)

我的观点是Application_Start&在应用程序生命周期中,Application_End执行得太早(或太晚),我认为像DataBase Access对象这样的东西将无法使用。

我的建议是使用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();

    }

这会将您想要的任何内容写入文本文件,然后您可以使用简单的服务读取该文本并获取相关数据。

相关问题