asp.net - ASP.NET Web 应用程序 Application_Start 未在 IIS 中调用
问题描述
我有一个在 IIS 8 上运行的 ASP.NET Visual Basics Web 应用程序,它需要在 Global.asax 中调用 Application_Start 以初始化多个变量。但是,据我所知,该方法永远不会通过远程调试或日志记录被调用。该应用程序在经典模式下运行。
如果我在 Visual Studio 上本地运行它,我发现它可以工作
解决方案
Application pool
withClassic mode
对此功能没有影响。在我这边, application_Start 事件正常工作。
请确保App_global.asax.dll
位于 BIN 文件夹中。我们可以清理、重建项目并再次部署它。此外,在 Application_start 事件期间,我们最好不要写入 IIS 日志或写入/修改数据库,这通常会导致权限问题,这似乎不起作用。
此外,您可以使用 IIS 日志来验证结果。
public class Global : System.Web.HttpApplication
{
public static int a = 34;
protected void Application_Start(object sender, EventArgs e)
{
a = a + 45;
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.AppendToLog("Application BeginRequest...."+a.ToString());
}
}
这将在 IIS 日志中生成一行记录。
2020-08-26 05:49:10 ::1 POST /WebForm1.aspx Application+BeginRequest....79 8001 - vabqia969VM Mozilla/5.0+(Windows+NT+10.0;+Win64;+x64)+AppleWebKit/537.36 +(KHTML,+like+Gecko)+Chrome/84.0.4147.135+Safari/537.36 http://localhost:8001/WebForm1.aspx 200 0 0 3
请参考以下链接进行故障排除。
Application_start 不工作
推荐阅读
- php - laravel 重定向到页面的某些部分
- r - R - kableExtra - 无法在包含字符串的单元格中插入 html 格式的换行符
- java - spring方法验证中如何验证方法参数默认为NotNull?
- javascript - 如何使用 jquery 在单击时更改锚标记的文本?
- php - 将整数值除以 for 方法并显示开始和结束限制
- ios - ios输入边框缺少焦点
- openstack - 启用 Ceph 后无法创建临时实例
- encryption - 对这个加密谜题有什么建议吗?
- javascript - 如何在删除节点之前检查节点是否有 childNode?
- java - 重命名某个项目时出现“Maven Java EE 配置问题”