我正在使用System.IO.Directory.GetCurrentDirectory()来获取我的Web服务中的当前目录,但这不会给我当前目录.如何获取Web服务中的当前目录?
谢谢斯图尔特
dri*_*iis 46
在Web服务中,您正在http上下文中运行.所以,
HttpContext.Current.Server.MapPath("~/")
Run Code Online (Sandbox Code Playgroud)
会给你答案.
fel*_*ckz 22
HttpContext.Current.Server.MapPath(".") 将为您提供当前的工作目录.
但是对于Rohan West关于可能存在于HttpContext之外的评论,最好只调用:
HostingEnvironment.MapPath(".")
Run Code Online (Sandbox Code Playgroud)
详情请见此处
小智 21
您可以使用
AppDomain.CurrentDomain.BaseDirectory;
Run Code Online (Sandbox Code Playgroud)
这为您提供了应用程序的根目录.
Mil*_*eat 19
HttpContext.Current.Server.MapPath("〜/")映射回应用程序或虚拟目录的根目录.
HttpContext.Current.Server.MapPath("〜/")< - ROOT
HttpContext.Current.Server.MapPath(".")< - CURRENT DIRECTORY
HttpContext.Current.Server.MapPath("..")< -家长目录
以上所有都是相对的,所以你可以任意组合来遍历目录树.
HttpContext.Current.Server.MapPath("~/") 会得到应用程序的根目录吗?
这很可能是因为你可能知道那里的路径.
另一个可能感兴趣的选择:
HttpContext.Current.Server.MapPath("/Directory/")
Run Code Online (Sandbox Code Playgroud)
无论如何,这都是从应用程序的根目录构建的.
没有第一个斜杠,这将从您调用的目录作为开始:
HttpContext.Current.Server.MapPath("Directory/")
Run Code Online (Sandbox Code Playgroud)