「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>ASP.NET]]

* 目次 [#s489701f]
#contents

*概要 [#jd579709]
ASP.NETアプリケーションの種類と構成について纏めている。

*詳細 [#j8d86453]

**ASP.NETアプリケーションの種類について [#je0241d8]

***質問 [#s5e41ed3]
ASP.NETアプリケーションを作成する際に、下記2つからの~
選択があると思いますが、選択する上での条件等ありますか?

+ASP.NET Webアプリケーション
+ASP.NET Webサイト

+は、コンパイルした実行モジュールをサーバに配置、
+は、コードファイル含めてサーバに配置し、実行時にコンパイルされる

という認識ですが、選択する上でのメリット、デメリット等の情報を教えて下さい。

※ 参考:[[Webアプリケーション、Webサイト>VSソリューション プロジェクトの構成検討#q0d00cd6]]

***回答 [#v2d47442]
-マストな機能要件・非機能要件と言うより、開発時の利便性によって左右されます。
--Web アプリケーション プロジェクトでは、designer.cs(.vb)が生成されるので、~
こちらを何らかの目的で使いたいと言う開発者目線の要求はあるかもしれません。

--Web サイト プロジェクトでは、~
アセンブリの参照設定の代わりに、Binフォルダにアセンブリを放り込む運用ができるので、~
ライブラリに対してレイトバインドする場合等は、こちらの方が使い易いという側面があります。

--IIS上でF5デバッグする場合は、Web サイト プロジェクトである必要があります。
---Web アプリケーション プロジェクトは、~
開発用Webサーバ(IIS Express)上でのみF5デバッグ可能。
---Web サイト プロジェクトは、IIS上でも~
開発用Webサーバ(IIS Express)上でもF5デバッグが可能。
---別途、IISのワーカプロセスにアタッチしてデバッグすることは可能。~
参考:デプロイされた ASP.NET アプリケーションのデバッグ - Visual Studio | Microsoft Docs~
https://docs.microsoft.com/ja-jp/visualstudio/debugger/debugging-deployed-web-applications

-なお、シナリオによっては、Web アプリケーション プロジェクトしか選択できません。
--[[ASP.NET MVC]]のプロジェクトを選択する。
--[[Web Deploy パッケージ>ASP.NETの配置(Web Deploy・Web Deployパッケージ)]]として発行する。
--Microsoft AzureのPaasのプロジェクトを作成する。~

>(確かに、[[Web Deploy パッケージ>ASP.NETの配置(Web Deploy・Web Deployパッケージ)]]やMicrosoft AzureのPaasなど、~
一式をパッケージングするものは、Web アプリケーションである必要がある。)

-マイクロソフトは、Visual Studio 2012(.NET4.5) 以降の新規開発に Web アプリケーションを推奨しているようです。
--Web Application Projects versus Web Site Projects in Visual Studio~
https://msdn.microsoft.com/en-us/library/dd547590.aspx
>For new development, we recommend that you choose web application projects.~
→ 新規開発では Web アプリケーション プロジェクトを選択することを推奨する。~
~
For example, the next Visual Studio release after Visual Studio 2012 will have new tooling~
for creating web projects, and this new tooling will work only with web application projects.~
→ Visual Studio 2012 以降、Web プロジェクト開発のための新しいツールが出ているが、~
それらは Web アプリケーション プロジェクトでのみ使用できる。

**ソリューション、プロジェクトの構成について [#zc2d3b71]

***質問 [#y441b6c4]
複数のサブシステムが存在する場合、~
ソリューション、プロジェクトの構成としては、~
どのようなパターンが考えられますでしょうか。

>(例)サブシステムごとに1ソリューション、1プロジェクト~
or 基幹システムとして1ソリューション、サブシステムごとに1プロジェクト等。

***回答 [#vf1d6f37]
選定基準については、こちらを確認下さい。
-[[VSソリューション プロジェクトの構成検討]]

こちらの選定は、Web サイト、Web アプリケーションの選定と比べると、
-開発時の利便性と言う観点よりも、
-データ共有の範囲やデプロイなど、~
マストな顧客要件に関連する所が多くあります。

なお、上記の資料については、~
当時VS2005のSP1のリリース前では、

>Web アプリケーション プロジェクト

が存在しなかったので、
-Web サイト プロジェクト
-Web アプリケーション プロジェクト

の違いを考慮していません。

----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]]

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS