Ich versuche, große Dateien auf einen in IIS gehosteten WCF-Dienst hochzuladen.
Ich benutze Restful und Streaming-Methode.
Aber ich kann keine Dateien hochladen, die mehr als 64 KB sind.
Ich habe es versucht, indem ich alle größenbezogenen Elemente in web.config
datei geändert habe, aber das Problem konnte nicht behoben werden.
Hier ist mein Code und meine Konfiguration, bitte lassen Sie mich wissen, wenn jemand irgendwelche Probleme im Code findet und wie ich das beheben kann.
Vorgangsvertrag
%Vor%Implementierung des Vorgangsvertrags
%Vor%web.config
%Vor%und
%Vor%Der Service wird in gehostet in IIS gehostet
Clientseitiger Code (Konsolenanwendung)
%Vor%Mit so viel Code kann ich 64 KB Datei hochladen, aber wenn ich versuche, eine Datei mit mehr als 64 KB Größe hochzuladen, bekomme ich einen Fehler wie
The remote server returned an error: (400) Bad Request
Ich habe getan, was du gesagt hast, aber immer noch bekomme ich dasselbe Problem, so sieht meine Konfiguration jetzt aus, kannst du mir bitte sagen, was hier noch fehlt
%Vor%Das große Datenübertragungs-Problem mit dem WCF:
Ich habe WCF 4.0-Service auf IIS 7, Windows 2008 Server gehostet. Wenn ich meinen Dienst mit kleinen Daten anrufe, sagen 4K oder 5K Bytes, dann wird die Anfrage einfach bearbeitet, aber beim Versuch, große Dateien hochzuladen, gab es folgende Fehler:
In allen Fällen konnte ich eine kleine Datenanforderung mit meiner Client-Anwendung auf den Server übertragen, aber für große Nachrichten. Anfrage fehlgeschlagen.
Ich habe alle verfügbaren Methoden versucht, um dieses Problem zu lösen, aber nichts hat für mich funktioniert.
Nachdem ich mir eine Woche lang den Kopf verkratzt und alle Artikel und Blogs gelesen hatte, dachte ich mir,
zu folgen %Vor%Also ich denke es kann jemandem helfen Tage ....
Basierend auf der von Ihnen erwähnten Größe scheint es einen Fehler aufgrund eines begrenzten Treffers auf der Bindungsebene, d. h. readerQuota-Werte, zu geben. Sie können bestätigen, ob die Serververweigerung das Limit auf Bindungsebene überschreitet, indem WCF-Traces erfasst werden. Wir können die Konfiguration, die Sie gepostet haben, nicht sehen, da wir die beste Schätzung für die sichtbaren Informationen liefern.
Ich würde WCF-Traces auf Ausführlichkeitsebene erfassen, um das Problem zu beheben.
Übrigens, hast du versucht, maxRequestLength zu erhöhen? Ссылка
HTH, Amit Bhatia
Siehe ... alle von uns, die mit diesem Problem von 64KB upload thingy konfrontiert sind, vermissen den grundlegenden Punkt. Wir setzen hohe Werte für maxAllowedContentLength, maxReceivedMessageSize ... blah blah aber noch nichts funktioniert :). Wir alle vermissen den grundlegenden Punkt (... naja, zumindest war ich) egal welche verbindliche Konfiguration wir setzen, erwähnen wir irgendwo, dass unser ENDPUNKT DIE BINDENDE KONFIG KONFIGIEREN MUSS? . ..no where ... Also im Grunde müssen wir dem ENDPOINT mitteilen, dass er unserer BINDING CONFIG folgen muss.
%Vor% Chandrachur ist korrekt, egal was du in deinem <binding/>
oder <readerQuotas/>
angegeben hast, du musst "bindingConfiguration="my binding config name"
in deinem <endpoint/>
hinzufügen. Andernfalls wird es nicht funktionieren, selbst wenn Ihre verbindliche Konfiguration korrekt ist. Sie müssen sicherstellen, dass Ihre Konfigurationen auf Ihren Endpunkt angewendet werden. Dazu müssen Sie "bindingConfiguration"
korrekt setzen.
Tags und Links wcf