使用Server.Mappath()

时间:2009-10-05 09:11:31

标签: .net server.mappath

我想使用Server.MapPath()方法来命令映射虚拟目录 我创造了它的物理路径。

问题是.net环境无法识别Server.MapPath()。

谷歌告诉我,我应该使用System.Web来使用HttpContext.Current.Server, 但是,尽管我使用System.Web,但HttpContext仍然无法识别。 (我检查过 - HttpContext是System.Web的类之一)

帮助?

3 个答案:

答案 0 :(得分:3)

确保在项目参考中包含System.Web 这些(在Visual Studio IDE中):

  1. 右键单击项目节点(解决方案资源管理器窗口)
  2. 在上下文菜单中,单击“添加引用”
  3. 在.NET选项卡列表项上选择System.Web。
  4. 点击确定按钮
  5. Server.MapPath现在应该可用。

答案 1 :(得分:3)

如果您有一个Web应用程序,则应自动引用System.Web.dll,并且您应该可以访问System.Web.HttpContext类。检查您是否意外删除了参考。您需要using System.Web;语句才能访问HttpContext类,而无需指定完整的命名空间。

如果您没有Web应用程序,则必须向System.Web.dll添加引用以访问HttpContext类,但这对您没有帮助。由于您不在Web应用程序中,因此没有HTTP上下文,也没有Web根文件夹,因此您无法使用MapPath方法。

答案 2 :(得分:1)

这里的问题相同。在ASP.net 4.0 Web应用程序中,在.ashx处理程序中,顶部有using System.Web。我无法使用Server.MapPath(),这就是我所说的书,或System.Web.HttpServerUtility.MapPath()这是Google和MSDN不断出现的内容。我也无法使用上面提到的HttpServerUtility.MapPath()

但是,此处的其他答案之一促使我尝试使用context.Server.MapPath()方法中的ProcessRequest(HttpContext context)