2

我在服务器 A 上有一个网站,它需要在服务器 B 上找到一个目录。

在我的 aspx 页面上,我有:

<mb:FileSystemDataSource
    ID="fileSystemDataSource" runat="server"
    RootPath="\\servername\Folder\Subfolder"
    FoldersOnly="true" />

mb 是程序集名称别名。

在我的 aspx.cs 页面上,我有:

protected void Page_Load(object sender, EventArgs e)
{
    DataTable gridviewSource = DisplayFilesInGridView();
    DataRow gridviewRow;

    //sets the server path so it does not default to current server
    string ServerPath = System.IO.Path.Combine(
        "//",
        this.fileSystemDataSource.RootPath);

    //Get All Folders Or Directories and add in table
    DirectoryInfo directory = new DirectoryInfo(Server.MapPath(ServerPath));
    DirectoryInfo[] subDirectories = directory.GetDirectories();
}

好吧,它会在 Server.MapPath 上引发错误,因为它找不到服务器。我已连接到网络。我查看了 IIS,我很确定这不是问题所在。如果是这样,我真的需要细节。任何帮助,将不胜感激。

4

2 回答 2

0

所以 Directory 不喜欢 Server.MapPath。我必须将 UNC 字符串硬编码到 Directory 构造函数中。

于 2012-12-11T15:04:32.210 回答
0
string ServerPath = System.IO.Path.Combine(
    "//",
    this.fileSystemDataSource.RootPath);

你确定这"//"就是你要找的吗?UNC 路径以"\\". 尝试在调试模式下运行你的程序,看看实际的ServerPath字符串是什么。

于 2012-11-20T22:56:34.170 回答