2

ASP.NET MVCアプリケーションを使用しており、ユーザーがページを離れた後、ユーザーに「X」分(ユーザーごとに時間は異なります)で電子メールを送信する必要があります。どうすればいいですか?

4

2 に答える 2

3

Http はステートレスであり、応答が送信された時点でページの実行が終了します。Web サイトがかなりの時間間隔でアクセスされていない場合でも、メールを送信するアプリケーションが必要です。一定時間後に送信する必要があるメールをデータベースに入れることができます。別のアプリケーションは、一定の時間間隔 (30 秒など) 後にデータベースをプールし、送信時間に達したメールを送信する Windows サービスである可能性があります。

于 2012-11-12T06:07:23.573 に答える
1

私が選択するソリューションは、構築しているシステムに必要な規模と信頼性によって異なります。

低規模 (つまり、同時に多くのユーザーがいない 1 つのサーバー) で、ミッション クリティカルではないシステム (つまり、サーバーがクラッシュした場合など、一部の電子メールが実際に送信されないことがあっても問題ありません) の場合は、ソリューションは、最近ページを離れたユーザーに電子メールを送信するために定期的に起動するスレッドを使用してメモリ内のキューを管理するのと同じくらい簡単です。

非常に信頼性が高く、短時間で大量の電子メールを送信する必要がある可能性があるものを構築する必要がある場合、およびシステムを多数のマシンに拡張する必要がある場合は、に基づくソリューションを構築する必要があります。必要な数のマシンがアイテムを選択して処理するストレージ内のキュー。非常に高いスケールと信頼性が必要な場合は、Windows Azure キュー サービスなどの API が適しています。

于 2012-11-12T06:26:51.943 に答える