【问题标题】:ASP.NET intranet application with "plug-in" ability具有“插件”能力的 ASP.NET 内网应用程序
【发布时间】:2012-07-26 03:38:43
【问题描述】:

我正在开发一个旨在成为 Intranet 应用程序的 ASP.NET 3.5 站点。怎么可能创建一种“插件”架构,这样我就可以在不重新编译站点的情况下向站点添加附加功能?我正在考虑将附加功能作为开发单独的模块,这些模块可以编译成可以“添加”到站点的 DLL。不知道这是否是处理这类事情的正确方法。我知道 DotNetNuke 可以满足这一点,您可以为其开发“模块”,但出于学习的目的,我想知道这是如何实现的?

我不知道这是否是要遵循的路线,或者我是否应该满足一切,并赋予某些功能打开关闭的能力?

【问题讨论】:

  • 为什么不通读 DNN 源代码?还是您在寻找更轻/更简单的东西?
  • 嗨抢劫!是的,我有点想实现一些更轻更简单的东西。有什么想法吗?

标签: plugins module asp.net-3.5


【解决方案1】:

这并不像听起来那么容易。

最简单的解决方案是使用框架和固定布局。然后每个框架将请求一个特定的页面,该页面将被路由到一个插件。渲染单个页面的各个部分要困难得多。

对于插件的发现,最简单的解决方案是 IOC 框架,它可以为您提取依赖项(插件)。

【讨论】:

  • 嘿TopBanana!谢谢第 4 次回复。这就是我的想法,除了在仪表板页面上,让系统发现可用插件,将其显示为可导航项目,然后将用户引导到包含插件功能的页面。
  • 国际奥委会?这是否类似于 Spring.Net 的基础?
  • Spring.Net 或 Castle Windsor 都可以。你也可以自己滚动一些东西来寻找给定目录中的任何程序集,然后将它们加载到你的应用程序域中。然后搜索所有类,直到找到实现 IMyPlugin 的类。
  • 嗨,TopBanana。感谢您提供更多信息。不熟悉您在回复的后半部分中描述的内容,但我目前正在研究 Spring.Net,并且肯定会研究温莎城堡。非常感谢!
  • 事实上,我还应该看看 ASP.NET 中的 MVC 模式,以尝试完成同样的任务。我在网上看到了一些描述它的东西,但没有收藏它!...google-time!
猜你喜欢
  • 1970-01-01
  • 2012-01-20
  • 2011-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
相关资源
最近更新 更多