MVC项目启动
MVC project startup
我有一个现有的 MVC 项目,它有一个淘汰赛前端和一个 WebAPI 后端。
由于需求的变化,我不得不从项目中删除所有后端文件,只留下前端文件。
现在我需要一个 WebAPI 控制器回到项目中。
为了配置 WebAPI,我需要在 C# 代码中找到一个入口点来触发配置方法。
我的理解是,如果项目有一个 Global.asax 文件,Application_Start()
将在启动时自动触发。而且如果我有一个 startup.cs 文件和 owinStartup
属性,这也会默认触发。
所以我从另一个项目中复制了这两个文件并根据需要进行了编辑,但是启动时都没有触发这些文件。
我假设我缺少某种配置,但不确定是什么?
这是我的 startup.cs 文件:
using System.Web.Http;
using Microsoft.Owin;
using Newtonsoft.Json;
using Owin;
[assembly: OwinStartup(typeof(ClearviewLocal_ONFrontEnd_Rest.Startup))]
namespace ClearviewLocal_ONFrontEnd_Rest
{
/// <summary>
/// Application startup
/// </summary>
public class Startup
{
/// <summary>
/// Configure app
/// </summary>
/// <param name="app">Owin AppBuilder</param>
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration(); //breakpoint here that is not being hit
}
}
}
这里是 Global.asax 文件:
using System;
using System.Web;
using System.Web.Http;
namespace ClearviewLocal_ONFrontEnd_Rest
{
/// <summary>
///
/// </summary>
public class WebApiApplication : HttpApplication
{
/// <summary>
///
/// </summary>
protected void Application_Start()
{
var config = new HttpConfiguration(); //Breakpoint here
}
}
}
我看过这个问题的答案:OwinStartup not Starting ... Why? 但这段代码从未出现在 Web.Config
另外,我没有从项目中删除任何引用
这个问题的公认答案 OwinStartup not firing 似乎解决了我的问题:
”
确保你已经在项目中安装了 Microsoft.Owin.Host.SystemWeb 包。 IIS 托管应用程序中的启动检测需要此包。
“
我有一个现有的 MVC 项目,它有一个淘汰赛前端和一个 WebAPI 后端。
由于需求的变化,我不得不从项目中删除所有后端文件,只留下前端文件。
现在我需要一个 WebAPI 控制器回到项目中。
为了配置 WebAPI,我需要在 C# 代码中找到一个入口点来触发配置方法。
我的理解是,如果项目有一个 Global.asax 文件,Application_Start()
将在启动时自动触发。而且如果我有一个 startup.cs 文件和 owinStartup
属性,这也会默认触发。
所以我从另一个项目中复制了这两个文件并根据需要进行了编辑,但是启动时都没有触发这些文件。
我假设我缺少某种配置,但不确定是什么?
这是我的 startup.cs 文件:
using System.Web.Http;
using Microsoft.Owin;
using Newtonsoft.Json;
using Owin;
[assembly: OwinStartup(typeof(ClearviewLocal_ONFrontEnd_Rest.Startup))]
namespace ClearviewLocal_ONFrontEnd_Rest
{
/// <summary>
/// Application startup
/// </summary>
public class Startup
{
/// <summary>
/// Configure app
/// </summary>
/// <param name="app">Owin AppBuilder</param>
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration(); //breakpoint here that is not being hit
}
}
}
这里是 Global.asax 文件:
using System;
using System.Web;
using System.Web.Http;
namespace ClearviewLocal_ONFrontEnd_Rest
{
/// <summary>
///
/// </summary>
public class WebApiApplication : HttpApplication
{
/// <summary>
///
/// </summary>
protected void Application_Start()
{
var config = new HttpConfiguration(); //Breakpoint here
}
}
}
我看过这个问题的答案:OwinStartup not Starting ... Why? 但这段代码从未出现在 Web.Config
另外,我没有从项目中删除任何引用
这个问题的公认答案 OwinStartup not firing 似乎解决了我的问题:
” 确保你已经在项目中安装了 Microsoft.Owin.Host.SystemWeb 包。 IIS 托管应用程序中的启动检测需要此包。 “