我编写了一个 Web 应用程序,用户可以在其中在共享文件夹中搜索文件,然后他们选择的文件将显示在浏览器中。当我通过 Visual Studio 运行应用程序时,一切正常。但是,如果我尝试通过 IIS 运行它,当共享文件夹中的 JSON 执行时,我会收到错误 500(内部服务器错误)。有没有权限限制?我会通过 VS 运行它,它使用我的凭据,但不会在我通过 IIS 运行它时运行吗?也许共享文件夹必须具有 IIS_IUSR 组的读取权限?我说得对吗?public JsonResult GetFiles(string MCodeID){ if (MCodeID == null) { throw new ArgumentNullException(nameof(MCodeID)); } List<Files> filelist = new List<Files>(); //Searching Files in //192.168.1.191 string path = @"\\192.168.1.191\Materials Project\"; string searchPattern = MCodeID + "*"; DirectoryInfo fi = new DirectoryInfo(path); if (fi.GetFiles(searchPattern, SearchOption.AllDirectories).Any()) { foreach (var file in fi.GetFiles(searchPattern, SearchOption.AllDirectories)) { var changeSlash = file.FullName.Replace('\\', '/'); var filepath = changeSlash.Replace("//192.168.1.191/Materials Project", ""); filelist.Add(new Files { FCodeID = filepath, FDescr = file.Name + " - " + Math.Round((Convert.ToDouble(file.Length) / (1024*1024)), 2) + " MB", FSize = Math.Round((Convert.ToDouble(file.Length) / (1024 * 1024)), 2) }); } filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--Select File--" }); return Json(new SelectList(filelist, "FCodeID", "FDescr")); } else { filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--No File--" }); return Json(new SelectList(filelist, "FCodeID", "FDescr")); }}当应用程序通过 IIS 执行时,有没有办法使用用户凭据?
添加回答
举报
0/150
提交
取消