基于 ASP.NET 的门户类应用程序的实现
需要编写一个基于 ASP.NET 的门户网站应用程序。 应该有一个轻量级的中央应用程序,它实现主导航和身份验证。该设计是通过母版页实现的。
然后还有几个或多或少独立的应用程序(旧的和新的!!),它们应该轻松且独立集成到这个中央应用程序中(这应该是这些应用程序的入口点)。 哪些方式、架构、模式、技术和可能性可以帮助和支持实现这些目标?例如,在 iframe 中运行(子)应用程序是否有意义?
是否有(轻量级且易于学习)可以使用的门户框架(不是像“DOTNETNUKE”这样的大东西)?
非常感谢您的提示、技巧和帮助!
There is the requirement, to write a portal like ASP.NET based web application.
There should be a lightweigted central application, which implements the primary navigation and the authentication. The design is achieved by masterpages.
Then there are several more or less independent applications(old and new ones!!), which should easily and independent be integrated into this central application (which should be the entry point of these applications).
Which ways, architectures, patterns, techniques and possibilities can help and support to achieve these aims? For example makes it sense to run the (sub)applications in an iframe?
Are there (lightweighted and easy to learn) portal frameworks, which can be used (not big things like "DOTNETNUKE")?
Many thanks in advance for you hints, tips and help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要重新发明轮子! DotNetNuke 的特点是,它可以大也可以小,由您决定。如果你使用得当,你会发现你可以将其限制在你需要的范围内。不要让自己经历别人已经经历过的痛苦。当然,除非你只想从痛苦中吸取教训。
我并不是说 DNN 适合您。可能不是,但在决定编写自己的门户网站之前,请务必花时间调查一些开源门户网站。如果您从头开始编写您所描述的功能,则需要花费数千个小时来开发和测试它们。
@Michael Shimmins 对于如何使用一些较新的技术和最佳实践模式来实现门户应用程序提出了一些很好的建议。我想说,是的,这些都是非常好的建议,但我鼓励您要么找到已经这样做过的人,要么在 codeplex 上启动一个新的开源项目并让其他人来帮助您。
DON'T REINVENT THE WHEEL! The thing about DotNetNuke is that it can be as big or as small as you make it. If you use it properly, you will find that you can limit it to what you need. Don't put yourself through the same pain that others have already put themselves through. Unless of course you are only interested in learning from your pain.
I'm not saying that DNN is the right one for you. It may not be, but do spend the time to investigate a number of open source portals before you decide to write your own one. The features that you describe will take 1000s of hours to develop and test if you write them all from scratch.
@Michael Shimmins makes some good suggests about what to use to implement a portal app with some of the newer technology and best practice patterns. I would say, yes these are very good recommendations, but I would encourage you to either find someone who has already done it this way or start a new open source project on codeplex and get other to help you.
Daniel Dyson 提出了一个很好的观点,但如果你真的想自己实现它(可能有一个原因),我会考虑以下组件:
这种组合通过 MVC 为您提供灵活的用户界面,可以通过插件轻松添加(通过 MEF 公开和使用)。 ,一个标准数据访问库(NHibernate),可以通过单独的插件轻松配置以连接到特定数据库,能够发布事件并通过在运行时组成的组件(NServiceBus)“拾取它们”,
您可以使用IoC和DI 。传递根据您所需的配置在运行时解析的接口,使您可以灵活地定义每个插件可以执行的操作,然后将其留给插件来执行,而您的中央应用程序则控制诸如此类的横切问题。如身份验证、日志记录等。
Daniel Dyson makes a fine point, but if you really want to implement it your self (there may be a reason), I would consider the following components:
This combination gives you flexible user interface through MVC, which can be easily be added to via plugins (exposed and consumed via MEF), a standard data access library (NHibernate) which can be easily configured by the individual plugins to connect to specific databases, an ability to publish events and 'pick them up' by components composed at runtime (NServiceBus).
Using IoC and DI you can pass around interfaces which are resolved at runtime based on your required configuration. MEF gives you the flexibility of defining 'what' each plugin can do, and then leave it up to the plugins to do so, whilst your central application controls cross cutting concerns such as authentication, logging etc.