我想确保遵循 ASP .NET MVC 3 上下文中的最佳实践。当在 MVC 3 Web 应用程序上执行某些操作时,我使用 Razor 模板引擎生成自动电子邮件。
我为电子邮件创建了一个单独的类库,这个类库将包含生成电子邮件时将使用的模型以及一个消息工厂,它将使用适当的视图和模型生成必要的消息文本。
我不确定应该将视图模板存储在哪里。我想将它们存储为 CSHTML,因为这将允许项目中的开发人员(Razor 的新手)在创建邮件模板时使用 IntelliSense。
我认为我不能将它们存储在类库的文件夹中,因为这会使部署更加复杂。如果我将它们存储在 MVC 3 Web 应用程序根目录中的文件夹中,互联网上任何知道正确路径的人都可以访问它们。我现在考虑两种选择:
将它们存储在 app_data 文件夹中,但这似乎不整洁。
将它们存储在 MVC 的 Views 文件夹中名为“EmailTemplates”的文件夹中。我认为这是最好的选择,因为您不能直接浏览它(没有控制器),我们的开发人员可以轻松访问它们并使用 IntelliSense。
选项 2 是最好的选择吗,将这些邮件模板放在此处会是一种罪过吗?然后我会直接通过本地文件系统访问这些文件,但我不确定一旦部署到生产环境中是否会出现安全问题(也许使用 app_data 文件夹可以防止这种情况发生)。我想要最小的部署配置。
谢谢!