当我尝试使用此代码时,我遇到了问题:
using (IsolatedStorageFile myISF = IsolatedStorageFile.GetUserStoreForApplication())
{
try
{
object _readLock = new object();
lock (_readLock)
{
var myFS = myISF.CreateFile(reply_FileName.Replace(" ", "_"));
StreamWriter mySW = new StreamWriter(myFS);
mySW.WriteLine(jsonToSave);
mySW.Close();
}
}
catch (IsolatedStorageException ex) { MessageBox.Show(ex.Message); }
}
我已经尝试使用StreamWriter
,但问题仍未解决。我有2页,在第一页上我使用:
using (myFS = new IsolatedStorageFileStream(Forms_path + form_ID + ".json",
FileMode.Create, FileAccess.Write, myISF))
{
using (StreamWriter mySW = new StreamWriter(myFS))
{
mySW.WriteLine(json);
mySW.Close();
}
myFS.Dispose();
}
myFS.Close();
它运作良好。只是第二个代码有问题。我尝试了很多变化,但都没有效果。
编辑:出现问题时,我在“输出”窗口中收到此消息:
mscorlib.ni.dll中出现'System.IO.IsolatedStorage.IsolatedStorageException'类型的第一次机会异常
EDIT2: 问题是我的文件名。我将日期添加到我的文件名中,“:”和“/”符号引起了麻烦。我觉得可悲......
答案 0 :(得分:0)
每次调用该方法时都会创建锁定对象,因此它不会阻塞其他线程,因此会出现异常。 _readLock变量应该是类中的静态字段。
答案 1 :(得分:0)
问题是我的文件名。我将日期添加到我的文件名中,“:”和“/”符号引起了麻烦。我觉得可悲......