嵌入整个目录结构

时间:2010-12-13 22:32:33

标签: asp.net embedded-resource

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

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

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

修改:如果我没有使用WebResource.axd,那么我就不需要添加[assembly: WebResource(...)]

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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