iis 如何获取Web服务中的当前目录

zf9nrax1  于 2023-04-21  发布在  其他
关注(0)|答案(7)|浏览(240)

我正在使用System.IO.Directory.GetCurrentDirectory()来获取Web服务中的当前目录,但这并没有为我提供当前目录。如何获取Web服务中的当前目录?
谢谢斯图尔特

ohtdti5x

ohtdti5x1#

在webservice中,您运行在http上下文中。因此,

HttpContext.Current.Server.MapPath("~/")

会给予你答案

dffbzjpn

dffbzjpn2#

你可以用

AppDomain.CurrentDomain.BaseDirectory;

这将为您提供应用程序的根目录。

u5rb5r59

u5rb5r593#

HttpContext.Current.Server.MapPath(".")将为您提供当前工作目录。
但是对于罗汉West关于可能在HttpContext之外的评论,最好直接调用:

HostingEnvironment.MapPath(".")

查看详情here

wxclj1h5

wxclj1h54#

HttpContext.Current.Server.MapPath(“~/”)Map回应用程序的根目录或虚拟目录。
HttpContext.Current.Server.MapPath(“~/”)〈-- ROOT
HttpContext.Current.Server.MapPath(“.”)〈-- CURRENT DIRECTORY
HttpContext.Current.Server.MapPath(“..”)〈-- PARENT DIRECTORY
以上都是相对的,所以你可以任意组合来遍历目录树.

93ze6v8z

93ze6v8z5#

最好的方法是使用
System.Web.Hosting下的HostingEnvironment.ApplicationPhysicalPath
更多信息请参考this link

des4xlb0

des4xlb06#

HttpContext.Current.Server.MapPath("~/")会让你得到应用程序的根目录吗?
这是最有可能的,因为你可能知道从那里的路径。
可能感兴趣的另一个选择:

HttpContext.Current.Server.MapPath("/Directory/")

无论如何,这都是从应用程序的根构建的。
如果没有第一个斜杠,这将从您调用的目录开始:

HttpContext.Current.Server.MapPath("Directory/")
xoefb8l8

xoefb8l87#

HttpContext.Current.Server.MapPath(“..”)[观察两个(..)点而不是(.)]给出站点虚拟目录的物理目录!

相关问题