2012-12-02 8 views
7

Ich habe eine clientseitige Anwendung, Web-Service vom Server konsumieren.ServiceStack angetroffen Ausnahme: Die zugrunde liegende Verbindung wurde geschlossen: Die Nachrichtenlänge Grenze wurde überschritten

In einer Form der Anwendung zeigt es eine Liste von Tabellen, deren Status vom Server stammen, die Aktualisierung des Formulars alle 1 Sekunde. So verhält es sich wie eine Echtzeitseite aller Tabelleninformationen.

Allerdings, nach dem Verlassen des Formulars dort für ca. 20, 30 Minuten, beginnt es zu werfen "Die zugrunde liegende Verbindung wurde geschlossen: Die Nachrichtenlänge Grenze wurde überschritten".

Ich sah Blog in http://code.logos.com/blog/2012/01/webexception-the-message-limit-length-was-exceeded.html, über die Einstellung der MaximumResponseHeadersLength, aber ich benutze ServiceStack, nicht sicher, wo Sie es einstellen, oder wie dieses Problem zu lösen. Kann mir bitte jemand helfen?

public IList<Table> GetAllTables() 
{ 
    return ServiceClient.Get<EntitiesResponse<Table>>("/tables").Entities; 
} 
+0

Btw Ich benutze JsvServiceClient. – user1869901

Antwort

2

ServiceStack fügt keine Anforderung beschränkt sich, so dass die Anfrage Grenzen Sie sind von der ASP.NET-Host treffen sind.

Siehe diese Antwort, um Ihnen zu zeigen, wie man increase ASP.NET's Request limits.

+2

Ich denke nicht, dass das Anforderungslimit erhöhen das Problem lösen kann. Ich habe das Limit auf 4GB gesetzt, das Problem tritt immer noch nach ca. 1-2 Stunden auf. Offensichtlich wird jede Aktualisierung nicht alle 1 Sekunde von der Anfrage groß. – user1869901

+0

haben Sie jemals eine Lösung gefunden? –

4

Ich hatte das gleiche Problem bei der Verwendung von Apache Benchmark, um einige Webservices auf ServiceStack zu testen.

Ich konnte den Fehler durch Deaktivieren des MiniProfilers beheben.

Verwandte Themen