C# windows phone 7隔离存储-不允许操作

C# windows phone 7隔离存储-不允许操作,c#,windows-phone-7,isolatedstorage,isolatedstoragefile,C#,Windows Phone 7,Isolatedstorage,Isolatedstoragefile,所以我一直在做一个简单的游戏,我想实现一个高分系统。一旦播放器第一次加载主页,创建了一个新的文本文件(“hsc.txt”),并且插入了一些伪值,这些伪值随后被程序分割,但是,目前我的代码抛出了一个System.IO.IsolatedStorage.IsolatedStorageException,我似乎找不到问题。我已经查找了从消息框中得到的错误,该消息框是“-不允许操作”,但所有发布的解决方案似乎都不起作用。我试着关闭了溪流,但似乎不起作用 如有任何建议,将不胜感激 private void

所以我一直在做一个简单的游戏,我想实现一个高分系统。一旦播放器第一次加载主页,创建了一个新的文本文件(“hsc.txt”),并且插入了一些伪值,这些伪值随后被程序分割,但是,目前我的代码抛出了一个
System.IO.IsolatedStorage.IsolatedStorageException
,我似乎找不到问题。我已经查找了从消息框中得到的错误,该消息框是“
-不允许操作”
,但所有发布的解决方案似乎都不起作用。我试着关闭了溪流,但似乎不起作用

如有任何建议,将不胜感激

 private void hasHighscores()
      {
        String fileName = "hsc.txt";
        using  (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isoStorage.FileExists(fileName))
            {
                isoStorage.CreateFile(fileName);

                       using (var isoStream = new IsolatedStorageFileStream(fileName,   FileMode.Append, FileAccess.Write, isoStorage))
                    {
                        using (var fileStream = new StreamWriter(isoStream))
                        {
                            fileStream.WriteLine("n1:666,n2:777,n3:888,h1:666,h2:777,h3:888");
                            fileStream.Close();
                        }
                        isoStream.Close();

                    }
            }
        }  
    }

到目前为止,我已经:a)更改了文件模式b)更改了文件访问权限和一些我都不记得的其他“快速修复”。方法
CreateFile
将流返回到创建的文件,并保持其打开状态。因此,当您试图在下一行中打开指向同一文件的流时,它会抛出一个异常,因为该文件已被锁定

您可以按如下方式重写代码:

 private void hasHighscores()
 {
        String fileName = "hsc.txt";
        using  (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isoStorage.FileExists(fileName))
            {
                using (var isoStream = isoStorage.CreateFile(fileName))
                {
                    using (var fileStream = new StreamWriter(isoStream))
                    {
                        fileStream.WriteLine("n1:666,n2:777,n3:888,h1:666,h2:777,h3:888");
                    }  
                }
            }
        }  
    }

我还删除了
stream.Close()
指令。当您使用语句将流包含在
中时,将自动调用close方法。

方法将流返回到所创建的文件,并使其保持打开状态。因此,当您试图在下一行中打开指向同一文件的流时,它会抛出一个异常,因为该文件已被锁定

您可以按如下方式重写代码:

 private void hasHighscores()
 {
        String fileName = "hsc.txt";
        using  (var isoStorage = IsolatedStorageFile.GetUserStoreForApplication())
        {
            if (!isoStorage.FileExists(fileName))
            {
                using (var isoStream = isoStorage.CreateFile(fileName))
                {
                    using (var fileStream = new StreamWriter(isoStream))
                    {
                        fileStream.WriteLine("n1:666,n2:777,n3:888,h1:666,h2:777,h3:888");
                    }  
                }
            }
        }  
    }
我还删除了
stream.Close()
指令。当您使用
语句将流包含在
中时,将自动调用close方法