我正在开发一个我自己创建的项目。看来该项目是作为WebAPI项目意外创建的,而不是MVC项目。
我遇到了会话数据无法正确处理的问题 - 这是因为该项目不是MVC项目。
是否有通过修改引用而不是创建新的MVC项目并将所有文件迁移过来将项目迁移到MVC的相对简单的方法?
答案 0 :(得分:3)
您可以在Web API项目本身中创建ASP.NET MVC控制器和视图。只需从Controller
类继承您的控制器(在System.Web.mvc中)。
如果您创建一个新的Web API项目(使用VS 2012,MVC4),您可以看到其中包含一个普通的MVC控制器(HomeController)和一个API控制器(ValuesController)。
Controller
System.Web.Mvc
类
ApiController
System.Web.Http
类
答案 1 :(得分:1)
唯一的区别是您继承的控制器,或者您只是从本机MVC Controller类继承。该评论使该路线存档于App_Start / WebApiConfig.cs。例如:
namespace MyAplication.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
Class WebApiConfig.cs
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
//config.Routes.MapHttpRoute(
//name: "API Default",
//routeTemplate: "{controller}/{action}/{id}",
//defaults: new { id = RouteParameter.Optional }
//);
}
}