繁体   English   中英

发布时未触发Application_Start事件

[英]Application_Start event not firing when published

我研究了很多,但一无所获...

发布站点时未触发Application_Start事件。 但是,它在localhost中工作正常。 发布后,我将App_global.asax.dll和App_GlobalResources.com编译到Bin文件夹中,并且在根目录下也具有PrecompiledApp.config。

首次运行应用程序时,将触发Application_Start事件。 它与重新启动计算机或重新启动IIS无关。 您是否尝试过制作一个新的示例应用程序并测试该应用程序的Application_Start事件是否运行良好。 如果是,则您的应用程序配置已损坏。

也许重新启动应用程序池可以为您提供帮助。

您的代码,在其他注释中告诉您:

protected void Application_Start(Object sender, EventArgs e) {
    logfile.ErrorLog("UserErrorLog\\UserErrorLog.txt", "Application_Start method executed at " + System.DateTime.Now);
    DoSomeWork();
    logfile.ErrorLog("UserErrorLog\\UserErrorLog.txt", "Application_Start method execution ends at " + System.DateTime.Now);
}

在正常的IIS安装程序中,写入UserErrorLog\\\\UserErrorLog.txt会出现问题,它将尝试在%SYSTEMROOT%\\System32\\Inetsrv写入IIS的执行目录。 您需要指定一个绝对路径( C:\\Logs\\... )或使用HostingEnvironment.MapPath解析基于应用程序的路径( HostingEnvironment.MapPath("~/App_Data/Logs/...")

可能是此事件已按预期触发,但是由于您正在执行预编译的Web,并且处于发布模式,因此在尝试远程调试应用程序的情况下没有调试符号。

另一个可能的原因是触发,但是Application_Start处理程序中引发了一些异常,并且由于在每个应用程序生命周期中都调用了此异常,因此您需要回收应用程序的池或重新启动整个IIS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM