【问题标题】:Embedding whole directory structure嵌入整个目录结构
【发布时间】:2010-12-13 22:32:32
【问题描述】:

我有一个大型目录结构,其中包含相互依赖的 JavaScript、图像等。我想将它全部封装到一个 DLL 中,所以我只需要引用一个东西,而不需要跨项目拥有所有这些文件的多个副本。

因为文件相互依赖,我想我可以创建一个IHttpModule 来注册一个路由来接受/MyEmbeddedDir/subdir/file.js 等URL。 MyEmbeddedDir 中的任何内容都将由执行正确映射的自定义IHttpHandler 处理。然后,每个 Web 应用程序都需要引用 DLL 并将模块和处理程序添加到 web.config。这看起来合理吗?

另外,有没有比将构建操作设置为嵌入资源并将[assembly: WebResource(...)] 添加到每个文件(有几十个!)更简单的方法来嵌入/引用文件?谢谢!

编辑:如果我不使用 WebResource.axd,那么我不需要添加 [assembly: WebResource(...)]

【问题讨论】:

    标签: asp.net embedded-resource


    【解决方案1】:

    是的,拥有一个容器是管理大量文件的好方法(不,SQLite 在这里帮不上忙!;)。

    我们有一个名为 SolFS 的产品,它是一个虚拟文件系统,可让您将数据保存在自定义存储中(资源 DLL 是选项之一)并提供文件 API 用于访问文件。我们甚至为 IE 实现了异步可插拔协议(在客户端,但任务与您的非常相似)。 SolFS 包含一个管理器应用程序,可让您轻松创建容器文件并将文件导入容器。

    【讨论】:

    • 您的解决方案似乎适用于比我正在使用的更大的系统。
    【解决方案2】:

    我最终选择了IHTTPModule(注册路由)和IHTTPHandler(获取嵌入式资源)。路由可在web.config 中配置,以防与现有内容冲突。

    【讨论】:

      猜你喜欢
      • 2019-12-25
      • 1970-01-01
      • 2019-04-22
      • 1970-01-01
      • 1970-01-01
      • 2011-06-13
      • 2013-10-17
      • 1970-01-01
      相关资源
      最近更新 更多