ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#-ASP.NET MVC 4 API的终结点没有响应

2019-12-11 03:05:28  阅读:219  来源: 互联网

标签:entity-framework-6 asp-net-mvc-4 c


我是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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有