gpt4 book ai didi

asp.net - Application_Start() 在 IIS7.5 托管的 MVC 5 应用程序中调用两次

转载 作者:行者123 更新时间:2023-12-04 11:04:32 25 4
gpt4 key购买 nike

将我所有的解决方案移到新安装的机器上(这让我认为这是一个配置问题)后,我的 MVC 5 Web 应用程序现在遇到了这个问题。

当我构建我的 web 应用程序 (VS 2013) 时,这当然会重新生成所有 web 代码,IIS 将在下一页加载时重新启动应用程序。但是现在看来,当我转到我的开始/登录页面时,Application_Start() 会按预期触发,但是当提交页面时,在到达 HttpPost 方法之前,整个应用程序似乎再次启动(Application_Start 再次运行)。第二次开始似乎发生在第一个 Application_End() 被调用之前......但无论顺序如何,我都不知道为什么现在这是一个问题。

检查 Application_End() 中的应用程序关闭原因,我得到了臭名昭著的模糊(显然完全没有记录)“BuildManagerChange”……MSDN 给出了一些可笑的模糊描述。

有没有人知道为什么在将我的开发环境加载到新机器上之后会开始。两台机器都是运行 IIS7.5 的 Win7 Pro,我相信 IIS 配置与旧机器相同(虽然,显然不是??)。机器之间的源代码/web.config/etc 没有改变。

我能找到的关于这个问题的唯一文档是关于使用 IISExpress,但是我使用的是随 Win7 pro 安装的标准 IIS7.5。

编辑:从网站的整个启动过程中删除所有自定义代码,并将我的 LoginController 恢复到原来的简单形式(无自定义代码)后,这种情况仍然会发生。

最佳答案

好吧,在这上面浪费 2 天很有趣!但是,这已经解决了。运行 procmon 表明 mcshield.exe (McAfee AV) 正在访问 hash.web。显然,实时“访问扫描器”会检查 asp.net 缓存,并且 IIS 以某种方式意识到这一点并认为它需要再次重建站点。出于某种原因,McAfee 在第一次之后不会检查它,因此它在第二次构建/重新启动后正常运行。我在 c:\Windows\Microsoft.NET 文件夹中添加了扫描仪排除项,这似乎解决了问题。 ——

关于asp.net - Application_Start() 在 IIS7.5 托管的 MVC 5 应用程序中调用两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29896760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com