Recipe4hate
Legacy Member
Collega's,
ik heb jullie hulp nodig.
Ik ben bezig met het leren van WCF.
Momenteel heb ik een WCF service die connectie met een DB maakt via Entity (waarvan ik LazyLoading heb uitgezet).
Het enige wat de WCF op dit moment moet doen is een stored procedure oproepen op de SQL DB en deze waardes in een generic List teruggeven naar mijn client (hetzij winforms, hetzij ASP.NET).
Deze WCF draait momenteel op een IIS7.5 server en heeft basicHTTPBindings. Over het algemeen loopt dit vrij goed, tot ik een te grote waarde wil opvragen.
Ik heb in mijn appConfig en webConfig volgende opgezet (ok, overdreven waardes, maar het is nu als test)
Wanneer ik de code nu run (en mijn client dus de app op IIS aanspreekt), loopt het programma voor een tiental seconden (dus zeker geen 5min, zoals in de config) en geeft dan volgende error:
An error occurred while receiving the HTTP response to [svc address]. This could be due to the service endpoint binding not using the HTTP protocol. THis could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down).
Daar WCF redelijk cryptische fouten geeft, weet ik niet goed waar ik moet zoeken. Oorspronkelijk gaf hij me een fout dat de datasize te klein was, dus die heb ik aangepast en de error is verdwenen.
Wanneer ik relatief weinig data (<3000 lijnen) uit de DB trek, loopt alles prima. Wanneer ik hierover ga, krijg ik dergelijke foutmeldingen.
Het hele gekke is: wanneer ik de WCF op localhost (dus niet op IIS, maar nog steeds via Entity over het netwerk) run, krijg ik mijn data wel!
Conclusie:
Alles werkt wanneer de response niet al te groot is.
Op Localhost lijkt alles steeds goed te werken.
Het lijkt me geen probleem met connection timeouts, omdat ik de error redelijk vlot krijg.
Kunnen jullie me aub verder helpen?
Is het WCF die out-of-memory loopt? Is het de IIS die niet toelaat dat er teveel data over de lijn loopt? Is het wat anders?
Indien jullie stukken code of xml-config willen zien, laat maar weten, dan post ik deze.
Alvast heel erg bedankt!
ik heb jullie hulp nodig.
Ik ben bezig met het leren van WCF.
Momenteel heb ik een WCF service die connectie met een DB maakt via Entity (waarvan ik LazyLoading heb uitgezet).
Het enige wat de WCF op dit moment moet doen is een stored procedure oproepen op de SQL DB en deze waardes in een generic List teruggeven naar mijn client (hetzij winforms, hetzij ASP.NET).
Deze WCF draait momenteel op een IIS7.5 server en heeft basicHTTPBindings. Over het algemeen loopt dit vrij goed, tot ik een te grote waarde wil opvragen.
Ik heb in mijn appConfig en webConfig volgende opgezet (ok, overdreven waardes, maar het is nu als test)
Code:
<basicHttpBinding>
<binding name="BasicHttpBinding_IBrowserService"
closeTimeout="00:05:00" openTimeout="00:05:00"
receiveTimeout="00:05:00" sendTimeout="00:05:00"
maxBufferPoolSize="999999999" maxBufferSize="999999999"
maxReceivedMessageSize="999999999" />
</basicHttpBinding>
Wanneer ik de code nu run (en mijn client dus de app op IIS aanspreekt), loopt het programma voor een tiental seconden (dus zeker geen 5min, zoals in de config) en geeft dan volgende error:
An error occurred while receiving the HTTP response to [svc address]. This could be due to the service endpoint binding not using the HTTP protocol. THis could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down).
Daar WCF redelijk cryptische fouten geeft, weet ik niet goed waar ik moet zoeken. Oorspronkelijk gaf hij me een fout dat de datasize te klein was, dus die heb ik aangepast en de error is verdwenen.
Wanneer ik relatief weinig data (<3000 lijnen) uit de DB trek, loopt alles prima. Wanneer ik hierover ga, krijg ik dergelijke foutmeldingen.
Het hele gekke is: wanneer ik de WCF op localhost (dus niet op IIS, maar nog steeds via Entity over het netwerk) run, krijg ik mijn data wel!
Conclusie:
Alles werkt wanneer de response niet al te groot is.
Op Localhost lijkt alles steeds goed te werken.
Het lijkt me geen probleem met connection timeouts, omdat ik de error redelijk vlot krijg.
Kunnen jullie me aub verder helpen?
Is het WCF die out-of-memory loopt? Is het de IIS die niet toelaat dat er teveel data over de lijn loopt? Is het wat anders?
Indien jullie stukken code of xml-config willen zien, laat maar weten, dan post ik deze.
Alvast heel erg bedankt!
, dat komt ervan als mensen in het wilde weg wat frameworks gebruiken zonder te weten wat die dingen precies doen, gevolg al die tijd die ge denkt uit te sparen moet ge op het einde gebruiken om alle pitfalls van die frameworks te ontdekken
