0

ユーザーが Web サーバー上の静的コンテンツにいつアクセスするかを監視し、そのたびにユーザーの残高を引き落とす MVC3 アプリケーションを開発しました。このロジックは、Global.asax の「Application_AuthenticateRequest」イベントで発生します (以前に、これがそのようなロジックを配置する正しい場所であると読みました)。

MvcMailer は、ユーザーにさまざまな通知を送信するために実装されています (アカウントの作成、パスワードのリセットなど)。「残高不足」通知を実装したいのですが、完全な HttpContext が利用できないため、「Application_AuthenticateRequest」で送信できないようです...? 「PopulateBody」が呼び出されたときに表示される完全なエラーは次のとおりです。

ArgumentNullException was unhandled by user code.
Value cannot be null.
Parameter name: routeData

これを回避する方法はありますか?Global.asax の別のイベントで通知を送信することを考えていましたが、静的コンテンツに対しても起動する必要がありますか?

前もって感謝します!

4

1 に答える 1

1

そのリクエストのコンテキストで何かを設定し、それを Application_EndRequest で読み取り (または代わりに決定し)、そこからリクエストを送信できます。さらに良いのは、単純にキャッシュに保存して Application_EndRequest で検索するか、カウントが十分に高い場合は EndRequest で全体を判断するなどです。

于 2011-11-01T04:51:14.077 に答える