我想挂钩应用程序启动和停止事件以跟踪我的IIS托管工作流服务是否正在运行。理想情况下,当我通过启动AppPool或IIS应用程序(如果多个服务共享同一个AppPool)启动工作流服务时,我想将事件记录到数据库中。当我通过停止AppPool或IIS应用程序停止我的工作流服务时,我想将一个事件记录到数据库中。
有办法做到这一点吗?
答案 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),但我认为这将有助于你完成您的工作流程和服务监控目标。
答案 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();
}
这会将您想要的任何内容写入文本文件,然后您可以使用简单的服务读取该文本并获取相关数据。