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

基于ASP.NET的类门户应用程序的实现,asp.net,web-applications,dotnetnuke,portal,Asp.net,Web Applications,Dotnetnuke,Portal,需要编写一个类似ASP.NET的门户网站的web应用程序。 应该有一个lightweigted中央应用程序,它实现了主导航和身份验证。该设计通过母版页实现 然后有几个或多或少的独立应用程序(旧的和新的!!),它们应该轻松地,独立的集成到这个中心应用程序中(应该是这些应用程序的入口点)。 哪些方法、架构、模式、技术和可能性可以帮助和支持实现这些目标?例如,在iframe中运行(子)应用程序是有意义的 是否有(轻量级且易于学习)门户框架可以使用(而不是像“DOTNETNUKE”这样的大东西) 非常感

需要编写一个类似ASP.NET的门户网站的web应用程序。 应该有一个lightweigted中央应用程序,它实现了主导航身份验证。该设计通过母版页实现

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

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


非常感谢您的提示、提示和帮助

不要重新发明轮子!DotNetNuke的一点是,它可以像你做的那样大,也可以像你做的那样小。如果你使用得当,你会发现你可以把它限制在你需要的范围内。不要让自己经历别人已经经历过的痛苦。当然,除非你只想从痛苦中学习

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


@Michael Shimins就如何使用一些新技术和最佳实践模式实现门户应用提出了一些很好的建议。我会说,是的,这些都是非常好的建议,但我鼓励你要么找到已经这样做过的人,要么在codeplex上启动一个新的开源项目,并让其他人来帮助你。

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

  • MVC2.0
  • 控制/依赖注入的反转(例如StructureMap)
  • 托管可扩展性框架
  • NHibernate(直接或通过诸如Sh#rp或Spring.NET之类的库
  • 服务总线(例如NServiceBus)
这种组合通过MVC为您提供了灵活的用户界面,MVC可以通过插件(通过MEF公开和使用)轻松添加到标准数据访问库(NHibernate)它可以通过单个插件轻松配置,以连接到特定的数据库,能够发布事件并通过运行时组成的组件“拾取”事件(NServiceBus)


使用IoC和DI,您可以传递在运行时根据所需配置解决的接口。MEF为您提供了定义每个插件可以做什么的灵活性,然后让插件自己去做,同时您的中央应用程序控制交叉问题,如身份验证、日志记录等。

问题是人们认为DNN之所以大是因为它的名字中有“核”这个词。