Использование MvcMailer из Global.asax - PullRequest
0 голосов
/ 01 ноября 2011

Разработали приложение MVC3, которое отслеживает доступ пользователей к статическому контенту на веб-сервере, каждый раз списывая баланс пользователей.Эта логика происходит в событии «Application_AuthenticateRequest» в Global.asax (я читал ранее, это правильное место для размещения такой логики).

MvcMailer был реализован для отправки различных уведомлений пользователю (создана учетная запись, сброс пароля и т. Д.).Мы хотели бы реализовать уведомление о «низком балансе», но, похоже, не можем отправить его по адресу «Application_AuthenticateRequest», так как нет полного HttpContext ...?Полная ошибка, которая появляется при вызове «PopulateBody»:

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

Есть предложения, как обойти это?Думал об отправке уведомлений на другом мероприятии в Global.asax, но также нужно будет запускать статический контент ...?

Заранее спасибо!

1 Ответ

1 голос
/ 01 ноября 2011

Вы можете установить что-то в контексте для этого запроса, который вы затем прочитаете (или определите вместо) в Application_EndRequest и отправите запрос оттуда.А еще лучше, просто сохраните его в кеше и найдите его в Application_EndRequest или сделайте полное определение в EndRequest, если количество достаточно велико и т. Д.

...