これが状況です。私たちは、WebForms に基づく一連の Web アプリケーションに新しいアプリケーションを追加しているので、MVC を導入するのに最適な時期だと感じました。
私は2つを混在させることについてすべての調査を行い、MVCルートを使用するプロジェクトをすべてセットアップしArea
、残りの(ビジュアルスタジオ)プロジェクトは実行中の方法でWebフォームで実行しました.
マスター ページは Razor レイアウトに変換されましたが、すべてのアプリケーション間で共有されるマスター ページが 1 つしかなかったため、それほど悪くはありませんでした。
私が今遭遇した問題は、ユーザー コントロールの再利用です。カスタム ユーザー コントロールが多数あり、その多くは非常に複雑で、すべてのアプリケーションで再利用されています。それらのほとんど (特に移植が難しいもの) は、ViewState とポストバックでかなりの量を実行します。
これらを MVC で書き直すだけであれば、1 回のコストは理想的とは言えませんが、ひどいものではありません。しかし、既存のアプリも維持および更新する必要があるため、まったく異なるパラダイムを使用して同じ動作の 2 つのバージョンを維持すると、生産性が大幅に低下するようです。
私の直感では、本当に良い解決策はなく、このプロジェクトで MVC に移行するという考えを放棄し、Web フォームに固執する必要があるかもしれませんが、SO コミュニティがこのシナリオで何をすべきかについて洞察を持っているかどうかを確認したかったのです。 .