我正在一个具有多个业务领域的 Web 应用程序中工作。随着时间的推移,它的大小已成为开发和维护的问题。我想根据具有要共享的公共文件(母版页、资源、Css 等)的主根 Web 项目将 Web 项目分成几个子项目或库,理想情况下我希望有某种注入允许我有选择地发布该“组件”或简单地发布自定义变体,尽管它的配置取决于部署后的数据库设置。
我搜索了整个网络,阅读了与多个项目、依赖注入和复合应用程序相关的所有页面,直到我软化了我的头脑,但找不到任何真正有用的东西。理论方法或单元测试应用程序的主要部分(嗯,你不能制作你想要的应用程序,但你仍然可以对其他东西进行单元测试)其他方法在 VS2010 .Net 4.0 中根本不起作用
有人可以就完整的解决方案或示例向我介绍吗?或者干脆让我们讨论。
我们说该解决方案具有以下结构,其中模块内容已经分为目录:
解决方案
L_ Datalayer library project
L_ Bussiness logic /common utils library project
L_ Web project
L_ Controls
L_ Images
L_ Css....
L_ Warehouse
L_ Sales
Masterpages
...
Warehouse and Sales 包含与“模块”相关的页面
谢谢,
我发布了我在该主题上的进展。
根据 Steven 的建议,我使用 MEF 进行了更多实验。由于缺乏文档,特别是对于 web 表单,这是一个痛苦的*。到目前为止,我设法在我的解决方案中实现了 MEF,并成功地插入了一个对主应用程序可见的插件项目。
然后通过具有插件名称、默认页面 url 及其顺序的界面加载可用插件,选择所有这些数据并呈现菜单选项卡。那部分很容易。
单击菜单元素必须重定向到插件的主页,这将为其包含的页面呈现几个菜单(来自另一个导出界面)
我终于在插件项目中嵌入了一个 aspx 页面作为资源。我目前陷入困境的地方。
¿ 有没有办法使用 MEF 将嵌入的页面作为资源嵌入到库中,或者我也被迫使用 VirtualPathProvider?¿ 重定向到该页面的语句具体如何?我尝试了几种方法,但没有一种方法有效(MEF 和 VirtualPathProvider)
我查看了无数关于它的文章,但它们都以控制渲染结束,而不是页面。太令人沮丧了。