我想使用Server.MapPath()方法来命令映射虚拟目录 我创造了它的物理路径。
问题是.net环境无法识别Server.MapPath()。
谷歌告诉我,我应该使用System.Web来使用HttpContext.Current.Server, 但是,尽管我使用System.Web,但HttpContext仍然无法识别。 (我检查过 - HttpContext是System.Web的类之一)帮助?
答案 0 :(得分:3)
确保在项目参考中包含System.Web 这些(在Visual Studio IDE中):
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)
。