实现基于ASP.NET的类似门户的应用程序

时间:2010-07-06 08:24:33

标签: asp.net web-applications dotnetnuke portal

要求编写像基于ASP.NET的Web应用程序这样的门户网站。 应该有一个轻量级的中央应用程序,它实现主要导航身份验证。该设计由 masterpages 实现。

然后有几个或多或少独立的应用程序(新旧的!!),应该轻松独立集成到这个中心应用程序(应该是这些应用程序的切入点)。 哪些方式架构模式技术可能性可以提供帮助和支持实现这些目标?例如,在 iframe

中运行(子)应用程序是否有意义

是否有(轻量级且易于学习)门户框架,可以使用(不是像“DOTNETNUKE”这样的大事)?

非常感谢您的提示,提示和帮助!

2 个答案:

答案 0 :(得分:3)

不要重新使用轮子!关于DotNetNuke的事情是它可以像你做的一样大或小。如果你正确使用它,你会发现你可以将它限制在你需要的范围内。不要让自己经历其他人已经完成的痛苦。当然,除非你只是想从痛苦中学习。

我不是说DNN对你来说是正确的。它可能不是,但在您决定编写自己的门户网站之前,请花时间调查一些开源门户网站。如果您从头开始编写它们,那么您描述的功能将需要1000个小时来开发和测试。

@Michael Shimmins对使用一些新技术和最佳实践模式实现门户应用程序的用途做了一些很好的建议。我想说,是的,这些是非常好的建议,但我鼓励你找到一个已经这样做过的人,或者在codeplex上开始一个新的开源项目并让其他人帮助你。

答案 1 :(得分:2)

Daniel Dyson提出了一个很好的观点,但是如果你真的想要实现它(可能有一个原因),我会考虑以下组件:

  • MVC 2.0
  • 控制/依赖注入的反转(例如StructureMap)
  • 托管扩展性框架
  • NHibernate(直接或通过诸如Sh#rp或Spring.NET
  • 之类的库
  • 服务总线(例如NServiceBus)。

这种组合通过MVC为您提供灵活的用户界面,可以通过插件轻松添加(通过MEF公开和消费),标准数据访问库(NHibernate),可以通过各个插件轻松配置连接到特定数据库,发布事件的能力以及在运行时组成的组件(NServiceBus)“拾取它们”。

使用IoC和DI,您可以传递根据所需配置在运行时解析的接口。 MEF为您提供了灵活性,可以定义每个插件可以执行的操作,然后将其留给插件进行操作,同时您的中央应用程序可以控制交叉问题,例如身份验证,日志记录等。