我正在使用jQuery的自动完成功能.当我尝试检索超过17000条记录的列表(每条记录的长度不超过10条)时,它超出了长度并抛出错误:
异常信息:
异常类型:InvalidOperationException
异常消息:使用JSON JavaScriptSerializer进行序列化或反序列化时出错.字符串的长度超过maxJsonLength属性上设置的值.
我可以设置无限长度maxJsonLength的web.config?如果没有,我可以设置的最大长度是多少?
出于某种原因,Request.CreateResponse在VS2012中现在是"红色",当我将鼠标悬停在IDE的使用状态时
无法解析符号'CreateResponse'
这是ApiController类:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Web.Http.Filters;
using GOCApi.Attributes;
using GOCApi.Models;
using GOCApi.Models.Abstract;
using AttributeRouting;
using AttributeRouting.Web.Http;
namespace GOCApi.Controllers
{
[RoutePrefix("Courses")]
public class CoursesController : ApiController
{
private ICoursesRepository _coursesRepository { get; set; }
public CoursesController(ICoursesRepository coursesRepository)
{
_coursesRepository = coursesRepository;
}
[GET("{id}")]
public HttpResponseMessage Get(int id)
{
var course = _coursesRepository.GetSingle(id);
if (course == null)
return Request.CreateResponse(HttpStatusCode.NotFound, "Invalid ID");
return Request.CreateResponse(HttpStatusCode.OK, course);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当然,代码确实可以编译和工作,只是看到屏幕上的所有"红色"真的很烦人.此外,当我输入时,intellisense现在不起作用Request.CreateResponse …
我的应用程序是ASP.NET Core 1.0 Web API.如果我的控制器返回一个小字符串,一切正常.但是如果字符串长度超过32768,我收到以下错误消息:
--- End of stack trace previous location where exception was thrown ---
at System.Runtime.CompillerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompillerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.AspNetCore.Server.Kestrel.Internal.Htpp.Frame`1.<RequestProcessAsync>d__2.MoveNext()
Request Information
RequestID:440ed7db-0002-006f-742e-a28f82000000
RequestDate:Tue, 21 Mar 2017 11:30:40 GMT
StatusMessage:Bad Request
ErrorCode:PropertyValueTooLarge
Run Code Online (Sandbox Code Playgroud)
这是我的控制器:
[HttpGet]
[Produces("plain/text")]
public async Task<IActionResult> GetData()
{
return this.Ok(this.GetResponse());
}
private string GetResponse()
{
string retVal = string.Empty;
for (int i = 0; i < 32769; i++)
{
retVal = retVal + "a";
}
return retVal;
}
Run Code Online (Sandbox Code Playgroud)
完整的错误消息:
Microsoft.WindowsAzure.Storage.StorageException: BadRequest
at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.<ExecuteAsyncInternal>d__4`1.MoveNext() …Run Code Online (Sandbox Code Playgroud)