Я знаю, что по этой теме вы, вероятно, думаете "что, черт возьми".Но позвольте мне объяснить!
У меня есть два проекта: MyMVCWebsite - веб-сайт MVC, работающий в Windows Azure. MyWebsiteWorker - отдельный проект DLL, работающий в отдельной рабочей роли Windows Azure.Это ссылается на MyMVCWebsite как DLL, так как он использует часть своего кода.
У меня есть контроллер под названием Email, а действия - это разные типы электронных писем, которые мы отправляем, например / Email / DailyNewsletter (модель: userDetails)
Контроллер предоставляет метод RenderPartialViewAsString, который позволяет мне отображать / Email / DailyNewsletter / userDetails в строку, которую я мог бы затем отправить в HtmlBody письма.
Это все нормально иДенди, если я хочу отправлять эти электронные письма с веб-сервера, но я этого не делаю.
Я хочу иметь возможность визуализировать частичное представление из MyWebsiteWorker, используя что-то вроде:
For each user in usersToEmail
Dim _con as new EmailController
SendEmail(user.emailAddress, _con.RenderPartialViewAsString(user))
next
Очевидно, это не работает (вы даже не можете создать новый экземпляр EmailController)
Я хочу сделать это таким образом, потому что может быть отправлено 1000 писем, и я не хочу, чтобы это загружалосьположить на веб-сервер.