【问题标题】:System.IO.Directory.Exists is giving an intermittent false negativeSystem.IO.Directory.Exists 给出间歇性假阴性
【发布时间】:2008-10-09 18:41:48
【问题描述】:

我在 ASP.NET 2 web site 中的以下代码行中遇到间歇性误报:

if (!System.IO.Directory.Exists(folder))

该文件夹显然存在,甚至包含一个日志文件,当 CLR 不谎报该文件夹的存在时写入该日志文件。任何帮助将不胜感激。

【问题讨论】:

    标签: .net asp.net


    【解决方案1】:

    Exists() 如果发生任何类型的 IO 错误,则返回 false,而不是抛出错误。需要注意的一件事是安全错误。 Exists 不执行网络身份验证,因此如果您访问网络共享,则需要预先进行身份验证,至少根据文档。我自己没试过。

    【讨论】:

    • 有趣的是,这个文件夹是共享的,虽然我没有设置共享。也许添加一个 IIS 用户意味着它应该被共享,它只是这样做了?当我尝试停止共享时,进度对话框就会挂起。
    【解决方案2】:

    是否可以在 asp.net 工作进程上执行proc mon 并验证它是否实际上正在检查该特定文件夹的存在?还要检查结果代码以解决任何拒绝访问错误。

    【讨论】:

    • 我的问题是我无法可靠地重现该错误。它只是偶尔发生。
    【解决方案3】:

    变量“文件夹”的调试时间值是多少? 它是存在于网站目录之外的文件夹吗?

    【讨论】:

    • 它作为网站目录的子目录存在。
    猜你喜欢
    • 2012-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    • 2017-03-30
    • 2018-09-02
    • 2015-09-28
    相关资源
    最近更新 更多