Я пытаюсь заставить свой WEB API принимать длинные строки запроса, но независимо от того, что я пытаюсь, я получаю 400 Bad Request. Мой метод доступен через:Как увеличить длину параметра в WEB API
Код
[HttpGet]
public IHttpActionResult method(string input) {
//Do Stuff
return Ok();
}
Следующий тип вызова будет работать нормально.
Однако что-то вроде:
http://server/api/controller/SuperHugeReallyReallyLongInputString
результатов в 400 Bad Request.
С моей точки зрения, это потому, что существует максимальная длина, которую может иметь мой входной аргумент. Я попытался увеличить это следующим образом, найденным в других сообщениях переполнения стека, но никто из них не работает.
<httpRuntime targetFramework="4.5.2" maxRequestLength="4096"/> //in web.config
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="52428800" />
<!--50MB-->
</requestFiltering>
</security> //also in web.config
config.Formatters.FormUrlEncodedFormatter.ReadBufferSize = int.MaxValue/10; //in WebApiConfig.cs
Ничего из вышеперечисленного, похоже, не влияет на максимальную длину ввода. Что мне не хватает?
Благодаря
Проблема не в максимально допустимой длине содержимого. Это длина URL-адреса. Максимальное значение составляет около 2000 символов. Возможно, вам понадобится POST ваш вход в тело запроса. – Nkosi
Спасибо. Я пытался построить быстрое доказательство концепции для чего-то и надеялся, что смогу сделать это, вместо того, чтобы сражаться с CORS. – Dave