我正在處理一個不是由我自己創建的項目。看起來該項目被意外創建爲WebAPI項目而不是MVC項目。如何將WebAPI修改爲MVC應用程序?
我遇到了未正確處理會話數據的問題 - 這似乎是由於該項目不是MVC項目。
是否有任何相對簡單的方法通過修改引用而不是創建一個新的MVC項目並遷移所有文件到項目遷移到MVC?
我正在處理一個不是由我自己創建的項目。看起來該項目被意外創建爲WebAPI項目而不是MVC項目。如何將WebAPI修改爲MVC應用程序?
我遇到了未正確處理會話數據的問題 - 這似乎是由於該項目不是MVC項目。
是否有任何相對簡單的方法通過修改引用而不是創建一個新的MVC項目並遷移所有文件到項目遷移到MVC?
您可以在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
唯一的區別繼承繼承是你繼承的控制器,或者你只是繼承本地MVC控制器類。該評論使得該路線在文件App_Start/WebApiConfig.cs上。例如:
namespace MyAplication.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
類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 }
//);
}
}
而使用的NuGet安裝[微軟ASP.NET MVC包(http://www.nuget.org/packages/Microsoft.AspNet .Mvc) – rwisch45
或多或少正確。 Web.config文件也有所不同。我的會話問題需要將標記設置爲(這是MVC中的默認值)才能使我的代碼正常工作。 –
SamuelKDavis