我想使用Server.MapPath()方法将我创建的一个虚拟目录映射到它的物理路径。
问题是.net环境无法识别Server.MapPath()。
谷歌告诉我应该使用System.Web来使用HttpContext.Current.Server,但尽管我使用了System.Web,但HttpContext却无法识别。(我已经检查过了- HttpContext是System.Web的类之一)
帮助?
发布于 2009-10-05 09:20:43
确保您的项目引用中包含了System.Web (在Visual Studio IDE中):
click OK >右键单击项目节点(解决方案资源管理器窗口),在上下文菜单上单击Add Reference
Server.MapPath现在应该可以使用了。
发布于 2009-10-05 09:22:07
如果您有一个web应用程序,您应该自动拥有对System.Web.dll的引用,并且您应该能够访问System.Web.HttpContext类。检查您是否没有意外地删除引用。您需要一条using System.Web;语句来访问HttpContext类,而不指定完整的命名空间。
如果您没有web应用程序,则必须添加对System.Web.dll的引用才能访问HttpContext类,但这对您没有多少帮助。由于您不在web应用程序中,因此没有HTTP上下文,也没有web根文件夹,因此不能使用MapPath方法。
发布于 2011-06-13 03:20:59
这里也有同样的问题。在ASP.net 4.0 web应用程序中,在.ashx处理程序中,顶部有一个using System.Web。我不能使用Server.MapPath(),这是我在书中说要使用的,也不能使用System.Web.HttpServerUtility.MapPath(),它是谷歌和微软开发网不断出现的。我也不能像上面提到的那样使用HttpServerUtility.MapPath()。
然而,这里的另一个答案促使我尝试在我的ProcessRequest(HttpContext context)方法中使用context.Server.MapPath()。
https://stackoverflow.com/questions/1518976
复制相似问题