163

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

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

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

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

編集:

すべての回答に感謝します。これまでに受け取った回答から、主に次の 2 つの点に関心があります。

  1. App_Data は基本的に、ファイルベースのデータ ストアのストレージ ポイントです。
  2. Web から表示できないようにする必要があり、Web アプリがデータを保存および読み取るための場所です。

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

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

4

9 に答える 9

124

App_Data は、基本的にファイルベースのデータ ストアのストレージ ポイントです (たとえば、SQL サーバー データベース ストアとは対照的です)。一部の単純なサイトでは、XML として格納されたコンテンツに使用されます。通常、DB のホスティング料金が高額な場合です。

于 2009-02-09T16:34:12.900 に答える
45

IIS でマシンを強調表示し、[Request Filtering] をダブルクリックして、[Hidden Segments] タブを開きます。「App_Data」は、制限付きフォルダーとしてそこにリストされています。はい、私はこのスレッドが本当に古いことを知っていますが、これはまだ適用可能です.

于 2013-02-05T22:36:32.040 に答える
26

App_data の使用目的は、Web プロセスがアクセスするアプリケーション データを格納することです。これは Web から表示できないようにする必要があり、Web アプリがデータを保存して読み取るための場所です。

于 2009-02-09T16:33:15.943 に答える
16

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

于 2009-02-09T16:32:44.227 に答える
13

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

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

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

于 2009-02-09T16:46:46.457 に答える
10

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

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

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

于 2014-05-08T11:51:58.797 に答える
7

アップロードされたcsvファイルの一時的な保存領域として使用します。アップロードされると、ajaxメソッドはファイルを処理して削除します。

于 2009-04-20T19:54:30.643 に答える
7

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

いいえ、これはデフォルトでは Web からアクセスできません。

于 2009-02-09T16:33:26.567 に答える
6

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

于 2009-02-09T16:34:52.087 に答える