Global.asax.cs文件在哪里?

时间:2011-06-09 04:46:08

标签: c# asp.net .net visual-studio-2008 global-asax

我正在使用VS 2008.我已经从File-> New-> Website-> Asp.net网站创建了一个新的Asp.net网站项目。

现在我想将Global.asax以及.cs文件添加到项目中。所以我右键单击项目 - >添加新项目 - >全局应用程序类。然后我点击了添加按钮。

Global.asax文件添加了

下的内容
<%@ Application Language="C#" %>

 <script runat="server"%>

    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.

    }

</script>

这很好。但是Global.asax.cs文件在哪里?

由于

2 个答案:

答案 0 :(得分:52)

它不能正常创建;你需要自己添加它。

添加Global.asax
  • 右键点击您的网站 - &gt; 添加新项 - &gt; 全球应用类 - &gt;添加

您需要添加一个类

  • 右键点击App_Code - &gt; 添加新项 - &gt; 班级 - &gt;将其命名为Global.cs - &gt;添加

继承新生成的System.Web.HttpApplication并将创建的所有方法Global.asax复制到Global.cs,并将继承属性添加到Global.asax文件中。

您的 Global.asax 将如下所示: -

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

App_Code中的 Global.cs 将如下所示: -

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

    }
    /// Many other events like begin request...e.t.c, e.t.c
}

答案 1 :(得分:31)

那是因为您创建了一个Web站点而不是Web应用程序。 cs/vb文件只能在Web应用程序中看到,但在网站中您不能有单独的cs/vb文件。

编辑:在网站中,您可以添加cs文件行为,例如..

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

~/Global.asax.cs:

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