web-dev-qa-db-ja.com

Visual Studioで使用されるApp_Dataフォルダーは何ですか?

Visual Studioで新しいASP.NETアプリケーションを作成すると、いくつかのファイルとフォルダーが自動的に作成されます。これらのフォルダーの1つはApp_Dataと呼ばれます。

また、メニューオプションBuild->Publishを選択してWebサイトを公開するときは、チェックボックスInclude files from the App_Data folderを使用できます。

このファイルに置かれたファイルとそのサブフォルダーにWebからアクセスできないと思いますか?たとえば、アプリケーションコードでのみ使用する予定のフォルダーリソースを配置しても安全ですか?

App_Dataフォルダーの実際の使用目的は何ですか?

編集:

すべての答えをありがとう。これまでに受け取った回答から、主に次の2つの点に興味があります。

  1. App_Dataは基本的にファイルベースのデータストアのストレージポイントです
  2. Webで表示されるべきではなく、Webアプリがデータを保存および読み取る場所です

誰かが「Webで表示できない」ことを保証する方法を指定できるでしょうか?標準の展開を実行するときにその事実に頼ることができますか、それともサーバー上のいくつかのIIS設定も確認する必要がありますか。

アプリケーションからのみアクセスできるようにするPDFファイルのセットがある状況。 App_Dataフォルダーを使用するのが適切な場所でしょうか、または別のフォルダーを作成し、IISを手動で設定して、Webからアクセスできないようにする必要がありますか?

150
padn

App_Dataは、本質的にファイルベースのデータストアのストレージポイントです(たとえば、SQLサーバーデータベースストアとは対照的です)。いくつかの単純なサイトは、たとえばXMLとして保存されているコンテンツにそれを利用します。これは通常、DBのホスティング料金が高い場合です。

116
annakata

iISでマシンを強調表示し、[リクエストフィルタリング]をダブルクリックして、[非表示セグメント]タブを開きます。 「App_Data」は制限されたフォルダーとしてリストされます。はい、私はこのスレッドが本当に古いことを知っていますが、これはまだ適用可能です。

39
rocketsarefast

App_dataの使用目的は、Webプロセスのアプリケーションデータを保存することです。 Webで表示されるべきではなく、Webアプリがデータを保存したり、そこからデータを読み取ったりする場所です。

24
JaredPar

これは、SQL Server Express、Access、SQLiteなどの組み込みデータベースを配置する場所です。

15
Shawn

App_Dataフォルダーは、asp.netワーカープロセスにもファイルシステム権限がありますが、Webサーバーを通じて公開されていないフォルダーです。

たとえば、お問い合わせフォームのローカルCSVを更新するために使用します。電子メールの優先方法が失敗した場合、またはデータソースのクエリが必要な場合、App_Dataファイルはそこにあります。

それは理想的ではありませんが、それは良いフォールバックです。

13
Ed Blackburn

MSDNのASP.NET Webプロジェクトのフォルダー構造に関するドキュメントから:

Webプロジェクトのファイルは、アプリケーションに便利な任意のフォルダー構造に保存できます。アプリケーションでの作業を容易にするために、ASP.NETは特定の種類のコンテンツに使用できる特定のファイル名とフォルダー名を予約しています。

App_Dataには、.mdfデータベースファイル、XMLファイル、その他のデータストアファイルなどのアプリケーションデータファイルが含まれます。 ASP.NETは、App_Dataフォルダーを使用して、メンバーシップおよびロール情報を維持するためのデータベースなど、アプリケーションのローカルデータベースを格納します。詳細については、 メンバーシップの概要 および ロール管理の理解 を参照してください。

10
eKek0

アップロードされたcsvファイルの一時的なストレージエリアとして使用します。アップロードされると、ajaxメソッドはファイルを処理して削除します。

7
gumps

主な目的は、アプリケーションのデータベースファイルを保持することです。

そして、これはデフォルトではウェブからアクセスできません。

7
Martin Brown

App_Dataの使用目的は、データベース関連のファイルを保存することです。通常、SQL Server Express .mdfファイル。

6
WebMatrix