我有网站项目,我已经开始开发api(至少尝试)。
问题在于创建Global.asax
文件。由于这是Web Site Project
,因此当我创建Global Application Class
时,它仅创建Global.asax
而不会Global.asax.cs
经过一些研究,我发现我需要手动完成,所以我创建了Global.asax.cs
文件,并自动将其设置在我已经创建的Global.asax
下,我认为这是好的。
问题是我认为我Global.asax.cs
内的代码没有运行。我尝试在Global.asax - Application_Start function
内放置断点并停在那里(这意味着它正在工作),但是当我在Global.asax.cs
执行相同操作时,它不会停止。
我尝试在<%@ Application Language="C#" Inhertis="Global.asax"%>
内添加Global.asax
,但我得到的是Could not load type 'Global.asax'
我该怎么办?
编辑:
的Global.asax.cs:
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 });
}
}
答案 0 :(得分:0)
我创建了一个网站项目来测试它(由于我不使用网站项目,因此不确定细节)。我在Global.asax.cs
文件夹(VS推荐的位置)中有App_Code
个班级。通过以下设置,我在Global.asax.cs中找到了断点:
你的Global.asax应该是这样的,假设Global.asax.cs
中的类名是Global
(你可以自定义):
<%@ Application Language="C#" CodeBehind="App_Code\Global.asax.cs" Inherits="Global" %>
重要的是,您的班级Global
必须继承自System.Web.HttpApplication
:
public class Global : System.Web.HttpApplication
{
public Global()
{
}
protected void Application_Start()
{
Trace.TraceInformation("In application start");
}
}