カスタムメイドの ERP アプリケーションを 4 年以上使用していますが、実際には、アプリケーションのパフォーマンスに影響を与える設計上の問題がいくつかありました。
実際問題は、このアプリケーションがヘビーデータ アプリケーション、つまりビジネス アプリケーションに分類されることです。
最大の悪い設計上の問題は、特定のビジネス ユニットのデータ全体を取得し、それをコントロールに割り当てたり、メモリ (ArrayLists、Generic Lists など) に保持したりして、ユーザーにナビゲーションと完全なアプリケーションの柔軟性を与えることです。スピードレスポンス。
最初の 2 年間の使用では問題に気づきませんでしたが、その期間の終わりまでに、アプリケーションのパフォーマンスに関する苦情がますます増えています。
CRUD 操作 (Get、List、Delete、Insert、Update SP) 用に生成されるストアド プロシージャを使用して、ADO.NET を使用していました。データ アクセス レイヤーに必要な変更を加えて生成された SP であり、レイヤーに実際の分離がなかったという事実により、その変更を行うのは簡単な手段ではありません。したがって、最初の解決策は、バランスを取るためにいくつかのデータベース強化を行うことです。この膨大なデータ トラフィックが発生しますが、この問題は約 6 か月間再発します。
ですから、今こそ間違いを正すときだと思います (非常に遅い決定です)。最終的には次の解決策が得られます。
Windows アプリケーションではなく Web アプリケーションを使用することで、サーバーの能力を最大限に活用し、接続のトラフィックを最小限に抑えることができます。
アプリケーションを再設計して、年末を処理し、すべてのデータを取得せず、古い Fusion ADO.NET よりも優れた ORM を使用するが、Windows フォームに固執し、同じアプリケーションを使用する
時間枠 (ある程度制限されています)、チーム メンバー (2 名、どちらも Windows と Web 開発の経験が豊富です) によると、今すぐ決定を下すことはできません。予想以上の時間。
私にアドバイスできますか?
C# 4.0、ASP.NET Web フォーム (MVC 初心者) を使用しています。