微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决尝试第二次访问 json 文件时拒绝访问

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

首次访问:

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

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

解决方法

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

一般情况下,我们建议您将设置文件存储在 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();
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。