我正在编写一个应用程序,它需要我将 .aspx 页面嵌入到 dll 中。以前我有一个 httphandler 处理所有这些页面,并在代码中逐行构建它们。我了解到我实际上可以使用VirtualPathProvider
来提供嵌入的内容。有了布局和我想要实现的目标,我遇到了一些麻烦。
我之前使用 httphandlers 的项目是解决方案中的一个 dll 项目和一个网站项目。除了 web.config 之外,网站项目完全是空的。对此的唯一更改是标准的 httphandler 部分将所有网站调用指向我的 dll 项目,然后如果该页面在我的 dll 中不存在,则该部分会提供它包含的页面或将请求传递回 IIS。
这就是我现在想要实现的目标,而是使用它VirtualPathProvider
。我仍然不希望网站项目中的任何内容,但我似乎无法让 http 请求进入 dll 项目。我已经让 MSDN 示例在它自己的项目中完美运行(一切都在一个 Web 项目中),我想做的是将它们分开。
这甚至可能吗?我想是这样,但我在任何地方都找不到任何示例,每个人都想在一个项目中使用它而不是将它们分开。
这个想法是允许客户端进行最少的设置,第一个是通过将 dll 放在 Bin 目录中然后添加 3 行到 web.config 来安装的,就是这样。