Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 拒绝将文件写入公用应用程序数据文件夹_C#_.net_Permissions - Fatal编程技术网

C# 拒绝将文件写入公用应用程序数据文件夹

C# 拒绝将文件写入公用应用程序数据文件夹,c#,.net,permissions,C#,.net,Permissions,我使用了以下函数将数据写入用户应用程序文件夹 private void WriteToLog(string source, string method, string msg) { string LogFile =Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\test"; LogFile = LogFile + "\\Log.txt"; StreamW

我使用了以下函数将数据写入用户应用程序文件夹

private void WriteToLog(string source, string method, string msg)
{

 string LogFile =Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\test";            
 LogFile = LogFile + "\\Log.txt";
 StreamWriter sw = new StreamWriter(LogFile, true );
 string str = DateTime.Now.ToString() + "source=" + source + "\t Method=" + method + "\t" + msg;
sw.WriteLine(str);
sw.Flush();
sw.Close();
}

上述代码在管理员帐户中运行良好,但在有限用户帐户中失败

有限用户通常没有对所有用户公用的文件夹的写入权限。您确定不打算改为写入其他文件夹吗


例如,您可以使用
Environment.SpecialFolder.ApplicationData
(当前用户,漫游数据)或
Environment.SpecialFolder.LocalApplicationData
(当前用户,非漫游数据)。

我通常为有限用户帐户选择哪个文件夹,对于特定于用户但不一定仅限于该计算机的内容,可以使用ApplicationData;对于特定于用户且也特定于计算机的内容,可以使用LocalApplicationData(例如,取决于计算机安装的软件或安装路径的数据).那么,访问权限有限的非用户特定数据将存储在何处?@Rev1.0:您不能。Windows安全的一个基本原则是,如果您是有限的用户,则只允许存储针对您自己的数据。嗯,似乎不直观的是,没有一个位置可以保存一些通用的与应用程序相关的配置数据,这是所有用户所共有的,没有麻烦。如果使用Path.Combine,代码会更干净一些。