0

ASP.NET .NET 4.0 Web サイトを作成していますが、このサイトの一部では、"常時実行中" のアプリケーションが必要です。通常、このために Windows サービスを作成しますが、サイトは共有ホスティング環境内でホストされるため、仮想サーバーを取得しない限り、これは不可能です。

私が最初に考えたのは、バックグラウンドでこれを実行するスレッドを実行し、それを Application_Start で作成し、Application_End で破棄することでした。私は周りを見回しましたが、これはオプションのようですが、Application_Start を呼び出すには、もちろんサイトにアクセスする必要があり、関連する AppPool がリサイクルされた場合は、このプロセスを繰り返す必要があります。 (だから私は信じていますか?!?)。

通常の ASP.NET Web サイト内で、これらは可能だと思われますか? 私はASP.NET(SQLサーバーを使用)アプリケーションを開発しています。

4

2 に答える 2

0

まず、メールをキューに入れる必要があります。データベースのテーブルにある可能性があります。Ms Sql Server ( http://technet.microsoft.com/en-us/library/ms190307.aspx ) を介してメールを送信できることに注意してください。これは 1 つのオプションです。

もう 1 つの方法は、 Quartz Netスケジューラを使用することです。MailingService クラスを作成し、application_start イベントで Quartz を初期化して実行します。1分ごとに実行するように構成し、メールキューをチェックして送信を試み、送信に成功した場合はキューから削除できます...アプリケーションをリサイクルしても、DBにキューに入れられているため、メールは失われません.

于 2013-10-10T13:26:07.407 に答える