À quoi sert le dossier de données App utilisé dans Visual Studio?

lors de la création d'un nouveau ASP.NET application dans Visual Studio, quelques fichiers et dossiers sont créés automatiquement. Un de ces dossiers est appelé App_Data .

également lors de la publication d'un site Web en sélectionnant l'option de menu Build->Publish une case à cocher est disponible Include files from the App_Data folder .

ai-je raison de supposer que les fichiers mis dans ce fichier et ses sous-dossiers ne seront pas accessibles via le web? Par exemple, faudrait-il être sûr de mettre dans ce dossier des ressources que j'ai seulement l'intention d'utiliser par le code d'application?

Quelle est la véritable utilisation prévue du dossier App_Data ?

EDIT:

Merci pour toutes les réponses. D'après les réponses reçues jusqu'à présent, je m'intéresse surtout à deux points mentionnés:

  1. App_Data est essentiellement un point de stockage pour le fichier de base de données à stocker
  2. Il ne devrait pas être accessible par le web et est un lieu pour l'application web pour stocker et lire des données à partir de

Quelqu'un pourrait-il préciser comment le" non visible par le web " est assuré? Puis-je me fier à ce fait lors d'un déploiement standard, ou dois-je également vérifier certains paramètres IIS sur le serveur.

Dans la situation quand j'ai un ensemble de fichiers pdf que je veux être accessible uniquement à partir de la demande. Le dossier App_Data serait-il le bon endroit pour l'utiliser, ou devrais-je créer un dossier séparé et régler manuellement le SII pour s'assurer qu'il n'est pas accessible par le Web?

139
demandé sur Community 2009-02-09 19:30:28

9 réponses

App_Data est essentiellement un point de stockage pour les magasins de données basées sur des fichiers (par opposition à un magasin de base de données SQL server par exemple). Certains sites simples font usage de l'informatique pour le contenu stocké en XML par exemple, généralement où les frais d'hébergement pour une base de données sont coûteux.

105
répondu annakata 2009-02-09 16:34:12

dans IIS, surlignez la machine, double-cliquez sur "Request Filtering", ouvrez l'onglet" Hidden Segments". "App_Data" y figure en tant que dossier restreint. Oui, je sais que ce fil est vraiment vieux, mais c'est toujours applicable.

36
répondu rocketsarefast 2013-02-05 22:36:32

L'utilisation prévue D'App_data est de stocker des données d'application pour le processus web à accéder. Il ne devrait pas être accessible par le web et est un lieu pour l'application web pour stocker et lire des données à partir.

22
répondu JaredPar 2009-02-09 16:33:15

c'est un endroit pour mettre une base de données intégrée, telle que Sql Server Express, Access, ou SQLite.

13
répondu Shawn 2009-02-09 16:32:44

le dossier App_Data est un dossier, que votre asp.net worker process possède également des droits de système de fichiers, mais n'est pas publié sur le serveur web.

par exemple, nous l'utilisons pour mettre à jour un CSV local d'un formulaire contactez-nous . Si la méthode préférée d'e-mails échoue ou si une interrogation de la source de données est nécessaire, les fichiers App_Data sont là.

ce n'est pas idéal, mais c'est un bon repli.

12
répondu Ed Blackburn 2009-02-09 16:46:46

de la documentation sur ASP.NET Web Project Folder Structure in MSDN:

vous pouvez conserver les fichiers de votre projet Web dans n'importe quelle structure de dossier qui est pratique pour votre application. Pour faciliter le travail avec votre application, ASP.NET réserve certains noms de fichiers et de dossiers que vous peut être utilisé pour des types spécifiques de contenu.

App_Data contient les fichiers de données de la demande, y compris .fichiers de bases de données mdf, fichiers XML et autres fichiers de stockage de données. Le dossier App_Data est utilisé par ASP.NET pour stocker la base de données locale d'une application, comme base de données pour maintenir l'information sur les membres et les rôles. Pour en savoir plus, lisez Introduction à L'adhésion et comprendre la gestion du rôle .

7
répondu eKek0 2018-08-08 19:05:45

l'objectif principal est de conserver le(S) fichier (s) de la base de données de votre demande.

Et non ce ne sera pas accessible à partir de la web par défaut.

6
répondu Martin Brown 2009-02-09 16:33:26

nous l'utilisons comme une zone de stockage temporaire pour les fichiers csv téléchargés. Une fois Téléchargé, une méthode ajax traite et supprime le fichier.

6
répondu gumps 2009-04-20 19:54:30

L'utilisation prévue pour App_Data est de stocker le fichier lié à la base de données. Généralement SQL Server Express .les fichiers mdf.

5
répondu WebMatrix 2009-02-09 16:41:50