代码之家  ›  专栏  ›  技术社区  ›  Aleksa Ristic

手动创建全局。尽快。cs文件不工作

  •  3
  • Aleksa Ristic  · 技术社区  · 8 年前

    我有一个网站项目,我已经开始开发api(至少正在尝试)。

    问题在于创建 Global.asax 文件因为这是 Web Site Project ,当我创建 Global Application Class 它只创建 全球的asax公司 没有 Global.asax.cs

    经过一些研究,我发现我需要手动操作,所以我创建了 全球的尽快。反恐精英 文件,并自动将其设置在我已创建的 全球的asax公司 我认为这很好。

    问题是我认为我的代码 全球的尽快。反恐精英 没有运行。我试着把断点放进去 Global.asax - Application_Start function 它停在那里(这意味着它正在工作),但当我在 全球的尽快。反恐精英 ,它不会停止。

    我已尝试添加 <%@ Application Language="C#" Inhertis="Global.asax"%> 在…内 全球的asax公司 但我得到的是 Could not load type 'Global.asax'

    我该怎么办?

    编辑:

    全球的尽快。反恐精英:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Http;
    using System.Web.Routing;
    
    /// <summary>
    /// Summary description for Global
    /// </summary>
    /// 
    public class Global
    {
        public Global()
        {
            //
            // TODO: Add constructor logic here
            //
        }
    
        void Application_Start(object sender, EventArgs e)
        {
            RouteTable.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = System.Web.Http.RouteParameter.Optional });
        }
    }
    
    1 回复  |  直到 8 年前
        1
  •  2
  •   p e p    8 年前

    我创建了一个网站项目来测试这一点(由于我不经常使用网站项目,所以不确定细节)。我有 Global.asax.cs 中的类 App_Code 文件夹(VS建议的位置)。通过以下设置,我将在全局中遇到断点。尽快。反恐精英:

    您的全球。asax应该这样读,假设类名 全球的尽快。反恐精英 Global (您可以自定义):

    <%@ Application Language="C#" CodeBehind="App_Code\Global.asax.cs" Inherits="Global" %>
    

    重要的是,你的班级 全球的 必须继承自 System.Web.HttpApplication :

    public class Global : System.Web.HttpApplication
    {
        public Global()
        {
        }
    
        protected void Application_Start() 
        {
            Trace.TraceInformation("In application start");
        } 
    }
    
    推荐文章