Eccezione mai vista in web service: dataset troppo grande

martedì 11 settembre 2007 - 15.10

andreapavia Profilo | Senior Member

Ciao a tutti:

ho delle tabelle in file XML
carico il file XML in dataset lo passa al metodo del webservice assieme alla sringa di connessione


otteno questa eccezione


"Eccezione durante l'esecuzione delle estensioni specificate nel file di configurazione. --> Superata la lunghezza massima della richiesta."

premetto che il file XML è grande 4Mega....

è un limite dei webservices la dimensione degli oggetti che posso passargli????


qualcuno sa suggermi come posso fare??????

AndreaKpr Profilo | Senior Member

Leggere i dati, comprimere il dataset e spedirlo ...

Oppure pacchettizzare il dataset ...

andreapavia Profilo | Senior Member

grazie ma.... come faccio a comprimere un dataset??????

AndreaKpr Profilo | Senior Member


Prova a dare una lettura qui ...

http://www.xedotnet.org/contents/316.aspx

andreapavia Profilo | Senior Member

ci provero' alla grandissima!!!!!!

v.iacono Profilo | Newbie

Riscontro lo stesso problema, che cerco di riassumere sotto:

1 - ho generato una classe dataset con l'editor per i dataset di visualstudio 2010
2 - ho un servizio wcf che riceve dalle app chiamanti il dataset per riferimento
3 - ho un client con un riferimento web al servizio wcf
4 - il client costruisce il dataset e lo invia al servizio wcf

se il dataset è grande l'applicazione va in errore!!!!!!!!!! con il tool svctraceview vedo il seguente messaggio:

"Superata la lunghezza massima della richiesta"

ho provato a cambiare la configurazione degli endpoint ma il risultato non cambia
allego di seguito la configurazione attuale
servizio wcf:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="WSHttpBinding_IVertexService"
messageEncoding="Mtom" maxReceivedMessageSize="2147483647" maxBufferPoolSize="2147483647">
<readerQuotas maxArrayLength="5000000" maxStringContentLength="5000000"/>
</binding>
</wsHttpBinding>
<!-- basicHttpBinding>
<binding name="BasicHttpBinding_IVertexService"
messageEncoding="Mtom">
<readerQuotas maxArrayLength="5000000"/>
</binding>
</basicHttpBinding -->
</bindings>
<services>
<service name="VertexService">
<clear />
<!-- endpoint binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IVertexService"
contract="Lluthus.Vertex.Service.VertexService.IVertexService" -->
<endpoint binding="wsHttpBinding"
bindingConfiguration="WSHttpBinding_IVertexService"
contract="Lluthus.Vertex.Service.VertexService.IVertexService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- Per evitare di diffondere informazioni sui metadati, impostare il valore riportato sotto su false e rimuovere l'endpoint dei metadati riportato sopra prima della distribuzione -->
<serviceMetadata httpGetEnabled="true"/>
<!-- Per ricevere i dettagli sull'eccezione per scopi di debug in caso di guasti, impostare il valore riportato sotto su true. Impostarlo su false prima della distribuzione per evitare di diffondere informazioni sull'eccezione -->
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>

applicazione client:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IVertexService" closeTimeout="00:01:00"
openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:1450/VertexService.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IVertexService" contract="VertexService.IVertexService"
name="BasicHttpBinding_IVertexService" />
</client>
</system.serviceModel>

come posso risolvere il problema? devo necessariamente comprimere il dataset o pacchettizzarlo?
come posso pacchettizzare il dataset ?

grazie!
Dott.
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5