Guybrush Threepwood Geschrieben 20. Februar 2009 Geschrieben 20. Februar 2009 Ich hab eine WebMethod welche von er Seite aufgerufen wird und per WebService Daten abruft. Das können aber sehr viele Daten sein und dauert mit unter recht lange. Leider geht der IIS hin und bricht die Anfrage nach einiger Zeit hab mit der Meldung da eine Zeitüberschreitung der Anforderung aufgetreten wäre. Kann ich das für diese eine WebMethod irgendwie unterbinden? Also ich weiß das man in der WebConfig irgendwo den Timeout allgemein höher stellen kann, aber das würde ja dann alle Anfragen betreffen und ich müsste wieder eine bestimmte Zeit setzen welche dann je nach Internetanbindung und Auslastung evtl. wieder überschritten werden könnte... Zitieren
Argbeil Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 Hast du schon eine Lösung? Würde mich auch interessieren. Zitieren
Guybrush Threepwood Geschrieben 24. Februar 2009 Autor Geschrieben 24. Februar 2009 Nein leider noch nicht, ich hab mir jetzt mal lokal einen IIS eingerichtet um das besser testen zu können und der macht das Ganze ohne Timeout -.- Zitieren
Argbeil Geschrieben 24. Februar 2009 Geschrieben 24. Februar 2009 Ich glaube sobald debugging aktiviert ist, treten die Timeouts nicht mehr auf. Wie man sie für einzelne Requests ausschaltet weiß ich nicht, aber es muss programmatisch irgendwie gehen. Zitieren
Guybrush Threepwood Geschrieben 24. Februar 2009 Autor Geschrieben 24. Februar 2009 (bearbeitet) Ja hab ich auch vorhin gemerkt. Wenn in der Web.config Debug auf true steht ist der Timeout standardmäßig sehr hoch eingestellt. Steht es auf false sind es bei Asp.Net 2 wohl 110 Sekunden. Einstellen kann man das in der Web.Config per <system.web> <httpRuntime executionTimeout="900" /> </system.web> Nur ist es dann ja halt für alle Anfragen. Ich hab vorhin mal den Tipp eines Blogs probiert und diesen Wert per Server.ScriptTimeout im OnInit der Seite hoch und im Unload wieder zurückzusetzen. Das hat aber leider nichts bewirkt. Bin aber gerade beim Tippen noch was anderes im Hintergrund am Testen Edit: und das scheint zu funktionieren. Hab einfach in der WebMethod am Anfang folgendes eingefügt: HttpContext.Current.Server.ScriptTimeout = 60 * 60 * 1000; [/PHP] Jetzt muss ich nur noch schauen ob ich den dann auch wieder zurücksetzten muss Bearbeitet 24. Februar 2009 von Guybrush Threepwood Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.