我的asp.net应用程序,我必须在system32目录中读取一些文件。
喜欢
C:/windows/system32/xx.config
但我总是得到“FileNotFound”例外。
这似乎与权限问题有关
如何解决?
更新
XmlDocument doc=new XmlDocument();
string file = Environment.GetFolderPath(Environment.SpecialFolder.System) +"\\inetsrv\\config\\applicationHost.config";
string dir = Environment.GetFolderPath(Environment.SpecialFolder.System) +"\\inetsrv\\config";
log.Info(Directory.Exists(dir)); // ==> true
log.Info(File.Exists(dir+"\\applicationHost.config")); // ==> false
if(File.Exist(file))
doc.load(file);
即使我将System
更改为SystemX86
,结果也不会改变。
然后我直接加载文件而不检查它是否存在:
XmlDocument doc=new XmlDocument();
string file = Environment.GetFolderPath(Environment.SpecialFolder.System) +"\\inetsrv\\config\\applicationHost.config";
doc.load(file);
然后我明白了:
访问路径 “C:\ Windows \ System32 \ inetsrv \ config \ applicationHost.config”被拒绝。
该文件似乎受到保护,因此我尝试为文件及其父文件夹的用户“NetWorkService”添加所有权限(读/执行/写入)。
但是异常仍然存在。