gpt4 book ai didi

asp.net - 当谈论MEF时我们到底应该理解什么

转载 作者:行者123 更新时间:2023-12-02 16:08:29 24 4
gpt4 key购买 nike

我已经研究MEF(托管可扩展性框架)两天了。然而,我认为 MEF 无法给我带来我所期望的东西。

我想要一个软件设计:将有核心应用程序,并且应用程序的所有模块都将作为插件完成。例如,在电子商务应用程序中订单模块、事件模块等都应该作为插件添加。

问题是:我可以在 Asp.NET webform 上使用 MEF 进行这样的设计吗?

最佳答案

I want a software desing that: There will be core application and all modules of the application will be done as plugin

正是MEF 支持的场景类型。 MEF 是围绕组合未知类型集(MEF 中的部分)这一概念而设计的。这些部分是您的模块和插件。 MEF 负责发现这些部件,并将所有内容连接起来。 MEF 也不会将您限制为单一模型。 MEF 本身是可扩展的,这使得它具有如此强的适应性。

当您将 ASP.NET 与 MEF 结合使用时,您必须考虑应用程序的生命周期取决于其在 IIS 中的可用性。您还必须考虑到 Web 应用程序的运行时模型与桌面应用程序的运行时模型有很大不同。

我花了很多时间研究 MEF 和 ASP.NET(特别是 ASP.NET MVC),以下是我的文章的一些链接:

  1. Modular ASP.NET MVC using the Managed Extensibility Framework (MEF), Part One
  2. Modular ASP.NET MVC using the Managed Extensibility Framework (MEF), Part Two
  3. Modular ASP.NET MVC using the Managed Extensibility Framework (MEF), Part Three
  4. MVC3 and MEF
  5. Plug and Play Services with MEF and WCF

我想说,实现 MEF + ASP.NET MVC 集成可能比 WebForms 更容易,因为 MVC 的架构是模块化和可扩展的(尤其是在 MVC3 中)。对于 WebForms,您需要考虑页面事件和生命周期,以及如何将它们连接在一起。

如果你用谷歌搜索的话,网络上有一些很棒的资源,一些可靠的例子,不错的技巧等,比如蒂姆·罗伯特的文章,标题为 Defining Web-scoped parts with MEF 。 StackOverflow 上已经有大量涉及这个主题的问题(及其答案)。

您还可以使用 IoC 容器实现类似的结果,例如 CaSTLe Windsor、Ninject、Autofac 等。

关于asp.net - 当谈论MEF时我们到底应该理解什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7186017/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com