本地读取测试服务器inetpub目录JSON文件遇JObject解析错误求助
问题分析与解决方案
错误本质
你遇到的Newtonsoft.Json.JsonReaderException并非JSON格式问题,而是File.ReadAllText没有读取到有效内容(返回了空字符串),核心原因大概率是权限问题,和inetpub目录的特殊权限设置直接相关。
核心原因:inetpub目录的权限限制
IIS默认的inetpub目录权限配置比普通共享目录严格:
- 该目录默认仅开放给IIS应用池账户、服务器本地管理员等有限身份访问
- 你本地运行程序时,是以当前登录Windows的用户身份访问共享服务器的
inetpub目录,这个用户大概率没有该目录的读取权限(需同时满足共享权限和NTFS文件系统权限要求) - 而
\\data\applications\...目录的权限规则更宽松,你的本地用户具备读取权限,因此能正常读取文件
验证方法
直接在本地资源管理器输入路径\\test\inetpub\wwwroot\meetings\token.json:
- 如果提示权限不足或无法打开,即可确认是权限问题
- 如果能正常打开文件,再检查程序运行身份(比如是否用了与当前登录账户不同的身份启动程序)
解决方案
- 申请权限:联系测试服务器管理员,给你的本地Windows用户添加
\\test\inetpub\wwwroot\meetings\目录的以下权限:- 共享权限:读取权限
- NTFS权限:读取和执行、列出文件夹内容、读取权限
- 迁移文件(推荐):避免直接读取IIS部署目录下的文件,将
token.json迁移到权限宽松的共享目录(比如你能正常访问的\\data\applications\...路径),规避后续权限变更引发的问题 - 检查程序运行身份:确保本地程序是以你具备共享权限的用户身份运行(比如不要用管理员身份启动VS,除非管理员账户有权限访问该共享目录)
内容的提问来源于stack exchange,提问作者erasmo carlos
相关产品推荐
相关产品推荐

