c# - Server.MapPath() 返回与 DirectoryInfo 一起使用时不存在的路径

标签 c# asp.net iis

我在 IIS6 中设置了虚拟目录。这映射到共享网络驱动器。

我可以使用正确映射路径

string mappedPath = HttpContext.Current.Server.MapPath(path);

然后,我创建一个 DirectoryInfo 对象,因为我想在目录中查找一些文件。

DirectoryInfo updateDirectory = new DirectoryInfo(mappedPath);

但是updateDirectory.Exists是假的?我可以从 mappedPath 中获取字符串并复制到“开始”->“运行”以到达该路径,这样我就知道它存在。我正在使用集成 Windows 身份验证对 Web 服务进行身份验证,并且拥有对必要文件夹的权限。

代码中是否有明显的我遗漏的内容?或者这纯粹是IIS等的设置和配置?

最佳答案

您需要检查您的服务工作进程帐户是否具有该文件夹的访问权限。据我所知,Windows 身份验证不会给工作流程带来模拟,因此它可能与您的 Windows 帐户不同。 或者(只是为了证明帐户问题),您可以使用您的帐户运行应用程序池,看看问题是否会消失。

关于c# - Server.MapPath() 返回与 DirectoryInfo 一起使用时不存在的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3289582/

相关文章:

c# - WebAPI 在返回 JSON 时正确序列化从抽象类型派生的类,但不序列化 XML

node.js - iisnode 在处理请求时遇到错误。 HTTP状态: 500

asp.net - 如何阻止基于发布数据的请求?

windows - IIS - 您无权查看此页面错误消息

c# - MVC 4 - 更改密码错误 : "Index (zero based) must be greater than or equal to zero..."

c# - 在不违反 DDD 聚合原则的情况下为 DI 公开实体 CRUD

c# - 如何取消选择 GridView 中的所有行 - asp.net?

asp.net 日历日期选择在 Firefox 中没有响应

c# - 如何通过颜色选择器更改 Asp.net 中页面的背景颜色

c# - Linq查询以计算数据表中的字段