1
私は、それがInstanceContextModeをSingleに設定したRESTサービスを持つWCFサービスアプリケーションプロジェクトを持っています。それは私が定期的に通過し、登録をチェックするために使用したいタイマーを含んでいます。WCFサービスアプリケーションタイマー
誰かが最初にサービスを呼び出すまで、タイマーは起動しません。私が知りたいのは、ASP.NET Webサイトのようなタイムアウトのようなものがあります。その後、誰もそれをしばらく使っていないとIISがサービスを停止するか、タイマーは動作し続けます。
[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)
{
//
}
}
私のサービスはIISでホストされています。私はTSOHostと呼ばれるサードパーティ製のホスティングを使用しています。私はIIS7を使用していると思いますが、Keep-Aliveはデフォルトで有効になっていますが、ホスト設定ページでこの設定を覚えているとは思いません。ありがとう、私はこれが有効になっていることを確認します。 – sfsdfsdf