【问题标题】:How to read files in a mapped drive on asp.net website/page如何在 asp.net 网站/页面上的映射驱动器中读取文件
【发布时间】:2019-08-04 14:11:37
【问题描述】:

我想从提供的路径中列出文件。实际上,我需要从其他服务器上的给定文件夹中读取所有文件,而不是在我的 iis 服务器上。

我将驱动器映射到我的 iis 服务器上以读取它,但它在页面加载时要求我提供凭据。我不想要这个。我已将凭据保存在 iis 上上传页面的位置并映射驱动器。

     string xrayPath = @"\\172.18.0.23\or\CARM\" + xrayPath;
    List<FileInformation> directories = new List<FileInformation>();
    List<FileInformation> lstFiles = new List<FileInformation>();
    List<FileInformation> lstAllFiles = new List<FileInformation>();

      System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(xrayPath);



        int fileId = 0;
        PoplateFiles(ref lstFiles, ref directories, dir, 0, ref fileId);

        foreach (var file in directories)
        {
            file.isDirectory = true;
            lstAllFiles.Add(file);
        }

        foreach (var file in lstFiles)
        {
            file.isDirectory = false;
            lstAllFiles.Add(file);
        }

//////////

请帮帮我,当我测试它时它在 Visual Studio 中工作,但是当我在服务器上的 iis 上部署它时,它要求我提供凭据并且我在浏览器上提供凭据,即使这样也没有任何反应。请指导我。

【问题讨论】:

    标签: c# asp.net file networking drive


    【解决方案1】:

    我想我自己已经解决了这个问题。在我映射驱动器的服务器上,我创建了一个应用程序池,并在应用程序池的标识字段中选择了有权访问映射驱动器的用户,并将加载用户配置文件设置为 true。 然后我将该应用程序池分配给我的应用程序虚拟目录。现在,这段代码运行良好。在此之前,应用程序池上的身份用户实际上无法访问其他网络路径/映射驱动器。因此,我提供了有权访问路径的用户,即。在映射文件夹的安全选项卡中。现在它在该用户下运行,因此它不要求提供凭据。我希望它有效....

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多