我们使用Microsoft Device Emulator开发和测试我们的移动应用程序(VS 2008 SP1,.NET CF 2.0和3.5,模拟器版本9.0.21022.8)。我们的项目是从映射到开发机器的本地文件夹的模拟存储卡启动的。这样我们就可以非常快速地部署,测试和调试更改,并且不受可用内部存储空间的限制。
可悲的是,存储卡驱动程序在访问大量文件时似乎非常不稳定,在访问共享文件夹中的资源时抛出随机FileNotFoundException
和UnauthorizedAccessException
。
以下演示代码会随i
(从8到> 100)的UnauthorizedAccessException
随机崩溃。在内部存储上创建文件时,代码不会崩溃。
private const string PATH = @"\Storage Card\Temp\";
private void button1_Click(object sender, EventArgs e)
{
if (!Directory.Exists(PATH))
{
Directory.CreateDirectory(PATH);
}
for (int i = 0; i < 1000; i++)
{
using (var stream = File.Create(Path.Combine(PATH, string.Concat(i, ".tmp"))))
{
}
}
}
示例:
我详尽地搜索了网络,发现有些人在遇到同样的问题,但没有找到任何解决方案。
我已经尝试过:
我的问题是: