【发布时间】:2016-10-24 04:14:51
【问题描述】:
正如标题所说,我没有让 MVC 控制器正确返回 HttpResponseMessage。
[HttpGet]
[AllowAnonymous]
public HttpResponseMessage GetDataAsJsonStream()
{
object returnObj = new
{
Name = "Alice",
Age = 23,
Pets = new List<string> { "Fido", "Polly", "Spot" }
};
var response = Request.CreateResponse(HttpStatusCode.OK);
var stream = new MemoryStream().SerializeJson(returnObj);
stream.Position = 0;
response.Content = new StreamContent(stream);
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
return response;
}
这是我使用 MVC 控制器得到的:
使用 WebApi ApiController 时效果很好
如果我错了,请纠正我我认为问题是 MVC 正在序列化 HttpResponseMessage 而不是返回它。
顺便说一下,我使用的是 MVC 5。
提前致谢。
编辑 我希望在返回大型数据集时能够灵活地直接写入响应流。
【问题讨论】:
标签: asp.net-mvc asp.net-web-api json.net