WCF Service Application-Timer
Ich habe einen WCF Service Application Projekt mit einem REST-service, die hat es InstanceContextMode gesetzt Single. Es enthält einen timer, die ich verwenden möchten, gehen regelmäßig durch und überprüfen Sie die Eintragungen.
Der timer startet nicht, bis jemand ruft der Dienst für die erste Zeit. Was ich wissen möchte ist, ist es eine Art timeout wie in ASP.NET Webseiten, nachdem die IIS beenden Sie den Dienst, wenn Sie niemand verwendet es für eine Weile oder wird der timer weiter läuft.
[ServiceContract]
public interface IRegistrationService
{
[OperationContract, WebGet...]
void Register(...);
}
[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single)]
public class RegistrationService : IRegistrationService
{
private Timer timer;
public RegistrationService()
{
this.timer = new System.Timers.Timer(1000 * 60 * 5);
this.timer.Elapsed += OnTimerElapsed;
this.timer.Start();
}
private void OnTimerElapsed(object sender, ElapsedEventArgs e)
{
//
}
}
InformationsquelleAutor sfsdfsdf | 2011-01-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es wird weiter ausgeführt, bis Gastgeber-app ist und läuft. Wenn der Dienst in IIS gehostet und Keep-Alive deaktiviert ist, wird es geschlossen sein, aber im Falle von winforms-oder windows-service-host-Objekt beibehalten wird, bis die Anwendung geschlossen wird. Zu schließen mit diesem Objekt machen Sie den service, Einweg -, und entsorgen Sie das Klasse, wenn timerElapsed.
InformationsquelleAutor hungryMind