Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC6中的POCO控制器_C#_Asp.net_Asp.net Mvc_Poco_Asp.net Core Mvc - Fatal编程技术网

C# MVC6中的POCO控制器

C# MVC6中的POCO控制器,c#,asp.net,asp.net-mvc,poco,asp.net-core-mvc,C#,Asp.net,Asp.net Mvc,Poco,Asp.net Core Mvc,说明您可以通过注入iactionresultper来创建POCO控制器: public class HomeController { // Helpers can be dependency injected into the controller public HomeController(IActionResultHelper resultHelper) { Result = resultHelper; } private IActi

说明您可以通过注入
iactionresultper
来创建POCO控制器:

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!" });
    }
}
我正在尝试实现这个,但是,我找不到这个接口。这似乎是在


当前创建POCO控制器的正确方法是什么?

是的,这段代码大约在一个月前被删除,看起来他们正在使用一种不同的基于属性的方法来创建POCO控制器。没有iActionResultPer,您只需创建新的ActionResult实例

如果你仔细研究这些问题,你就会对正在发生的事情有一种感觉

POCO控制器中似乎使用了一个新的[Activate]属性。看看这个例子

还有这个样品


显然,新的DefaultControllerFactory要求POCO在控制器的命名中仍然使用控制器后缀,但如果控制器派生自控制器类,则可以对其进行任何命名。

自2014-10-06年Visual Studio 14的CTP发行版起,注入服务的方式是:

public class HomeController
{
    // Use the ActivateAttribute to inject services into your controller
    [Activate]
    public ViewDataDictionary ViewData { get; set; }

    public ActionResult Index()
    {
        return new ViewResult() { ViewData = ViewData };
    }
}

来源:

这个来自asp.net论坛的答案澄清了@WiktorZychla的情况-是的,这并没有澄清太多。。只是iActionResultPer不见了,你像往常一样创造了结果。@ErikFunkenbusch:这澄清了一切。源代码注释说,
属性ActionContext由来自DefaultControllerFactory的InitializeControl注入。
。该示例显示,
ActionContext
允许您访问
HttpContext
以及通常通过继承获得的其他基础架构内容。