我需要使用Server.MapPath()一些文件,我存储在web.config路径结合起来。

然而,由于Server.MapPath()依赖于当前HttpContext(我认为),我无法做到这一点。当尝试使用方法,即使它的“可用”,我得到以下异常:

  

服务器操作不可用在此上下文中。

是否有可以映射web根相对目录如~/App_Data/到完整物理路径如C:\inetpub\wwwroot\project\App_data\?另一种方法

有帮助吗?

解决方案

您可以尝试 System.Web.Hosting .HostingEnvironment.MapPath()

不需要的HttpContext。

其他提示

使用AppDomain.CurrentDomain.BaseDirectory因为Context可能返回null !!

当在Global.asax中,使用 上下文 对象:

context.Server.mappath()

上下文允许您还访问会话集合,请求对象,响应对象。非常有用,当你想记录错误,例如:

您可以尝试HttpContext.Current.Server.MapPath(“/”) - 这是怎样我在上课前引用它

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top