4

我已经使用HttpRuntime.AppDomainAppPath(像这样C:/personal/Website/page.aspx)获得了我的网站路径

Web 服务始终位于父文件夹的 page.aspx 父级(像这样C:/personal/Service/service.asmx)。我使用变量中的 ABC.dll 获取 webservice-path ,servicePath例如这个 string servicePath="C:/personal/Service/service.asmx"

如何根据网站路径检查服务路径?

If (GetWebPath()== GetServicePath())
{
     // ... do something
}     

private string GetWebPath()
    {
        string path = HttpRuntime.AppDomainAppPath;
        string[] array = path.Split('\\');
        string removeString = "";
        for(int i = array.Length; --i >= 0; )
        {
            removeString = array[array.Length - 2];
            break;
        }
        path = path.Replace(@"\" + removeString + @"\", "");
        return path;
    }

    private string GetServicePath()
    {
        string path = @"C:\MNJ\OLK\ABC.asmx"
        string[] array = path.Split('\\');
        string removeString = "";
        for(int i = array.Length; --i >= 0; )
        {
            removeString = @"\" + array[array.Length - 2] + @"\" + array[array.Length - 1];
            path = path.Replace(removeString, "");
            break;
        }
        return path;
    }
4

3 回答 3

1
string webPath = @"C:\blabla\CS_Web\website\";
string servicePath = @"C:\blabla\CS_Web\SPM\Server.asmx";

if(Path.GetDirectory(Path.GetDirectoryName(servicePath))==Path.GetDirectoryName(webPath)
{
   //You do something here
}

您必须使用 Path.GetDirectoryName() 将页面上移到父文件夹

于 2013-03-18T12:10:18.780 回答
1

尝试这个:

System.Web.Server.MapPath(webPath);

这将返回当前正在执行的 web 文件的物理文件路径。

更多信息可以在这里找到:System.Web.Server

于 2013-03-13T08:24:16.733 回答
1

如果您要检查以下路径:

string webPath = @"C:\blabla\CS_Web\website\";
string servicePath = @"C:\blabla\CS_Web\SPM\Server.asmx";

你应该打电话

string webPathParentDir = GetParentDirectoryName(webPath);
string servicePathParentDir = GetParentDirectoryName(servicePath);

if (servicePathParentDir.Equals(webPathParentDir, StringComparison.OrdinalIgnoreCase))
{
    // ... do something
}

用方法:

private string GetParentDirectoryName(string path)
{
    string pathDirectory = Path.GetDirectoryName(servicePath);

    return new DirectoryInfo(pathDirectory).Parent.FullName;
}
于 2013-03-13T09:51:12.633 回答