我有一个后台服务正在运行,向我的网站的用户发送电子邮件。我想将电子邮件模板编写为MVC视图,以保持一致(因此可以使用相同的模型发送电子邮件以显示网页)。有没有办法从非web应用程序处理MVC视图(aspx文件)?
不幸的是,当我尝试做一个LoadControl(它只是通过补丁来BuildManager.CreateInstanceFromVirtualPath),我得到如下:
System.NullReferenceException at
System.Web.dll!System.Web.VirtualPath.GetCacheKey() + 0x26 bytes
System.Web.dll!System.Web.Compilation.BuildManager.GetCacheKeyFromVirtualPath + 0x2a bytes
System.Web.dll!System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal + 0x30 bytes
看来,如果我是MvcBuildViews设置为true,有应该是一些简单的方法来使用编译视图来建立一个电子邮件模板,但我不知道如何。
我发现从里克施特拉尔以下的博客,这可能做的伎俩: http://www.west-wind.com/presentations/aspnetruntime/aspnetruntime.asp
然而,似乎开始了整个ASP.NET服务器处理请求。
有没有简单的方法来加载MVC视图&渲染它?或者是按照Rick Strahl的建议加载ASP.NET运行时的唯一方法?
我已经工作了类似的问题。我花了3个小时搞乱了一些事情,虽然我做了很多事情,但我遇到了很多问题。现在以eglasius的身份推荐并使用spark视图引擎来处理所有电子邮件视图。 – Castrohenge 2010-09-13 17:34:20
我用Spark视图引擎来做到这一点,它工作得很好。 – 2010-09-13 18:05:35
尝试在此处获取与此相关的所有数据的中央存储库,因此添加一个链接到另一个也是相关的问题:http://stackoverflow.com/questions/1661584/compiling-an-aspx-page-into-a -standalone-程序 – marq 2010-09-15 01:01:49