更新global.asax,而不仅仅是global.asax.cs

本文关键字:asax global cs 不仅仅是 更新 | 更新日期: 2023-09-27 18:28:26

在本地发布文件夹中,我有Global.asaxGlobal.asax.cs,其中Global.asax未更新(日期为一个月前),Global.asax.cs已更新。

我检查了Global.asax文件的"构建操作",该文件在文件属性中设置为"内容"answers"始终复制"。

如何在发布命令上将global.asax与global.asax.cs一起更新?

更新global.asax,而不仅仅是global.asax.cs

Global.asax通常不会更改。Global.asax被编译成一个派生自Global.asax.csGlobal类的类。

你不必为此做任何事。服务器的编译器将自己获取它。您只需要将Global.asax复制到生产服务器,在那里Global.asax.cs将被编译为程序集。

请参阅MSDN:

在运行时,Global.asax被解析并动态编译为生成了从HttpApplication库派生的.NET Framework类班Global.asax文件本身经过配置对它的URL请求被自动拒绝;外部用户不能下载或查看其中编写的代码。

所以正如帕特里克已经提到的,没有必要改变它。编译器会选择它。

将更改保存到活动的Global.asax文件时,ASP.NET页面框架检测到文件已被更改。它完成了所有当前对应用程序的请求,发送application_OnEnd事件,并重新启动应用程序域。在里面效果,这将重新启动应用程序,关闭所有浏览器会话并刷新所有状态信息。当来自的下一个传入请求浏览器到达时,ASP.NET页面框架将进行重新分析和重新编译Global.asax文件并引发Application_OnStart事件。