C#-ASP.NET MVC 4 API的终结点没有响应
作者:互联网
我是ASP.NET MVC4的新手,但有一个我无法解决的问题.
我有一个简单的GET端点,我想返回所有预置站.
当我尝试到达此端点时,没有响应,甚至没有超时.我的API在其他端点上运行良好.
以下是与此端点相关的方法内的代码:
[Route("api/Prestations")]
// GET: api/Prestations
/// <summary>
/// Liste de toutes les prestations
/// </summary>
/// <returns></returns>
[ResponseType(typeof(List<Prestation>))]
public List<Prestation> GetPrestations()
{
return db.Prestations.ToList();
}
我根本看不出为什么这不起作用.
一些帮助将不胜感激.
谢谢 !
解决方法:
根据这篇文章Handling Larger JSON String Values in .NET and Avoiding Exceptions,您可以尝试通过更改web.config来增加返回的JSON字符串的大小:
<configuration>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="86753090" />
</webServices>
</scripting>
</system.web.extensions>
</configuration>
您也可以尝试使用Newtonsoft.Json序列化结果,然后返回内容查看其是否有效.
[ResponseType(typeof(List<Prestation>))]
public ActionResult GetPrestations()
{
var presentations = db.Prestations.ToList();
return Content(JsonConvert.Seriazlize(presentations), "application/json");
}
但是总的来说,您不希望将整个表中的数据返回给客户端,因为它可能非常庞大并且包含数百万条记录.因此,您宁愿实现分页:
[ResponseType(typeof(List<Prestation>))]
public List<Prestation> GetPrestations(int skip = 0, int take = 100)
{
return db.Prestations.OrderBy(p => p.IdPrestation).Skip(skip).Take(take).ToList();
}
标签:entity-framework-6,asp-net-mvc-4,c 来源: https://codeday.me/bug/20191211/2106139.html