![](/img/trans.png)
[英]How can I exclude controller name from the virtual path when I use Server.MapPath()?
[英]How can I use Server.MapPath() from global.asax?
我需要使用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()
Context还允许您访问会话集合,请求对象和响应对象。 例如,当您想记录错误时非常有用
您可以尝试HttpContext.Current.Server.MapPath(“/”) - 这就是我之前在类中引用它的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.