Visual Studio 2010中的global.asax.cs在哪里

在我安装的模板中,我没有全局应用程序类代码隐藏。 我只有Global.asax。 我觉得使用Global.asax.cs更舒服。

  1. 为什么我不再看到它了?
  2. 如何重新创建Global.asax.cs?

那是因为您创建了一个Web站点而不是Web应用程序。 我建议您使用预先配置的Web应用程序模型,但如果您需要使用网站,则可以执行以下操作:

~/Global.asax

 <%@ Application CodeFile="Global.asax.cs" Inherits="AppName.MyApplication" Language="C#" %> 

~/Global.asax.cs

 namespace AppName { public partial class MyApplication : System.Web.HttpApplication { protected void Application_Start() { } } } 

现在在VS中重新打开您的网站。

是@ Darin的答案是对的,可以在Web应用程序中看到cs / vb文件,但在网站中你不能有单独的cs / vb文件。

Global.asax没有cs文件,但你可以编写代码….

  

实际上在VS 2010标准网站中,Global.asax的设计不存在代码隐藏文件。 那么该怎么办? 您必须使用这样的内联代码模型。

 <%@ Application Language="C#" %> <%@ Import Namespace="System.Web.Routing" %>  

按Ctrl + Shift + A并从列表中添加全局应用程序类

前言

我无法理解Darin的答案,因为他没有遵守全球级的命名标准,并且应该得到应有的尊重。 我需要一个VS2005的解决方案,而不是2010年,但我相信这个解决方案永远不会有效。

在asp.net 2.0中为Global.asax文件添加CodeBehind

删除任何当前的Global.asax和Global.cs文件或尝试解决此问题。

好的,一旦消失,转到项目的根文件夹,右键单击并选择Add New Item …

选择Global Class,然后单击OK

现在再次返回根文件夹,右键单击并选择一个新类

将此类命名为Global.cs

是的 – 允许它保存在app_code文件夹中。 不要说不,并允许它放在根文件夹中。 它必须位于 app_code文件夹中。

编辑Global.asax文件并剪切(剪切/粘贴) 标记内的代码。 该文件应如下所示,并添加Inherits标记。

 <%@ Application Language="C#" Inherits="Global" %>  

转到app_code中的global.cs文件,然后粘贴从Global.asax文件中删除的代码。

app_code中的global.cs文件现在看起来像这样......

 ///  /// Summary description for Global ///  public class Global : System.Web.HttpApplication { public Global() { // // TODO: Add constructor logic here // } void Application_Start(object sender, EventArgs e) { // Code that runs on application startup } void Application_End(object sender, EventArgs e) { // Code that runs on application shutdown } void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs } void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started } void Session_End(object sender, EventArgs e) { // Code that runs when a session ends. // Note: The Session_End event is raised only when the sessionstate mode // is set to InProc in the Web.config file. If session mode is set to StateServer // or SQLServer, the event is not raised. } } 

现在我们有一个带有类名的Global.asax文件和代码隐藏文件Global.asax.cs。 通过这样做,我们可以继续访问网站中的任何位置的静态变量。

它们两个文件相同“global.asax”与网站相关,“global.asax.cs”与Web应用程序相关。 编码标准在两者中都是相同的

您不需要创建新的glabal库类,因为在创建新的Web应用程序或网站时,您的应用程序本身在解决方案资源管理器中已经有一个名为global.asax.cs的项目。