ASP.NET MVC从服务器读取文件

时间:2011-02-13 04:18:57

标签: asp.net-mvc asp.net-mvc-3

我有3个问题:

  1. 放置一些模板文件的正确位置在哪里?我将使用这些模板来呈现DotLiquid的电子邮件。我正考虑将其放在~/Templates/
  2. 我如何对此进行单元测试?我是否应该从文件系统中单元测试读取文件?
  3. 将文件读入字符串的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

  1. 我会为他们/Views/Emails创建一个观看文件夹
  2. 您编写的单元测试代码,而不是.NET框架imo的代码
  3. string s = System.IO.File.ReadAllText( path );

答案 1 :(得分:2)

查看此博客文章,其中介绍了如何使用视图作为模板发送电子邮件:ASP.NET MVC 2 Render Template to String

简而言之,您创建了一个方法,将View呈现为字符串,然后从操作中调用该方法以生成电子邮件正文内容。

答案 2 :(得分:0)

将代码放在〜/ Content / Templates /中并使用Web客户端下载内容最适合我。

var welcomeMailTemplatePath = "yourPath";
var webClient = new WebClient();
string html = webClient.DownloadString(WelcomeMailTemplatePath); 

这样,您不需要处理控制器/视图,并且可以直接获取模板文件的内容。