第二次尝试访问 json 文件时拒绝访问

Access Denied when trying to access a json file for the second time

我可以在初始化时访问一个文件一次,但不能第二次访问它。

首次访问:

static Gun()
    {
        using (var sr = new StreamReader(AppSettings))
        {
            Settings = JsonConvert.DeserializeObject<Settings>(sr.ReadToEnd());
            sr.Close();
        }

第二次访问:

 public static void Save()
    {
        // Changing to StreamReader doesn't work either
        using (var sr = new StreamWriter(AppSettings))
        {
            var settings = JsonConvert.SerializeObject(Settings);
            sr.WriteLineAsync(settings);
            sr.Close();
        }
    }

当我第二次尝试访问它时,出现未授权访问异常。不是正在使用的文件,而是未经授权的文件。为什么我的项目的范围或权限会在同一个应用程序中发生变化?

Access Denied when trying to access a json file for the second time

一般情况下,我们建议您将设置文件存储在 UWP 应用本地存储中。它具有完全访问权限。

例如

string settingFile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "SettingFile.json");

public void GetSetting()
{

    using (var reader = new System.IO.StreamReader(settingFile))
    {
        var json = reader.ReadToEnd();
        var settings = JsonConvert.DeserializeObject<Settings>(json);
        reader.Close();
    }
}

public void Save()
{

    using (var sr = new StreamWriter(settingFile))
    {
        var newSetting = new Settings()
        {
            ID = "SGML"`enter code here`  
        };
        var settings = JsonConvert.SerializeObject(newSetting);
        sr.WriteLineAsync(settings);
        sr.Close();
    }
}