当前位置: 首页 > 面试题库 >

从数据库而不是从文件中提取视图

狄雅珺
2023-03-14
问题内容

是否可以从数据库而不是磁盘上的文件加载视图?它不一定必须是数据库,也可以是任何字符串。

我想我提这个问题还为时过早…我仍然期待任何答案,但是我一定会首先做更多研究。

编辑
所以我写了一个快速样本,可以满足我的要求。我会在一切正常运行时发布更新。

public class DbPathProvider : VirtualPathProvider {
    public DbPathProvider() : base() {

    }

    public override bool FileExists(string virtualPath) {
        if (virtualPath.StartsWith("/test") || virtualPath.StartsWith("~/test"))
            return true;

        return base.FileExists(virtualPath);
        //deal with this later
    }

    public override VirtualFile GetFile(string virtualPath) {
        if (virtualPath.StartsWith("/test") || virtualPath.StartsWith("~/test"))
            return new DbVirtualFile(virtualPath);

        return base.GetFile(virtualPath);
        //deal with this later
    }

    public class DbVirtualFile : System.Web.Hosting.VirtualFile {

        public DbVirtualFile(string path) : base (path) {
            //deal with this later
        }

        public override System.IO.Stream Open() {
            return new System.IO.MemoryStream(System.Text.ASCIIEncoding.ASCII.GetBytes("this is a test"));
        }
    }
}

更新
在玩了之后,我发现了一些有趣的东西。如果我return base...FileExists()GetFile()方法中删除,并且仅返回true,DbVirtualFile则返回的文件将被解析,并且输出将如预期的那样。(就像我放了一样<%:DateTime.Now.ToString()%>)-但是,当我添加测试并返回基数时,它没有输出,只是输出了我DbVirtualFile中的文字字符串(上帝,我希望这是有道理的)-有什么想法吗?

最终的
有用。我只是没有将继承添加到正在测试的页面中。在这种情况下:@inherits System.Web.Mvc.WebViewPage<dynamic>

希望这可以帮助其他尝试做同样事情的人。


问题答案:

是的,但是您必须创建一些新的提供程序。除了嵌入式文件,这是一个基本相同的问题。这是一个完全可以满足您需求的示例。



 类似资料:
  • 这就是我的生活。dat文件看起来像我想知道如何从中提取数据,就像我想让它像1::Toy Story(1995)在单独的列中一样。而且我想在没有熊猫的情况下做这件事,numpy有可能吗

  • 问题内容: 我试图提取具有特定文本文件之间的文本: 然后将其转储到文本文件中,以便 谢谢您的帮助。 问题答案: 这对我来说足够好了。您的样本数据在一个名为“ data.txt”的文件中,输出将进入“ result.txt”

  • 使用Camtasia创建的视频可以通过导出TechSmith智能播放器的项目在网络上共享。该视频以“H264-MPEG-4 AVC(part10)(avc1)”编解码器导出,导出还包括TechSmith智能播放器使用的其他自定义XML、JavaScript和SWF文件。 这些自定义文件也会“烧录”到视频中。例如,在文本编辑器中打开MP4视频时,可以查看XML文件的内容。这允许其他服务在上传Camt

  • 我正在寻找一个python库,能够提取一个mp3的实际数据(实际的声音/声音我们听)。我希望能够使用数据与另一个mp3文件进行比较,而不影响比特率/编码的过程。我该怎么做?

  • 我已经写了功能文件,我已经使用了示例关键字。其中一个输入没有传递到输入字段。 提供了多个用户名和密码,许多用户应该能够登录到newtours 场景大纲:使用凭据登录到帐户 给定用户导航到“ 和用户单击注册按钮 然后用户输入“”名字 然后用户输入“”lastname 和用户输入“”电话 然后用户输入“”emailaddress 和用户输入“”地址 和用户输入“”城市 并且用户进入“”状态 用户输入“

  • 我在造一个机器人来运行一个不和谐的游戏。玩家登录,他们的数据被推入一个数组,如下所示: