none
VS2010におけるWeb開発について RRS feed

  • 質問

  • 今更な質問なのですが、

    VS2010におけるテンプレートで、

      新規プロジェクトの「ASP.NET Webアプリケーション」

      プルダウンメニューの「新しいWebサイト」からの「ASP.NET Webサイト」

    との大きな違いは何で、VS2010ではどちらが推奨されているのでしょうか。

    2012年11月14日 8:47

回答

すべての返信

  • Web Formsで開発する場合、大きな違いはありません。
    どちらが推奨、ということもありません。
    この2種類のプロジェクトが存在しているのは歴史的な経緯です。

    http://blogonos.wordpress.com/2008/01/21/web%e3%82%a2%e3%83%97%e3%83%aa%e3%82%b1%e3%83%bc%e3%82%b7%e3%83%a7%e3%83%b3%e3%83%97%e3%83%ad%e3%82%b8%e3%82%a7%e3%82%af%e3%83%88%e3%81%a8web%e3%82%b5%e3%82%a4%e3%83%88%e3%83%97%e3%83%ad%e3%82%b8/

    Web Pagesで開発したい場合はWebサイトのみ、ASP.NET MVC を使いたい場合はWebアプリケーションのみの選択となります。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    • 回答としてマーク Kino001 2012年11月14日 10:43
    2012年11月14日 8:51
  • 小野 様 返信ありがとうございます。

    ご紹介いただきましたサイトを読ませていただきました。

    ビルドのタイミングとマスターページの違いがあるけども、大きな差異はないのですね。

    ちなみに、サーバーに配置した場合、Webサイトプロジェクトは初回起動時にビルドされるため、表示までに若干時間がかかりますが、Webアプリケーションの場合は早くなるのでしょうか。

    2012年11月14日 10:43
  • 佐祐理 様 返信ありがとうございます。

    参考にさせていただきます。

    2012年11月14日 11:21
  • Webサイトプロジェクトにもプリコンパイルがあります。先に提示したページにはコンパイルについて比較している記述もあります。
    2012年11月14日 12:43
  • > 大きな差異はないのですね。

    パフォーマンスには違いはなくても、開発と保守の局面で、かなり大きな違いがあると思っていますが。

    佐祐理さんが紹介されたページを読んでください。

    自分的には、特に、「FTP を使用してリアルタイムでサイトを更新する」とか「サイト全体を再コンパイルせず、個々の ASP.NET Web ページ (.aspx ファイル) を更新できる」とか「運用サーバー上のファイルを直接編集することで、運用環境の個々のファイルを更新できる」とかは、Web サイトプロジェクトの絶対的なアドバンテージだと思っています。

    2012年11月14日 13:17
  • SurferOnWww 様 返信ありがとうございます。

    もともとVS2005のWebサイトプロジェクトで運用していましたので、SuerferOnWww様の言われるメリットがよくわかります。

    VSのIDEでは、「新しいプロジェクト」に出てくるのが、「ASP.NET Webアプリケーション」だったので、もしかしたらこちらが推奨なのかも・・・と思った次第です。

    2012年11月15日 1:27
  • Webサイトプロジェクトとして作成しても、それをどういう形式で本番環境にあげるかで、実運用環境の動作は変わってきます。

    Webの発行を使うと、デフォルトはプリコンパイルが実行されるはずです。
    プリコンパイルはaspxファイルをのこしてcs等のファイルのみをコンパイルする形(Webアプリケーションプロジェクトと同等)とaspxファイルまでふくめてコンパイルする形があります。
    Webの発行時のデフォルトがどちらだったかちょっと覚えてないのですが、設定でどちらも選べます。
    また、プリコンパイルをコマンドラインツールを使って明示的に実行することもできます。

    Webアプリケーションプロジェクトの場合もaspxファイルについては実行時にコンパイルされます。
    なので、WebサイトとWebアプリケーションプロジェクトで初回起動時の表示が劇的にちがうか、というと、そんなこともないと思います。
    上に書いていますが、プリコンパイルしてしまえば同じような状況になりますし。

    初回起動時の表示を早くしたいのであれば、IIS7.5以上でASP.NET 4以上を利用しているのであればオートスタートが使えます。

    http://www.atmarkit.co.jp/fdotnet/scottgublog/20090924autostart/autostart.html

    SurferOnWwwさんが書いているように、Webサイトとしてプロジェクトを作成し、運用環境にそのままあげた場合は手軽に更新できますので便利です。
    逆にお客様の環境でソースコード見せたくない、という場合にはプリコンパイルを使えばよい、ということになると思います。


    あおい情報システム株式会社 小野修司(どっとねっとふぁん)

    2012年11月15日 1:28
  • 小野 様 返信ありがとうございます。

    残念ながら、今回のサーバーは R2なしなのです。ASP.NET 4ではあります。

    客先指定で、ダウングレードしました。確かIIS7.5は R2から対応ですよね。

    デフォルトはプリコンパイルです。

    皆様のおかげで、疑問が払しょくできました。

    ご返信頂きました、小野様、佐祐理様、SurferOnWww様 ありがとうございました。

    2012年11月15日 11:04