wie stellen Sie keine Begrenzung auf maxBufferSize und maxReceivedMessageSize
Habe ich eine ASP.NET (C#) 4.0 WCF-Anwendung. Ich bekam die Meldung error:
Fehler : Die maximale Größe einer Nachricht Quote für eingehende Nachrichten (65536) wurde überschritten. Die Fangquote zu erhöhen, verwenden Sie die MaxReceivedMessageSize-Eigenschaft auf die entsprechende binding-element.
Ich stieg Sie in
maxBufferSize="2097152" maxBufferPoolSize="524288" maxReceivedMessageSize="2097152"
funktioniert es einwandfrei. Aber ich fürchte, die nächste Zeit auch sein mag, es wird über die Quote wieder.
Kann ich diese maxBufferSize
und maxReceivedMessageSize
ohne limit???
vielen Dank im Voraus
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie nicht setzen Sie ihn auf "no limit" - wie würden Sie behandeln eine unbegrenzt große Nachricht, eh?
Maximal können Sie bis zu 2 Milliarden (
int.MaxValue
im .NET) - das entspricht bis zu 2 GB (2'147'483'648 bytes) von Daten.Ist, dass genug für Ihre Bedürfnisse?
Keine. Kann man das nicht.
Stellen Sie Ihre Werte auf Max wie:
MaxBufferSize ist der Typ
int
. Also der max Wert, den es unterstützen kann, Int32.MaxValue (2147483647) zu bedienen, um die maximal zulässige Größe. (Int.MaxValue
ist nur ein byte schüchtern von 2 GB Daten)MaxReceivedMessageSize auf der anderen Seite ist der Typ
long
oderInt64
und der max-Wert unterstützt wird: 9,223,372,036,854,775,807Int64
für .Net framework 3.0 und höher fürMaxReceivedMessageSize
,MaxBufferSize
auf der anderen Seite ist der Typint
im .Net framework 3.0 und höher. Danke für den Kommentar, es brachte mich auf mein edit Fehler in der Antwort.Auch, wenn Sie maxing Ihre Puffer mit großen uploads oder-downloads, betrachten von streaming als alternative.
Ändern Sie die Puffergröße, wenn Sie dynamisch verwenden Sie diesen code
wenn Sie mit webconfig verwenden Sie diesen code