2009-07-17 18 views
20

ASP.NET MVCに関するよくある質問の1つは、ASP.NET Webフォームで使用する理由です。その答えには、一般的にViewStateとクリーンURLなどが含まれます。最後に、あなたは仕事のための適切なツールを使用することについての宣伝を見つけると、彼らはさまざまな目的を果たします。しかし、私はこれらの目的が何であるかを今まで見たことはないと信じています。では、実際にASP.NET Webフォーム、ASP.NET Webフォーム、ASP.NET MVCよりASP.NET MVCを選択するのはいつですか?ASP.NET MVCとASP.NET Webフォームのどちらを使用するのですか?

+2

これはhttp://stackoverflow.com/questions/41712/traditional-asp-net-vs-mvcと、多くの、より多くのの複製です。私はちょうどhttp://stackoverflow.com/search?q=When+ASP.NET+MVC+ASP.NET+Web+Formsを検索し、それらを見つけました。 –

+0

それで自己完結の予言は完了です!この質問は検索の最上部に表示されます@JohnSaunders :) – JumpingJezza

答えて

29

ASP.Net MVC はまだ ASP.Netであるので、あなたは、ASP.Net MVCの上にASP.Netを選択しないでください。あなたはASP.Net MVCやASP.Net Webフォームを選択し実行すると、それを行うには十分な理由がたくさんあります:ユニットテストを数

  • を行うことが簡単
  • あなたのHTMLのコントロールを取得する

    • 簡単簡単なCRUD /ビジネスアプリケーションを一緒に入れて

      • 簡単:「落とし穴」

      一方、Webフォームは、彼らの好意で、いくつかのポイントを持っています非常に高速な

    • フォームパラダイムを学ぶために
    • 簡単ローカルLAN環境でのViewStateのパフォーマンスを打ちにくい

    結果は、あなたが(社内LAN環境でビジネスアプリケーションを構築している場合は正直まだほとんどであるということですWeb開発者)、Webフォームは本当に素晴らしいです。その意味で、マイクロソフトは実際に市場を知っています。しかし、公衆インターネット用のアプリケーションを構築する場合は、MVCが欲しいかもしれないので、徹底的にテストし、不要なViewStateやJavaScriptデータでページが膨らんでいないことを確認してください。

    また、過去数年にわたって変化してきたことは、多くの企業イントラネットアプリケーションでもホーム/リモートの使用をサポートする必要があり、MVCがその群衆にとってより魅力的なものになっています。

    +0

    "ローカルLAN環境でビューステートのパフォーマンスを凌駕する"というあなたの声明が不思議です。あなたはそれがネットワークの負荷を地元では少ないので、ネットワークのパフォーマンスについて心配する必要はありませんそれを示唆していますか? – Matt

    +4

    Viewstatesは非常に大きくなる可能性があります。サーバーがローカルでない場合、これは間違いなくパフォーマンスの問題です。 –

    +4

    絶対的なネットワーク負荷は同じです:60Kのビューステートはどこでも60Kです。ローカルネットワークへの60Kは何もありませんが、消費者のブロードバンド接続でもポストバックごとにアップロードされる60Kは、ページの表示速度をはるかに遅くする可能性があります。 –

    4

    私はあなたに明確な利点を持つ2つの目的を与えます。

    • あなたの目的がトラフィックの多い銀行になる公的なウェブサイトである場合は、MVCを使用してください。検索エンジンの最適化に最適です。

    • デスクトップアプリケーションのように機能するエンタープライズWebアプリケーションであれば、状態管理とリソースを基礎となるサーバーコントロールへのコンパートメント化によって、正しく使用すると大きな利点が得られます。

    +1

    サイトが検索エンジンによって容易に認識されるかどうかは、設計上考慮されないことが多いです。それがMVCのメリットであることは良い点です。 – Kivus

    +2

    検索エンジンの最適化は、MVC対WebFormsの議論の決定要因にはなりません。 ** ASP.NET 4.0 **ではURLルーティングエンジンを使用してURLをASP.NET Webフォームページ**およびASP.NET MVCコントローラにマップすることができます。 [詳細については、このリンクを参照してください](http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and- net-4-0-series.aspx) – JTech

    3

    開発者が直面する最大の問題は、複雑さを管理し、コードを「クリーン」に保つことです。 MVCは、開発者にOOPを活用して複雑さを解消し、コードを簡単に目立たせるようにします。

    ウェブフォームは短期間で開発するのが速くなりますが、メンテナンスと成長という点で長期的な持続可能性はありません。

    9

    すべてのチームメンバーが "HTMLの制御"を管理するのに十分なスキルを持っている場合は、MVCを使用してください。そうしないと、コードはtag soupに変わります。

    つまり

    bool useMvc = true; 
    foreach (TeamMember member in team.Members) 
    { 
        useMvc = useMvc && member.IsSkilled; 
    } 
    
    関連する問題