Qual é a pasta App_Data usada no Visual Studio?

Ao criar um novo aplicativo ASP.NET no Visual Studio, alguns arquivos e pastas são criados automaticamente. Uma dessas pastas é chamada App_Data .

Além disso, ao publicar um site selecionando a opção de menu Build->Publish está disponível uma checkbox de seleção Include files from the App_Data folder .

Estou certo supondo que os arquivos colocados neste arquivo e suas subpastas não serão acessíveis pela web? Por exemplo, seria seguro colocar nessa pasta resources que eu pretendo usar somente pelo código do aplicativo?

Qual é o uso real pretendido da pasta App_Data ?

EDITAR:

Obrigado por todas as respostas. Das respostas recebidas até agora estou interessado principalmente em dois pontos mencionados:

  1. App_Data é essencialmente um ponto de armazenamento para armazenamento de dados baseado em arquivo
  2. Ele não deve ser visualizável pela Web e é um local para o aplicativo da Web armazenar e ler dados de

Alguém poderia especificar como o “não visível pela web” é garantido? Posso confiar nesse fato ao executar a implantação padrão ou preciso verificar algumas configurações do IIS no servidor também.

Na situação, quando eu tenho um conjunto de arquivos PDF que eu quero estar acessível apenas a partir do aplicativo. A pasta App_Data seria o lugar certo para usar ou eu deveria criar uma pasta separada e definir manualmente o IIS para garantir que ele não seja acessível pela Web?

App_Data é essencialmente um ponto de armazenamento para armazenamentos de dados baseados em arquivo (em oposição a um armazenamento de database do servidor SQL, por exemplo). Alguns sites simples fazem uso dele para conteúdo armazenado como XML, por exemplo, onde as taxas de hospedagem para um database são caras.

no IIS, realce a máquina, clique duas vezes em “Request Filtering”, abra a guia “Hidden Segments”. “App_Data” é listado como uma pasta restrita. Sim, eu sei que este segmento é realmente antigo, mas isso ainda é aplicável.

O uso pretendido do App_data é armazenar os dados do aplicativo para o processo da web acessar. Ele não deve ser visualizado pela Web e é um local para o aplicativo da Web armazenar e ler dados.

É um local para colocar um database incorporado, como o Sql Server Express, Access ou SQLite.

A pasta App_Data é uma pasta, que o seu processo de trabalho asp.net também tem direitos de sistema de arquivos, mas não é publicado através do servidor web.

Por exemplo, usamos para atualizar um CSV local de um formulário de contato . Se o método preferido de emails falhar ou qualquer consulta da fonte de dados for necessária, os arquivos App_Data estarão lá.

Não é o ideal, mas é um bom retorno.

Da documentação sobre a estrutura de pastas do projeto da Web do ASP.NET no MSDN:

Você pode manter os arquivos do seu projeto da Web em qualquer estrutura de pastas que seja conveniente para o seu aplicativo. Para facilitar o trabalho com o aplicativo, o ASP.NET reserva certos nomes de arquivos e pastas que você pode usar para tipos específicos de conteúdo.

App_Data contém arquivos de dados do aplicativo, incluindo arquivos de database .mdf, arquivos XML e outros arquivos de armazenamento de dados. A pasta App_Data é usada pelo ASP.NET para armazenar o database local de um aplicativo, como o database para manter informações de associação e function. Para obter mais informações, consulte Introdução à associação e Noções básicas sobre gerenciamento de funções .

A intenção principal é manter o (s) arquivo (s) de database do seu aplicativo.

E não, isso não será acessível a partir da web por padrão.

Usamos isso como uma área de armazenamento temporário para arquivos csv carregados. Depois de carregado, um método ajax processa e exclui o arquivo.

O uso pretendido para App_Data é armazenar o arquivo relacionado ao database. Geralmente arquivos .mdf do SQL Server Express.