我正在使用System.IO.Directory.GetCurrentDirectory()来获取我的Web服务中的当前目录,但这不会给我当前目录。如何获取Web服务中的当前目录?
由于 斯图尔特
答案 0 :(得分:46)
在Web服务中,您正在http上下文中运行。所以,
HttpContext.Current.Server.MapPath("~/")
会给你答案。
答案 1 :(得分:22)
HttpContext.Current.Server.MapPath(".")
将为您提供当前的工作目录。
但是对于Rohan West关于可能在HttpContext之外的评论,可能最好只是打电话:
HostingEnvironment.MapPath(".")
查看详情here
答案 2 :(得分:20)
您可以使用
AppDomain.CurrentDomain.BaseDirectory;
这为您提供了应用程序的根目录。
答案 3 :(得分:18)
HttpContext.Current.Server.MapPath(“〜/”)映射回应用程序或虚拟目录的根目录。
HttpContext.Current.Server.MapPath(“〜/”)< - ROOT
HttpContext.Current.Server.MapPath(“。”)< - CURRENT DIRECTORY
HttpContext.Current.Server.MapPath(“..”)< - PARENT DIRECTORY
以上所有都是相对的,所以你可以任意组合来遍历目录树。
答案 4 :(得分:10)
答案 5 :(得分:6)
HttpContext.Current.Server.MapPath("~/")
会让你获得应用程序的根目录吗?
最有可能的是,因为你可能知道那里的路径。
可能感兴趣的另一种选择:
HttpContext.Current.Server.MapPath("/Directory/")
无论如何,这都是从应用程序的根目录构建的。
如果没有第一个斜杠,则会将您调用的目录作为开头:
HttpContext.Current.Server.MapPath("Directory/")
答案 6 :(得分:0)
HttpContext.Current.Server.MapPath(“..”)[观察两个(..)点而不是(。)]给出网站虚拟目录的物理目录!