我想使用 Server.MapPath() 方法将我创建的虚拟目录映射到其物理路径。
问题是 .net 环境无法识别 Server.MapPath()。
Google 告诉我,我应该使用 System.Web 来使用 HttpContext.Current.Server,但尽管我使用 System.Web,但 HttpContext 无法识别。(而且我已经检查过 - HttpContext 是 System.Web 的类之一)
帮助?
我想使用 Server.MapPath() 方法将我创建的虚拟目录映射到其物理路径。
问题是 .net 环境无法识别 Server.MapPath()。
Google 告诉我,我应该使用 System.Web 来使用 HttpContext.Current.Server,但尽管我使用 System.Web,但 HttpContext 无法识别。(而且我已经检查过 - HttpContext 是 System.Web 的类之一)
帮助?
确保您已在项目中包含 System.Web 参考 执行以下操作(在 Visual Studio IDE 中):
Server.MapPath 现在应该可用。
如果您有一个 Web 应用程序,您应该自动拥有对 的引用System.Web.dll
,并且您应该可以访问System.Web.HttpContext
该类。检查您是否不小心删除了引用。您需要一个using System.Web;
语句来访问HttpContext
该类而不指定完整的命名空间。
如果您没有 Web 应用程序,则必须添加参考System.Web.dll
才能访问该HttpContext
课程,但这对您没有帮助。由于您不在 Web 应用程序中,因此没有 HTTP 上下文,也没有 Web 根文件夹,因此您不能使用 MapPath 方法。
这里同样的问题。在 ASP.net 4.0 Web 应用程序中,在 .ashx 处理程序中,using System.Web
顶部带有 a。我无法使用Server.MapPath()
我所说的要使用的书,或者System.Web.HttpServerUtility.MapPath()
Google 和 MSDN 不断出现的内容。HttpServerUtility.MapPath()
如上所述,我也无法使用。
但是,此处的其他答案之一促使我尝试context.Server.MapPath()
在我的ProcessRequest(HttpContext context)
方法中确实有效。