将文件写入Common Application Data文件夹被拒绝

时间:2009-09-25 07:50:57

标签: c# .net permissions

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

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();
}

以上代码在管理员帐户中完美运行,但在受限用户帐户中失败

1 个答案:

答案 0 :(得分:14)

受限用户通常不具有对所有用户通用的文件夹的写入权限。你确定你不是要写一个不同的文件夹吗?

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