-1
我有一個MVC控制器已存在的ASP.NET MVC 4.0項目,但是我想使用類ApiController
來獲得一些新的功能。MVC4中ApiController的ControllerFactory
現有控制器工廠返回一個IController
對象,其中ApiController
不從其繼承。爲派生的控制器製造ApiController
衍生控制器的另一個控制器工廠並使兩個工廠共存的最佳方式是什麼?
ControllerBuilder.Current.SetControllerFactory((IControllerFactory)new BuilderControllers.BuilderControllerFactory());
public class BuilderControllerFactory :IControllerFactory
{
public IController CreateController(RequestContext requestContext, string controllerName)
{
string controllerType = string.Format("BuilderControllers.{0}Controller", controllerName);
IController controller = null;
try
{
controller = Activator.CreateInstance(Type.GetType(controllerType)) as IController;
}
catch (System.Exception x)
{
//-- handle any failed requests --
}
return controller;
}
}
TBH我是相當新的ASP.NET MVC我開始探索ApiController,因爲他們似乎調整更好地Backbone.js的。我得到您的代碼「System.Web.Http.GlobalConfiguration.Configuration」編譯錯誤是「財產」,而是使用像「類型」 –
您正在使用哪種MVC包的確切版本。你使用的是什麼版本的web api。您是使用nuget包還是GAC參考? – Gurpreet
mvc:4.0.01 api:2.0.0.0我使用GAC引用 –