C# OwinStartup和MVC

C# OwinStartup和MVC,c#,asp.net,.net,C#,Asp.net,.net,这是一个带有OwinStartup类的.NET Framework 4.6 Web API项目: [程序集:OwinStartuptypeofAbc.Startup] 名称空间Abc { 公营创业 { 公共void配置AppBuilder应用程序 { var config=新的HttpConfiguration; config.UseUnity; config.ConfigureWebApi; app.ConfigureOAuth; app.UseCorsCorsOptions.AllowAll

这是一个带有OwinStartup类的.NET Framework 4.6 Web API项目:

[程序集:OwinStartuptypeofAbc.Startup] 名称空间Abc { 公营创业 { 公共void配置AppBuilder应用程序 { var config=新的HttpConfiguration; config.UseUnity; config.ConfigureWebApi; app.ConfigureOAuth; app.UseCorsCorsOptions.AllowAll; app.UseWebApiconfig; } } 我想提供一些页面,因此我添加了MVC Nuget并创建了此控制器:

使用System.Web.Mvc; 名称空间Abc.Controllers { [路由预览页] 公共类PageController:控制器 { [HttpGet、Routecontact、AllowAnonymous] public System.Web.Mvc.ActionResult联系人 { 返回视图; } } } 当我访问/page/contact时,它给出404:


我认为MVC软件包在启动时没有“加载”。怎么做?

ASP.NET MVC依赖于System.Web,这会阻止MVC在OWIN上运行。如果您需要自托管,可以使用ASP.NET Core,它没有此限制。

您启用了属性路由吗?它为Api控制器启用,但我不知道如何启用它对于Mvc控制器。在rountconfig中添加routes.MapMVCattributerRoutes