三层VB.Net窗体与基于Web的ASP.Net解决方案-哪一种可以更好地扩展?
我正在做一个项目,帮助分析VB.NETWinForms应用程序可以承受的负载。这个应用已经生产了好几年,上面有很多产品。我们计划增加更多的产品,但看到客户足迹迅速增加。这导致系统整体性能下降 有人认为,将应用程序的UI密集型部分移动到ASP.Net将减少客户端占用空间并解决我们的许多问题 我的问题是,以下哪项在性能和负载方面可以更好地扩展? -基于ASP.Net(VB)的Web体系结构 -VB.NEt WinForms三层体系结构 我们也非常感谢您提供有关该主题的文章链接 其他信息 客户端-明显的问题是由于数据缓存(高cph利用率)而占用大量内存 中间层-包含BLC和DALC程序集的web服务(此处的利用率较低) 数据库-通过存储过程控制向DALC提供数据的多个数据库(中等利用率) 部署不是问题,我们有一个非常完善的方法论 提前感谢,,三层VB.Net窗体与基于Web的ASP.Net解决方案-哪一种可以更好地扩展?,asp.net,vb.net,visual-studio-2008,Asp.net,Vb.net,Visual Studio 2008,我正在做一个项目,帮助分析VB.NETWinForms应用程序可以承受的负载。这个应用已经生产了好几年,上面有很多产品。我们计划增加更多的产品,但看到客户足迹迅速增加。这导致系统整体性能下降 有人认为,将应用程序的UI密集型部分移动到ASP.Net将减少客户端占用空间并解决我们的许多问题 我的问题是,以下哪项在性能和负载方面可以更好地扩展? -基于ASP.Net(VB)的Web体系结构 -VB.NEt WinForms三层体系结构 我们也非常感谢您提供有关该主题的文章链接 其他信息 客户端-明显
FreeonWinforms比ASP.NET具有更好的可扩展性 B/c A.当你使用ASP.NET客户端(浏览器)时,你要付出代价,html呈现——另一个代价,Viewstate——一个巨大的代价 关于视图状态-只要您在同一页面上操作,它就是一块可能会越来越多的数据 为了使asp.net Web表单高效(AJAX),您需要使用特殊的技术 你在winform上没有这个
无论如何-具体的答案应该了解您的产品功能、架构和设计,因此这是一个一般性建议。使用基于web的应用程序,您可以为web服务器本身和数据库服务器扩展服务器。我认为基于桌面的应用程序在可伸缩性方面会受到一定的限制,并且在完成更改/错误修复时需要更新每个客户端安装 基于web的应用程序也有负面影响。他们将生活在一个无状态的环境中,UI可能比桌面安装慢一些。使用大量Ajax/Javascript创建响应速度非常快的UI是可能的,但是这些RIA需求的开发时间可能比桌面开发要长。连接问题可能与用户浏览器等一起成为一个问题 快速部署更新是基于web的应用程序的一大好处。您只需管理一个安装,而不必管理多个安装 祝你的项目好运 没有足够的数据 就用户界面而言,桌面应用程序在所有情况下都应该优于基于web的应用程序(通过各种措施),但最微不足道的情况除外——这并不是说您无法生成一个非常体面、功能强大的web应用程序,但即使如此,Outlook web Access也不是桌面上的Outlook 为了进一步说明这一点,请看Silverlight和AdobeAIR所做的努力,它们试图通过web级部署提供桌面级功能 因此,问题变成了询问当前桌面应用程序中是什么导致了问题,即是部署问题、性能问题还是其他问题 如果它的部署问题,那么这将建议一组解决方案,如果它是一个性能问题,那么事情会变得更加有趣
无论哪种方式,都没有足够的数据来做任何事情,除了热情地进行概括您可以使用ClickOnce之类的工具来处理部署问题,同样地,部署到web服务器也不是一件简单的事情(特别是如果我们讨论的是负载平衡的安排).到底是什么原因导致web部署成为一件复杂的事情?考虑到这一点,请再说一遍,您到底希望扩展什么?它是后端的基础设施还是我们在桌面上的速度和性能?你也应该考虑代码维护的方便性。Winforms将比ASP.Net上的相同UI功能集更容易维护一个流畅、功能齐全的交互式UI。