我从该主题知道您可能在想“究竟是什么”。但让我解释一下!从MVC引用的DLL渲染非MVC项目中的MVC部分视图
我有两个项目: MyMVCWebsite - 一个运行在Windows Azure上的MVC网站 MyWebsiteWorker - 一个独立的Windows Azure工作者角色上运行的DLL项目。这引用MyMVCWebsite作为DLL,因为它使用了它的一些代码。
我有一个名为电子邮件控制器和行动是不同类型的电子邮件我们发送,例如/电子邮件/ DailyNewsletter(型号:为userDetails)
控制器暴露了一个方法RenderPartialViewAsString这将让我来渲染/电子邮件/ DailyNewsletter/userDetails到一个字符串,然后我可以发送电子邮件的HtmlBody。
如果我想从网络服务器发送这些电子邮件,这是一切都很好,但我不知道。
我希望能够使用类似呈现来自MyWebsiteWorker局部视图:
For each user in usersToEmail
Dim _con as new EmailController
SendEmail(user.emailAddress, _con.RenderPartialViewAsString(user))
next
显然,这并不正常工作(你甚至不能创造EmailController的新实例)
我想这样做,因为可能会有1000封电子邮件发送,并且我不希望将这些负载放在Web服务器上。