我從該主題知道您可能在想「究竟是什麼」。但讓我解釋一下!從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服務器上。