c#如何在web.config中给出相对路径

本文关键字:相对 路径 config web | 更新日期: 2023-09-27 18:21:26

这里是文件夹结构

D:
|_ MYPROJECT
|   |_web.config
|_ SAMPLE
    |_xml-file

在web.config中,我给出了绝对路径为:

   <add key="XMLPATH" value=" D:'SAMPLE'xml file" />

现在,如何将此路径更改为相对路径?我在下面试过了,但不起作用。

    <add key="XMLPATH" value=" ..'..SAMPLE'xml-file" />

c#如何在web.config中给出相对路径

我有这个旧代码。每当我想在设置xml配置中放入一个相对文件路径名时,我都会调用这个助手函数。

public class DirectoryHelpers
{
    public static string FindPhysicalRootDirectory(Page p)
    {
        string rootDir;
        //rootDir = p.Server.MapPath("/");
        rootDir = p.Server.MapPath("~/");
        return rootDir;
    }
    public static string FindVirtualRootDirectory(Page p)
    {
        return "~/";
    }
}

举个例子:

public partial class DirectoryCheck : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string x = string.Concat("Physical Directory: ", Common.DirectoryHelpers.FindPhysicalRootDirectory(this.Page));

    }
}

附件1:

一旦有了FindPhysicalRootDirectory,就可以从web.config中读取RELATIVE文件路径,并使用System.IO.path.Combine组合这两个值。

我认为你应该试试这个:

<add key="XMLPATH" value="SAMPLE'xml-file" />