WCF und Arrays

25/02/2009 - 18:37 von Stephan | Report spam
Hallo zusammen,

ich habe bei WCF folgendes Problem:
Ich habe als Rückgabeparamter für die Methode GetList1 ein Array:

[OperationContract]
MyClass[] GetList1();


public class MyClass {
public DateTime time;
public float a;
public float b;
public float c;
public float d;
public float e;
public int i;
}

Überschreitet mein Array 8191 Eintràge kommt es zu einer Exception:

Zusàtzliche Informationen: Fehler beim Empfangen der HTTP-Antwort für
http://localhost:8731/Design_Time_Addresses/Studie_WCF_Server/Service1/.
Die Ursache kann sein, dass die Dienstendpunktbindung kein HTTP-Protokoll
verwendet. Eine andere mögliche Ursache ist, dass der
HTTP-Anforderungskontext
vom Server abgebrochen wird (vermutlich auf das Herunterfahren des Diensts
zurückzuführen).
Weitere Informationen finden Sie in den Serverprotokollen.


In der Config habe ich auf Server und auf Clientseite
wsHttpBinding als Binding und alle Puffer, etc auf Maximum gesetzt:

<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />

Das witzige ist, serialisiere ich mein Object in eine XML Struktur und
kopiere dieses dann in einen string pro Object
und wàhle als Rückgabeparamter ein Array von strings:

[OperationContract]
string[] GetList2();


kann ich locker 40000 Datensàtze übergeben ohne eine Exception zu erhalten.

Warum kann ich das nicht mit dem Array von MyClass durchführen ?


Vielen lieben Dank für Antworten
Grüße
Stephan
 

Lesen sie die antworten

#1 Stephan
26/02/2009 - 14:13 | Warnen spam
Hab die Lösung in der Gruppe C# unter WCF Listengröße
erhalten.

Vielen Dank
Stephan



"Stephan" wrote:

Hallo zusammen,

ich habe bei WCF folgendes Problem:
Ich habe als Rückgabeparamter für die Methode GetList1 ein Array:

[OperationContract]
MyClass[] GetList1();


public class MyClass {
public DateTime time;
public float a;
public float b;
public float c;
public float d;
public float e;
public int i;
}

Überschreitet mein Array 8191 Eintràge kommt es zu einer Exception:

Zusàtzliche Informationen: Fehler beim Empfangen der HTTP-Antwort für
http://localhost:8731/Design_Time_Addresses/Studie_WCF_Server/Service1/.
Die Ursache kann sein, dass die Dienstendpunktbindung kein HTTP-Protokoll
verwendet. Eine andere mögliche Ursache ist, dass der
HTTP-Anforderungskontext
vom Server abgebrochen wird (vermutlich auf das Herunterfahren des Diensts
zurückzuführen).
Weitere Informationen finden Sie in den Serverprotokollen.


In der Config habe ich auf Server und auf Clientseite
wsHttpBinding als Binding und alle Puffer, etc auf Maximum gesetzt:

<readerQuotas
maxDepth="2147483647"
maxStringContentLength="2147483647"
maxArrayLength="2147483647"
maxBytesPerRead="2147483647"
maxNameTableCharCount="2147483647" />

Das witzige ist, serialisiere ich mein Object in eine XML Struktur und
kopiere dieses dann in einen string pro Object
und wàhle als Rückgabeparamter ein Array von strings:

[OperationContract]
string[] GetList2();


kann ich locker 40000 Datensàtze übergeben ohne eine Exception zu erhalten.

Warum kann ich das nicht mit dem Array von MyClass durchführen ?


Vielen lieben Dank für Antworten
Grüße
Stephan








Ähnliche fragen