ASP.NET VirtualPathProvider.DirectoryExists()有时是正确的,有时是错误的

时间:2014-09-26 20:34:19

标签: c# asp.net virtualpathprovider

在我的网络应用程序中,以下调用在应用程序启动期间提前返回true,然后由于某种原因返回false:

HostingEnvironment.VirtualPathProvider.DirectoryExists("~/some/existing/directory")

该文件夹存在,同时以下代码始终正确返回true:

System.IO.Directory.Exists(HostingEnvironment.MapPath("~/some/existing/directory"))

我不知道什么会影响VirtualPathProvider来改变行为。 VirtualPathProvider在应用程序启动时使用自定义实现进行覆盖,但不会覆盖DirectoryExists(),实际调用的方法始终为System.Web.Hosting.MapPathBasedVirtualPathProvider

我使用Process Monitor进行了检查,发生的文件系统操作对于正确和错误的结果是相同的。

任何人都知道什么可以打破DirectoryExists()(和BT FileExists()同样发生?

0 个答案:

没有答案