WCF REST Service in den Ruhezustand nach Inaktivität

Ich habe einen WCF REST service deklariert ist, in eine regelmäßige ASP.NET web-Projekt:

[ServiceContract]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, IncludeExceptionDetailInFaults = true)]
public class BasicApp

Verwende ich es als eine service-Schicht für ein iPhone-app, die ich Baue, also bin ich es anfordern mit den hervorragenden ASIHTTPRequest-Bibliothek.

Den Dienst selbst funktioniert ganz gut, aber wenn es im Leerlauf für etwa 10 Minuten, der service scheint zu schlafen, die in das Ende gibt mir die timeout-Probleme auf dem iPhone.

Wenn ich die service-Anfrage über den browser ist es das gleiche, aber nach 30 Sekunden oder so den Dienst "aufwacht" und dann alle aufeinander folgenden Anfragen werden wirklich schnell. Ich weiß, ich kann die timeout-limit auf dem iPhone, aber das scheint nicht wirklich zu funktionieren sehr gut für ein handheld-Gerät.

Ich vermute, es ist ein Konfigurationsproblem. Der service gehostet wird, auf Win2008R2 mit IIS 7.5

IIS-website so konfiguriert ist, mit dem eigenen AppPool läuft .NET framework v4 mit Integrierter Pipeline.

Jemand eine Idee, wie man dieses Problem beheben?

Die wahrscheinlichste Ursache HIERFÜR könnte sein App-Pool-Recycling in IIS. Überprüfen Sie die AppPool recycle-Einstellung für den IIS iis.net/ConfigReference/system.applicationHost/applicationPools/...

InformationsquelleAutor Peter Lindholm | 2011-04-27

Schreibe einen Kommentar