Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 具有子应用程序的Web应用程序的体系结构建议/建议_Asp.net Mvc_Model View Controller_Architecture_Frameworks_Mvp - Fatal编程技术网

Asp.net mvc 具有子应用程序的Web应用程序的体系结构建议/建议

Asp.net mvc 具有子应用程序的Web应用程序的体系结构建议/建议,asp.net-mvc,model-view-controller,architecture,frameworks,mvp,Asp.net Mvc,Model View Controller,Architecture,Frameworks,Mvp,我开始为一个大型web应用程序规划一个体系结构,我想获得关于从何处开始以及使用哪些技术和/或框架的建议 该应用程序将是一个基于Intranet的网站,使用Windows身份验证,在IIS上运行,并使用SQL Server和ASP.NET。它需要被构造为一个主/外壳应用程序,其中包含基于某些配置设置的“可插入”子应用程序 主应用程序或shell应用程序提供总体用户界面结构–页眉/页脚、为每个可用子应用程序动态构建的选项卡,以及当用户单击子应用程序的选项卡时将在其中加载子应用程序的内容区域。因此,在

我开始为一个大型web应用程序规划一个体系结构,我想获得关于从何处开始以及使用哪些技术和/或框架的建议

该应用程序将是一个基于Intranet的网站,使用Windows身份验证,在IIS上运行,并使用SQL Server和ASP.NET。它需要被构造为一个主/外壳应用程序,其中包含基于某些配置设置的“可插入”子应用程序

主应用程序或shell应用程序提供总体用户界面结构–页眉/页脚、为每个可用子应用程序动态构建的选项卡,以及当用户单击子应用程序的选项卡时将在其中加载子应用程序的内容区域。因此,在主/外壳应用程序启动时,将从数据库中查询配置信息,并且,基于用户和可用的子应用程序,主或外壳应用程序将动态构建选项卡(或按钮或其他内容),以访问每个应用程序。启动时,内容区域将填充“主页”子应用程序。但是,单击子应用选项卡将导致内容区域填充与该选项卡对应的子应用

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

最后,整个应用程序和所有子应用程序都需要分层设计,包括表示层、服务层、业务层和数据访问层,以及用于日志记录、异常处理等的交叉对象

无论如何,我的问题围绕着从哪里开始计划类似于此应用程序的东西

哪些技术/框架最适合为该应用程序开发解决方案? MVC?最有价值球员?WCSF?EF?尼伯酸盐?企业图书馆?存储库模式?其他????我知道所有这些技术/框架都不是用于相同的目的,但是知道应该关注哪些技术/框架有点难以承受。 哪一个是解决方案的最佳选择?在端到端的设计中,哪一个可以很好地协同工作? 一个人如何为这样的东西构建VS项目

谢谢

我认为这是此类项目的最佳基本框架。它非常灵活且可自定义,因此您可以在ASP.NETMVC的顶部为您的应用程序构建自己的高级框架

此外,我还建议您使用可插拔子应用程序注册-它绝对是.Net中扩展的最佳框架

请记住使用以使您的解决方案组件尽可能彼此独立。我最喜欢的是和,但这取决于项目和架构,所以你们需要阅读一些评论,在互联网上有很多

我无法告诉您什么ORM框架最适合您的解决方案。此外,我认为,它应该位于数据访问层,并且不会影响应用程序的其他层。最好在顶层使用,使业务逻辑/UI完全独立于DAL


另外,在主主机应用程序上实现一些公共服务层(如身份验证、日志记录等)并使它们对每个扩展应用程序通用也是一个好主意。顺便说一句,对于日志记录,我通常使用。

也许从一些小项目开始,学习每种技术的优点和缺点会是一个好的开始?这就像一个人打电话给一个体育脱口秀节目说,我有一个很短的问题,“棒球,你怎么打?”我认为这个问题太大了,无法在这里得到很好的回答,如果我能投票结束,我会的。不是因为我认为这没有价值,而是因为这不是你所问问题的论坛。@Stephanie Page你不认为作者是在问一些清单,比如
当我启动大型基于ASP.Net的web项目时,我应该记住哪些技术/模式
?几年前,我的团队开始了一个项目,他们错过了国际奥委会这样伟大的东西。后来,当他们开始用自动化测试覆盖代码时,这个错误非常痛苦。如果他们在开始之前有一些
最佳实践
清单,那么这个错误就永远不会发生。谢谢你提供的信息!这是很多好信息。我很感激。