Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.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# 使用mvc4发送json的最佳选项是什么?_C#_Json_Asp.net Mvc 4_Actionresult - Fatal编程技术网

C# 使用mvc4发送json的最佳选项是什么?

C# 使用mvc4发送json的最佳选项是什么?,c#,json,asp.net-mvc-4,actionresult,C#,Json,Asp.net Mvc 4,Actionresult,我想知道这些选项中哪一个是使用C返回json对象的最佳选项: 备选案文1: public EmptyResult GetImages() { /*operations*/ ControllerContext.HttpContext.Response.AddHeader("content-type", "application/json"); ControllerContext.HttpContext.Response.Write(JsonConvert.Serialize

我想知道这些选项中哪一个是使用C返回json对象的最佳选项:

备选案文1:

public EmptyResult GetImages() {
    /*operations*/
    ControllerContext.HttpContext.Response.AddHeader("content-type", "application/json");
    ControllerContext.HttpContext.Response.Write(JsonConvert.SerializeObject(images));
    return new EmptyResult();
}
或选择2:

public EmptyResult GetImages() {
    /*operations*/
    return Json(images);
}

根据我的经验,肯定是这样的:

public JsonResult GetImages() 
{
    //operations
    return Json(images);
}

您最好的选择是使用专门为这些需求设计的伟大框架;WebAPI

创建一个Api控制器

public class ApiTestController : ApiController
{
    public IEnumerable<Image> GetImages()
    {
        return yourDataAccess.GetAllImages()                            
    }
}

为什么你会使用第一种方法?为什么不能用简单的直觉来回答?如果对用户的问题没有建设性,为什么要发表评论?他显然不太精通MVC,或者,据我们所知,他根本不懂编程。你的评论没有他最初的解决方案那么直观,但不是用EmptyResult。完整并发布完整的方法。@HenkHolterman在您键入该注释时,我确实对其进行了更改,哈,这似乎有点过分,特别是考虑到我们不知道他的其余实现中还发生了什么。WebAPI是一个轻量级框架,wcf rest将过分,但我不同意webapi控制器的说法。分离关注点也是一种很好的做法,使控制器不受渲染视图/局部视图的影响