在C#/ Windows中模拟文件的“拒绝访问”

时间:2013-02-08 13:15:51

标签: c# windows file testing

我试图为一个小C#例程编写集成测试,该例程读取不同的文件。

而且,好吧,我不小心认为进行测试会很棒,该测试会指定拒绝访问该文件时的情况。

有没有人知道在测试沙箱中模拟它的一种简单明了的方法?


  • 我怀疑这可以使用DirectorySecurity,进行模拟,但是,我不确定是否可以针对所有情况正确执行此操作:

      

    假设,例如,我可以剥离正在运行测试的当前用户的访问规则(这也需要UAC / Elevation)。

         

    我想在这种情况下,我将失去恢复这些权利的能力,并在测试完成后正确处理我的沙盒(不会潜入模仿和访问令牌操作等内容)。

  • 我可能可以使用Moles或任何其他基于模拟的方法执行此操作,但我对一般解决方案更感兴趣(例如,将本测试重用于本机应用程序)

我错过了什么?有任何简单的方式吗?

1 个答案:

答案 0 :(得分:4)

您没有明确表示您希望通过安全设置实现此目的,因此,为什么不在其他地方获得对该文件的独占访问权?

using(File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.None))
{
    //hold here to keep file locked
}