全局中的Application_Start事件.不开火
本文关键字:事件 开火 Start Application 全局 | 更新日期: 2023-09-27 18:13:54
我创建了一个每分钟运行一次的任务,并决定将其放在Global.asax
文件中的Application_Start
事件中,以便在应用程序启动时立即执行。当我运行它时(没有调试和在调试模式下),它不会启动。
我试着把它放在Session_Start
事件只是为了确保它不是来自Global.asax
文件的标记,它工作得很好。但不幸的是,它必须是在应用程序启动时,而不是在会话启动时。
这是我的全局。asax (ASP。. NET 2.0, VS2008)
<%@ Application Language="C#" Inherits="Microsoft.Practices.CompositeWeb.WebClientApplication" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="TaskManager" %>
<script runat="server">
private TaskScheduler _scheduler = null;
void Application_Start(object sender, EventArgs e)
{
XmlDocument xml = new XmlDocument();
xml.Load(Server.MapPath(@"'Config'tasks.config"));
XmlNodeList nodes = xml.SelectNodes("Tasks/Task");
this._scheduler = new TaskScheduler(nodes);
this._scheduler.StartTasks();
}
void Application_End(object sender, EventArgs e)
{
this._scheduler.StopTasks();
}
void Application_Error(object sender, EventArgs e)
{
// Code that runs when an unhandled error occurs
}
void Session_Start(object sender, EventArgs e)
{
}
void Session_End(object sender, EventArgs e)
{
// Code that runs when a session ends.
// Note: The Session_End event is raised only when the sessionstate mode
// is set to InProc in the Web.config file. If session mode is set to StateServer
// or SQLServer, the event is not raised.
}
</script>
抱歉-由于rep我不能评论-但如果有麻烦你可以求助于System.Diagnostics.Debugger.Launch();结合以上任何一种(编辑网页)。cofig等)