WCF-Problem beim Hochladen großer Dateien, die in IIS gehostet werden

7

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%     
Sharath 11.06.2011, 18:39
quelle

6 Antworten

23

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:

  1. Schlechte Anfrage 400
  2. Datei nicht gefunden 404 13 wie in IIS 7-Protokollen angezeigt
  3. Es gibt keinen Endpunkt beim Hören des Dienstes "myservice url"

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 ....

    
WaseemM 02.08.2011 05:19
quelle
2

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

    
amit 11.06.2011 18:58
quelle
2

was 404 Größe der Nachricht zu großes Problem für mich war ein Teil von WaseemM Beispiel:

%Vor%     
tridy 27.06.2014 07:22
quelle
1

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 16.09.2014 02:56
quelle
0

Wenn große Daten übertragen werden sollen, sollten Sie MTOM verwenden. Suchen Sie einfach nach "MTOM WCF".

    
Gilad 12.06.2011 08:52
quelle
0

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.

    
user4360707 15.12.2014 00:58
quelle

Tags und Links