私は3秒ごとに起動するように設定されている私のWebアプリケーション用のスケジューラを作成しました。私はConsole.Write( "bob")を使用して、スケジューラが正常に動作しているかどうかを確認しますが、何も起こらず、「デバッグ」ボタンをクリックした後でWebページのみが作成されます。間違った方法をテストしていますか、スケジューラが実際に動作していませんか?ASP.Net WebアプリケーションのWindowsサービススケジューラをテストするには?
ここで私が書いたコードは次のとおりです。事前に
namespace Scheduler
{
public partial class CheckExpireService : ServiceBase
{
private CheckExpireJob job;
private Timer stateTimer;
private TimerCallback timerDelegate;
public CheckExpireService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
job = new CheckExpireJob();
timerDelegate = new TimerCallback(job.CheckExpireApplicants);
stateTimer = new Timer(timerDelegate, null, 1000, 3000);
}
protected override void OnStop()
{
stateTimer.Dispose();
}
}
}
namespace Scheduler
{
class CheckExpireJob: ServiceBase
{
public void CheckExpireApplicants(object stateObject) {
Console.Write("bob");
}
}
}
おかげで!!
こんにちはKennyZ、私はデータベースを更新したいです。期限切れの応募者を毎日削除します。私は私のWebアプリケーションプロジェクトと一緒に別のプロジェクトとして 'スケジューラ'を作成しました。私はこれらの情報が私がデュオにしようとしていることのより良い理解を助けることを願っています –
それはベストプラクティスと見なされるかどうかわかりませんが、私にとっては、サービス。 Windowsサービスのインストールを検索する前に、そのサービスを起動することもできます。 – KennyZ
それから、コンソールへの書き込みは問題のトラブルシューティングのためには機能しません。私が示唆できる最も簡単なアイデアは、テストサービスがC:\ TestFolderのようなあなたが見ることができるディレクトリにファイルを作成させることです。その後、そのフォルダを開いた状態でサービスをインストールして起動し、ファイルが作成されているかどうかを確認します。 – KennyZ