Problem mit großen Anforderungen in WCF

Ich habe gesehen, dass dieses problem geschrieben, eine million mal, aber keine der Lösungen hat bei mir...Also hier gehe ich:

Beim Aufruf eines WCF-Diensts, bekomme ich die folgende Fehlermeldung:

Das Formatierungsprogramm Ausnahmefehler beim Versuch, die Deserialisieren
Meldung: Es wurde ein Fehler beim Deserialisieren von parameter
http://BlanketImportService.ServiceContracts/2011/06:request. Die
InnerException-Nachricht war " Es wurde ein Fehler beim Deserialisieren der
Objekt vom Typ BlanketImport.BlanketImportRequest. Die maximale array
Länge Quote (16384) überschritten wurde beim Lesen von XML-Daten. Diese
Quote kann erhöht werden, durch ändern der MaxArrayLength-Eigenschaft auf den
XmlDictionaryReaderQuotas Objekt beim erstellen des XML-Lesers.
Zeile 1, position 44440.'. Bitte sehen InnerException für mehr details.

Habe ich geändert, die readerQuotas auf sowohl auf dem client als server, UND wandte die bindingConfiguration tag.

Hier ist die server config:

<bindings>
  <basicHttpBinding>
    <binding name="BilagImportBinding" maxBufferSize="2147483647"
      maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
      <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
        maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>
</bindings>

<services>
  <service name="BlanketImport">
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="BilagImportBinding" bindingNamespace="http://BlanketImportService.ServiceContracts/2011/06" contract="BlanketImport.IBlanketImport">
    </endpoint>
  </service>
</services>

Und die client-config:

  <bindings>
    <basicHttpBinding>
      <binding name="BilagImportBinding" maxBufferSize="2147483647"
        maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
        <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647"
          maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
      </binding>
    </basicHttpBinding>
  </bindings>
  <client>
    <endpoint address="http://localhost/BlanketImport/BlanketService.svc"
      binding="basicHttpBinding" bindingConfiguration="BilagImportBinding" contract="BlanketServiceReference.IBlanketService"
      name="BasicHttpBinding_IBlanketService" />
  </client>
  • Ist der service-name nur "BlanketImport", oder ist es unter einem namespace (wie BlanketImport.BlanketImport)? Der Wert des "name" - Attribut des <service> element muss der fully-qualified-name des service (namespace + - Typ-name), sonst WCF nicht finden.
  • Es ist 2015 und der wcf-Konfiguration die Einstellungen weiterhin ein Rätsel für die meisten von uns.
InformationsquelleAutor HeineSkov | 2011-09-19
Schreibe einen Kommentar