global.asax和global.asax.cs之间有什么区别

告诉我global.asax和global.asax.cs之间的区别?

如果我在我的解决方案资源管理器中单击这两个文件,它只会转到服务器(asax.cs)方面,为什么以及如何? 我可以看到客户端(global.asax)页面吗?

Global.asax是标记文件,与“代码隐藏”文件.asax.cs一起使用。 但据我所知,标记文件使用不多(所有内容通常都会进入代码隐藏文件)。 但是,您可以在解决方案资源管理器中右键单击它,然后“查看标记”来查看它。

您无法向标记添加内容,只能添加几个属性:

<%@ Application Codebehind="Global.asax.cs" Inherits="WebApplication1.Global" Language="C#" %> 

MSDN文档似乎确认global.asax的唯一目的是添加/覆盖应用程序级事件的处理程序:

Global.asax文件(也称为ASP.NET应用程序文件)是一个可选文件,其中包含用于响应ASP.NET或HttpModules引发的应用程序级事件的代码。

您可以在代码隐藏文件中点击F7以显示.asax标记。

global.asax行为有点像aspx文件,在应用程序启动时进行编译。

您甚至可以将您的方法(如Application_Start )放在global.asax.中的script runat="server"元素中global.asax.

我怀疑这是好的做法,但这应该允许热编辑正在运行的应用程序(我猜它应该触发回收)然后它将被动态编译。

global.asax.cs就是所谓的global.asax的代码隐藏文件。 这两个文件之间没有真正的function差异。代码隐藏只是为了区分标记和服务器端代码之间的关注点。