开发了一个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的另一个事件中发送通知,但是还需要触发静态内容......?
提前致谢!
答案 0 :(得分:1)
您可以在该请求的上下文中设置一些内容,然后在Application_EndRequest中读取(或确定),并从那里发送请求。更好的是,只需将它存储在缓存中并在Application_EndRequest上查找它,或者如果计数足够高就在EndRequest上进行全部确定等等。