8

こんにちはみんな、私のウェブサイトには何千人ものユーザーがいます...私は1日1回すべてのユーザーにメールを送信するバックグラウンドタスクを実装しました...私はこれを行うためにこのリンクをたどりました...

http://www.codeproject.com/KB/aspnet/ASPNETService.aspx

私の質問は、私のWebサイトにアクセスするすべてのユーザーに対してApplication_Start()が起動されるかどうかです...そうであれば、すべてのユーザーが毎日多数のメールを受信するので、それを避けたいと思います...

4

4 に答える 4

21

Application_StartメソッドとApplication_Endメソッドは、HttpApplicationイベントを表さない特別なメソッドです。ASP.NETは、HttpApplicationインスタンスごとではなく、アプリケーションドメインの存続​​期間中に一度それらを呼び出します。

したがって、最初のユーザーがサイトを開くと、その後はapplication_startメソッドにヒットします。

あなたがやろうとしていることは危険だと付け加えます。バッチメール送信を行いたい場合は、毎日メールを送信できるスケジューラについて考えてみてください。

于 2009-11-25T02:59:54.933 に答える
4

Application_Startは、最初のユーザーがサイトにアクセスし、app_poolが更新されたときにのみ実行されます。

サイトへのヒットごとに発生するわけではありません。

タスクをスケジュールするためのcronのようなシステムについては、http: //www.webcron.org/のようなものを考えてみてください。

于 2009-11-25T02:57:25.713 に答える
2

全体像については、global.asaxで発生する可能性のあるすべてのイベントのリストを次に示します。

http://aspalliance.com/1114_Understanding_the_Globalasax_file.3

于 2019-11-06T15:25:18.897 に答える
0

これは、Application_BeginRequestに加えて、すべての訪問者の状態を格納するDB上にある必要があります。しかし、最も適切なのはスケジューラーです。

于 2009-11-25T03:10:06.237 に答える