当前上下文中不存在Server.MapPath

时间:2015-10-14 09:52:34

标签: c# .net

我有一个C#Model Class,我试图访问一个.cshtml页面,该页面应该是一个电子邮件格式模板。我正在使用以下代码:

string body = string.Empty;
using (StreamReader reader = new StreamReader(Server.MapPath("~/EmailConfTemplate.cshtml")))
{
     body = reader.ReadToEnd();
}

但是我收到以下错误消息:

  

当前上下文中不存在名称服务器

代码中是否有任何错误,或者在POCO类中无法访问Server类。请帮忙。

2 个答案:

答案 0 :(得分:12)

要在.Net管道中执行它,您可以将其作为HttpContext

中的实例找到
System.Web.HttpContext.Current.Server.MapPath()

答案 1 :(得分:0)

而不是

Server.MapPath("~/EmailConfTemplate.cshtml")

尝试使用

string fullPath = new DirectoryInfo(string.Format("{0}\\EmailConfTemplate.cshtml", HttpContext.Current.Server.MapPath(@"\"))).ToString();