我们已经使用定制的 ERP 应用程序超过 4 年,实际上有一些糟糕的设计问题影响了应用程序的性能。
事实上问题是,这个应用程序可以归类为大数据应用程序,也就是业务应用程序。
最大的糟糕设计问题是,我们正在获取特定业务单元的全部数据,并将其分配给控件,或将其保存在内存中(如 ArrayLists、Generic Lists),并为用户提供导航和完整应用程序的灵活性速度响应。
在前 2 年的使用中,我们没有注意到问题,但是到那个时期结束时,我们收到了越来越多关于应用程序性能的投诉。
我们曾经并且仍在使用带有存储过程的 ADO.NET,它是为 CRUD 操作(Get、List、Delete、Insert、Update SP)生成的,所以如果我们要分离每年的数据,我们必须重新设计那些自动在数据访问层生成具有所需修改的 SP,并且事实上没有实际的层分离,我们无法通过简单的方式进行修改,因此第一个即将到来的解决方案是进行一些数据库增强以平衡这个巨大的数据流量,但问题再次出现大约 6 个月。
所以我们认为现在是纠正错误的时候了(很晚的决定),但我们怎么能这样做呢?我们最终得到了这些解决方案:
使用 web 应用程序而不是 windows 应用程序,因此我们将能够使用我们服务器的全部功能,并最大限度地减少连接流量
重新设计应用程序以处理年终问题,不要获取所有数据,使用更好的 ORM 而不是旧的融合 ADO.NET,但坚持使用 Windows 窗体和相同的应用程序
并且根据时间框架(有限的一些方法),团队成员(2个,都有良好的windows,web开发经验),我现在无法做出决定,我担心windows应用程序修改可能需要更长的时间时间超出预期。
你能给我建议吗?
我正在使用 C# 4.0、ASP.NET Web 表单(MVC 新手)。