Ich versuche, meine Web-API lange Request-Strings akzeptieren, aber egal, was ich versuche, bekomme ich eine 400 Bad Request. Meine Methode wird über zugegriffen:Wie Parameterlänge in WEB-API zu erhöhen
Der Code ist
[HttpGet]
public IHttpActionResult method(string input) {
//Do Stuff
return Ok();
}
Die folgende Art von Anruf wird gut funktionieren.
jedoch so etwas wie:
http://server/api/controller/SuperHugeReallyReallyLongInputString
Ergebnisse in einem 400 Bad Request.
Aus meiner Sicht ist dies, weil die maximale Länge, die meine Eingabe-Argument haben kann. Ich habe versucht, dies auf die folgenden Arten zu erhöhen, die in anderen Stack-Überlauf-Posts gefunden werden, aber keiner von ihnen funktioniert.
<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
Keine der oben genannten scheinen keine Auswirkungen auf die maximale Länge zu haben, die eingegeben werden können. Was vermisse ich?
Dank
Das Problem ist nicht maximal zulässigen Inhaltslänge. Es ist die URL-Länge. Was bei etwa 2.000 Zeichen ausmacht. Möglicherweise müssen Sie Ihre Eingabe im Hauptteil der Anfrage POST. – Nkosi
Danke. Ich habe versucht, einen schnellen Proof of Concept für etwas zu bauen und habe gehofft, dass ich das schaffen könnte, anstatt mit CORS zu kämpfen. – Dave