所以我试图在我的 C# 客户端应用程序中锁定一个隔离的存储文件,以便我的应用程序的多个副本无法同时访问它。我正在使用以下语法:
lockStream = new IsolatedStorageFileStream("my.lck", FileMode.OpenOrCreate, isoStore);
lockStream.Lock(0, 0);
此代码导致我的应用程序从框架的 FileStream.Lock 方法内部抛出 NullReferenceException。我尝试使用非零值作为长度。我尝试将一个字节写入文件,然后仅锁定该字节。无论我做什么,同样的 NullReferenceException 一直困扰着我。有谁知道这是否可以通过隔离存储实现?
此外,我也在研究在 Silverlight 应用程序中使用这种技术,Silverlight 是否支持文件锁定?MSDN 文档似乎表明它没有,但我从 C# MVP 中看到这篇文章说它有。
更新:微软已经修复了我在 Connect 上提交的错误,但它并未在框架的第 4 版中发布。它应该有望在下一个 SP 或完整版本中提供。