0

我正在一个具有多个业务领域的 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)

我查看了无数关于它的文章,但它们都以控制渲染结束,而不是页面。太令人沮丧了。

4

1 回答 1

0

虽然这不是您问题的答案,但由于我的建议很长,我将其添加为答案。我建议您研究一下NopCommerce采用的方法,他们使用自己的框架在 .net 上进行了扩展,该框架支持插件和现有解决方案的扩展。虽然我绝对知道 nopcommerce 是一种电子商务解决方案,但是如果您研究它,您可以根据您的业务需求对其进行修改,或者至少它可以让您了解在设计解决方案时应该采用什么。希望能帮助到你。

于 2012-08-24T11:09:49.027 回答