使用Global.asax的MvcMailer

时间:2011-11-01 04:25:09

标签: asp.net asp.net-mvc-3 httpcontext mvcmailer

开发了一个MVC3应用程序,用于监控用户何时访问Web服务器上的静态内容,每次都记入用户余额。这个逻辑发生在Global.asax的“Application_AuthenticateRequest”事件中(我之前已经读过,这是放置这种逻辑的正确位置)。

已实施MvcMailer向用户发送各种通知(创建帐户,重置密码等)。我们想要实现“低余额”通知,但似乎无法在“Application_AuthenticateRequest”发送一个,因为没有完整的HttpContext可用...?调用“PopulateBody”时出现的完整错误是:

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

有任何建议如何解决这个问题?正在考虑在Global.asax的另一个事件中发送通知,但是还需要触发静态内容......?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您可以在该请求的上下文中设置一些内容,然后在Application_EndRequest中读取(或确定),并从那里发送请求。更好的是,只需将它存储在缓存中并在Application_EndRequest上查找它,或者如果计数足够高就在EndRequest上进行全部确定等等。

相关问题