Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.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# 如何更改异步控制器的ASP MVC3完成方法?_C#_Asp.net Mvc 3_Async Await - Fatal编程技术网

C# 如何更改异步控制器的ASP MVC3完成方法?

C# 如何更改异步控制器的ASP MVC3完成方法?,c#,asp.net-mvc-3,async-await,C#,Asp.net Mvc 3,Async Await,目前,我必须为所有异步方法提供相同的完整方法。例如: public JsonResult <MethodName>Completed(object result) { return Json(result); } 公共JsonResult已完成(对象结果) { 返回Json(结果); } 如何将其他异步方法设置为仅使用一个已完成的方法,比如说publicjsonresult CompletedMethod(objectresult)?很遗憾,您不能这样做。这是因为ASP.

目前,我必须为所有异步方法提供相同的完整方法。例如:

public JsonResult <MethodName>Completed(object result)
{
    return Json(result);
}
公共JsonResult已完成(对象结果) { 返回Json(结果); }
如何将其他异步方法设置为仅使用一个已完成的方法,比如说
publicjsonresult CompletedMethod(objectresult)

很遗憾,您不能这样做。这是因为ASP.NET MVC遵循约定优先于配置的原则

这就是为什么您必须为异步操作创建所有已完成的方法

您可以通过将所有完整方法中需要执行的逻辑封装到私有方法中并返回它来简化代码

private JsonResult CompletedLogic(object param)
{ ... }

public JsonResult FooCompleted(object result)
{return CompletedLogic(result);}

public JsonResult BooCompleted(object result)
{return CompletedLogic(result);}