2010-11-24 13 views
0

Ich habe einen Webservice, der den Inhalt einer PDF-Datei zurückgibt.Webservice-Antwortzeit Nach Leerlauf-Timeout

Ich habe bemerkt, dass wenn ich die Website für eine Weile verlassen habe und ich die Methode des Dienstes anrufe, dauert es eine lange Zeit, um zu antworten. Alle nachfolgenden Anrufe benötigen weniger als eine Sekunde, was großartig ist.

Kann mir jemand sagen, warum das ist? Ist der Dienst eingeschlafen und muss neu initialisiert werden?

Was wäre ein guter Weg dazu? Gibt es etwas, das ich jedes Mal tun könnte, wenn diese Seite besucht wird, um dem Dienst mitzuteilen, dass eine Anfrage sehr bald kommen könnte?

+0

Ich nehme an, Sie verwenden alte ASMX-Webdienste und nicht WCF? –

+0

Ja, es ist jemand elses Web Service, der ein asmx Web Service ist. Macht das einen Unterschied? – BigJim

+0

macht es einen großen Unterschied. Es ist eine völlig andere Laufzeitumgebung. In diesem Fall liegt Ihre Lösung bei IIS, aber ein WCF-Dienst könnte sich selbst gehostet oder in WAS (Windows Process Activation Service) gehostet haben. In diesem Fall hätten die IIS-Einstellungen Ihnen nicht geholfen. –

Antwort

1

Ich gehe davon aus, dass Sie den Service in IIS hosten.

Wie jede andere webbasierte Anwendung kann die AppDomain, in der der Dienst ausgeführt wird, aus verschiedenen Gründen wiederverwendet werden. Ein möglicher Grund ist ein Leerlauf-Timeout.

Wenn Sie nicht möchten, dass es aufgrund von Inaktivität ausläuft, können Sie die IIS-Einstellungen entsprechend ändern.

+0

Ja, es ist in IIS gehostet. Danke für Ihren Vorschlag! – BigJim

Verwandte Themen