使用子应用程序的Web应用程序的建议/建议

时间:2010-06-18 19:01:00

标签: asp.net asp.net-mvc architecture mvp wcsf

我开始考虑并开发一个大型Web应用程序的架构,我想获得有关使用哪些技术和/或框架的建议和/或建议。

该应用程序将是一个基于Intranet的网站,使用Windows身份验证,在IIS上运行并使用ASP.NET。它需要构建为具有子Web应用程序的主Web应用程序。从本质上讲,整个范围是基于浏览器的复合Intranet应用程序,由离散的,功能完整的模块或子应用程序组成。

此复合Web客户端应用程序将具有主模块或shell模块,以提供整体用户界面结构。此外,shell模块将提供对所有单个子应用程序或模块可以使用的公共服务的访问。然后每个子应用程序/模块将包含其自己的功能和实现,但与shell用户界面集成。

接下来,基于用户和哪些子应用程序可用,主应用程序或shell应用程序将动态构建选项卡(或按钮或其他内容)作为访问每个单独应用程序的方式。而且,我们将把用户和应用程序数据存储在数据库表中。

因此,例如,我们将有一个报告应用程序,一个显示应用程序,以及可能还有其他几个不同的应用程序。在启动主/ shell应用程序时,在确定用户是谁之后,主应用程序将查询数据库以确定用户可以使用哪些子应用程序并构建UI。然后,用户可以在可用的子应用程序之间导航,并在每个应用程序中进行工作。

我希望这一切都有道理。

无论如何,我想知道哪些(如果有的话)预先存在的技术/框架最适合用于架构和开发这样的系统。

Web客户端软件工厂是一个不错的选择吗? 其他一些MVP解决方案会是一个不错的选择吗? ASP.NET MVC会是一个不错的选择吗? 别的???? 这些都不是一个好的选择,我们应该从头开始使用网络表单开发所有内容吗? 我应该知道的任何其他信息?

感谢!!!!

2 个答案:

答案 0 :(得分:0)

ASP.Net MVC2也便于使用区域。这是一个可能有用的链接

http://odetocode.com/Blogs/scott/archive/2009/10/13/asp-net-mvc2-preview-2-areas-and-routes.aspx

基本上你可以使用区域来打破你的“子应用程序”

答案 1 :(得分:0)

在讨论框架之前,在构建这样一个系统时可以考虑一些要点(可以插入子应用程序):

  • 可能的集成点(数据,服务,业务逻辑,UI)
  • 横切关注点(系统日志记录,审计日志记录,配置,安全性)
  • 谁将开发子应用程序(您,在您的办公室工作的人,或任何人/更大的社区)

我认为在跳跃和构建框架(或选择现有框架)之前,您需要先退后一步思考这些方面。

就farmeworks而言:你会发现许多框架,但很少有人提供你所追求的全部内容:

  • ASP.NET WebForms基本上是一块完全空白的土地 - 您必须自己构建大部分内容,或引入其他框架(例如MS企业库)
  • ASP.NET MVC实际上是一样的,但风格不同。

这些都不是“框架”,但您可以使用其中任何一个作为低级别基础'平台'。

  • MS Ent Libs非常适合横切关注(例如数据访问,日志记录等),但仅此而已。
  • 还有一系列好的Dependency Inversion frameworks,但这些并不是一个完整的解决方案。

最重要的是控制依赖关系:确保抽象出数据层(一开始),遵循接口隔离,重用等原则。

你可以考虑的一个选项(我在这里吹自己的小号 - 所以我不公正)是我建立的开源.net应用程序框架('Morphfolia'它带我大约5年,兼职)。即使您不使用它,您也可以找到一些可以“窃取”的好主意或代码:

Morphfolia:

可在http://morphfolia.codeplex.com/

下载