Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
三层VB.Net窗体与基于Web的ASP.Net解决方案-哪一种可以更好地扩展?_Asp.net_Vb.net_Visual Studio 2008 - Fatal编程技术网

三层VB.Net窗体与基于Web的ASP.Net解决方案-哪一种可以更好地扩展?

三层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三层体系结构 我们也非常感谢您提供有关该主题的文章链接 其他信息 客户端-明显

我正在做一个项目,帮助分析VB.NETWinForms应用程序可以承受的负载。这个应用已经生产了好几年,上面有很多产品。我们计划增加更多的产品,但看到客户足迹迅速增加。这导致系统整体性能下降

有人认为,将应用程序的UI密集型部分移动到ASP.Net将减少客户端占用空间并解决我们的许多问题

我的问题是,以下哪项在性能和负载方面可以更好地扩展? -基于ASP.Net(VB)的Web体系结构 -VB.NEt WinForms三层体系结构

我们也非常感谢您提供有关该主题的文章链接

其他信息

客户端-明显的问题是由于数据缓存(高cph利用率)而占用大量内存

中间层-包含BLC和DALC程序集的web服务(此处的利用率较低)

数据库-通过存储过程控制向DALC提供数据的多个数据库(中等利用率)

部署不是问题,我们有一个非常完善的方法论

提前感谢,,
Freeon

Winforms比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。