アプリケーションはIISでホストされているため、アプリケーションプールプロセスによって維持されます。タスク用に追加のモジュールを作成すると、同じプロセスのコンテキスト内で実行されます。必要な同期を実行するには、アプリケーションが使用されていない深夜でもこのプロセスが機能していることを確認する必要があります。Quartz.NETを使用して、同期タスクをスケジュールできます。
それでも、Windowsサービスから同期を実行する方がはるかに良い考えだと思います。サービスは、たとえばデータベースを使用してアプリケーションと通信する必要があります。データベースでは、現在のアクティビティがログに記録されます。このようなデータベースに接続することにより、Webからサービス状態を監視することができます。サービスが追加の管理作業を強制することは知っていますが、はるかに信頼性が高く、安全です。また、Webアプリケーションからサービス開始の可能性を追加して(プールプロセスユーザーがWindowsサービスへのアクセス権を持っている場合)、障害後のサービスの再起動に関連する管理作業を克服(または少なくとも最小化)することもできます。
私はそのような機能を書いたので、そのような外部サービスのWeb監視が意味することの全体像を示すために、以下の画面を確認してください。エンドユーザーにとって便利な応答性(プーリングメカニズム)を実現するために、ajaxサポートを使用して作成できます。
