ASP.NET vNext Overview说你可以通过注入(inject)IActionResultHelper
来创建POCO Controller :
public class HomeController
{
// Helpers can be dependency injected into the controller
public HomeController(IActionResultHelper resultHelper)
{
Result = resultHelper;
}
private IActionResultHelper Result { get; set; }
public ActionResult Index()
{
return Result.Json(new { message = "Poco controllers!" });
}
}
我正在尝试实现这个,但是,我找不到这个接口(interface)。看起来是 no longer在 the source code .
当前创建 POCO Controller 的正确方法是什么?
最佳答案
是的,这段代码大约一个月前被删除,看起来他们正在使用一种不同的基于属性的方法来创建 POCO Controller 。没有 IActionResultHelper,您只需创建新的 ActionResult 实例...
如果您仔细研究这些问题,您就会了解正在发生的事情。
https://github.com/aspnet/Mvc/issues/316 https://github.com/aspnet/Mvc/issues/597 https://github.com/aspnet/Mvc/issues/617
POCO Controller 中似乎使用了一个新的 [Activate] 属性。请参阅此示例。
https://github.com/aspnet/Mvc/blob/dev/samples/MvcSample.Web/Home2Controller.cs
还有这个示例
https://github.com/aspnet/Mvc/blob/dev/samples/MvcSample.Web/SimplePocoController.cs
显然,新的 DefaultControllerFactory 要求 POCO 在 Controller 的命名中仍然使用 Controller 后缀,但如果 Controller 派生自 Controller 类,则可以将其命名为任何名称。
关于c# - MVC 6 中的 POCO Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24960759/