Avatar billede jakand Nybegynder
24. juli 2006 - 16:49 Der er 3 kommentarer og
1 løsning

Asynkron Webservice og store mængder data

Jeg er igang med et mindre testprojekt for at lære Web services i .net at kende.

Jeg har lavet en enkelt Webservice som henter alt fra en tabel i en database og returnere det som et dataset.
Derudover har jeg en klient som kalder webservicen og præsenterer datasettet i et DataGrid.
Det virker fint når jeg kalder webservicen normalt, men når jeg kalder den asynkront får jeg følgende Fejl:

Exception (System.IO.IOException):
Unable to read data from the transport connection: An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full

Dens InnerException (System.Net.Sockets.SocketException):
An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full

Indholdet af datasettet fylder 105 MB hvis man gemmer det med WriteXML().
Fejlen har tilsyneladende noget at gøre med mængden af data, da den ikke opstår hvis jeg sender under 70 MB igennem.
Jeg har googlet en del efter det, men det eneste jeg kan finde er information om en bug i .net 1.1, som er rettet i 2.0/VS 2005.

Er der nogen der har oplevet noget lignende eller har ideer til hvad der kan være galt?
Enhver hjælp vil blive værdsat :)

Mvh. Anders Jakobsen
Avatar billede arne_v Ekspert
24. juli 2006 - 20:06 #1
hvis det er LAN/intranet only saa var det nok bedre at bruge remoting
fremfor web service
Avatar billede jakand Nybegynder
24. juli 2006 - 21:07 #2
Ja, jeg er ikke i tvivl om at remoting vil køre bedre, men det forklarer jo ikke hvorfor jeg får den fejl ;)
Avatar billede arne_v Ekspert
25. juli 2006 - 02:23 #3
web services er ikke beregnet til så store data mængder

du har ramt  en eller anden max. buffer størrelse
Avatar billede jakand Nybegynder
30. juli 2006 - 16:06 #4
Ja, det står jo sådan set i Exceptionen.

Jeg har prøvet at køre det fra en anden maskine, der opstår fejlen allerede efter ca. 35 MB...altså halvvejs i forhold til PC1.
En ting er at der er en øvre grænse, jeg forstår bare ikke hvorfor den tilsyneladende er variabel og kun opstår når man kalder asynkront.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester