如何在IIS中伪造目录列表?VirtualPathProvider适用于文件,但是



我们使用的是AppFabric 1.1&IIS 8.0来运行我们基于xamlx的工作流。为了消除静态xamlx文件,我们使用了Ron Jacobs完美的示例代码将它们存储在数据库中,并通过VirtualPathProvider提供xamlx内容。

http://blogs.msdn.com/b/rjacobs/archive/2011/06/15/how-to-load-wf4-workflow-services-from-a-database-with-iis-appfabric.aspx

到目前为止,如果有人点击了正确的uri,就会提供xamlx文件。

但现在AppFabric Dashboard没有机会收集和登记xamlx文件作为服务,因为它们对AppFabric不再可见。

目标必须是伪造一个目录列表,并从数据库中读取所有xamlx工作流名称。

我试图通过扩展VirtualPathProvider来做到这一点,方法是以这种方式覆盖基于目录的方法

    public override bool DirectoryExists(string virtualDir)
    {
        return base.DirectoryExists(virtualDir);
    }
    public override VirtualDirectory GetDirectory(string virtualDir)
    {
        if (IsPathVirtual(virtualDir))
        {
            return new VirtualDirectoryDecorator(base.GetDirectory(virtualDir));
        }
        else
        {
            return Previous.GetDirectory(virtualDir);
        }
    }

但这些方法并没有像我猜测的那样被调用。这是因为Uri没有扩展,asp.net也没有被调用。

感谢任何帮助,使这个虚假的目录列表发生!

感谢

您需要修改web.config文件以指示IIS必须为每个请求调用ASP.NET,这是通过应用程序根目录中的<modules runAllManagedModulesForAllRequests="true" />属性完成的。

我认为您应该重命名Question,因为乍一看,我认为您在内部使用VirtualPathProvider,并希望隐藏IIS自动生成的目录内容列表页面。

相关内容

  • 没有找到相关文章

最新更新