Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# VirtualPathProvider问题_C#_Asp.net_Virtualpathprovider - Fatal编程技术网

C# VirtualPathProvider问题

C# VirtualPathProvider问题,c#,asp.net,virtualpathprovider,C#,Asp.net,Virtualpathprovider,实现了一个虚拟路径提供程序,以便在新的web应用程序中动态加载共享项目中的一些文件。在dev/deployed和本地IIS中,一切都可以正常工作。在部署到生产环境时,我们在尝试查找“虚拟文件”时遇到“无法开始监视文件更改”错误。GetCacheDependency在我们的VirtualPathProvider中被重写,但当我远程调试时,该函数从未被命中。有什么想法吗 编辑: 我在全球asax中注册VPP。它只是在生产中失败了,这让我相信这是一个iis设置问题 在执行当前web请求期间生成了未经处

实现了一个虚拟路径提供程序,以便在新的web应用程序中动态加载共享项目中的一些文件。在dev/deployed和本地IIS中,一切都可以正常工作。在部署到生产环境时,我们在尝试查找“虚拟文件”时遇到“无法开始监视文件更改”错误。GetCacheDependency在我们的VirtualPathProvider中被重写,但当我远程调试时,该函数从未被命中。有什么想法吗

编辑:

我在全球asax中注册VPP。它只是在生产中失败了,这让我相信这是一个iis设置问题

在执行当前web请求期间生成了未经处理的异常。有关异常的起源和位置的信息可以使用下面的异常堆栈跟踪来识别

堆栈跟踪:


我认为您需要发布一些方法的内容。我的VirtualPathProvider的工作方式似乎相同,唯一的区别是我使用
返回新的System.Web.Caching.CacheDependency(HostingEnvironment.MapPath(“~/”+theDependencyFileName),utcStart)。你可以试试看,即使我不知道为什么它会有不同,如果你的baseDirectory是正确的。。。另外,我使用
base.GetCacheDependency
而不是
Previous.GetCacheDependency
。这可能就是为什么它会出现在web服务上。我已经尝试了Previous和Base,但仍然看到相同的问题。我试试你的其他建议,让你知道
  public override System.Web.Caching.CacheDependency GetCacheDependency(string virtualPath, System.Collections.IEnumerable virtualPathDependencies, DateTime utcStart)
    {
        if (CheckVirtual(virtualPath))
        {

            string realName = CustomVirtualPathProvider.CleansePath(virtualPath);

            return new System.Web.Caching.CacheDependency(baseDirectory + realName);

        }

        return Previous.GetCacheDependency(virtualPath, virtualPathDependencies, utcStart);
    }