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
uma caixa de seleção está disponível Include files from the App_Data folder
.
Estou certo, assumindo que os arquivos inseridos neste arquivo e suas subpastas não serão acessíveis pela Web? Por exemplo, seria seguro colocar nessa pasta os recursos que pretendo apenas serem usados pelo código do aplicativo?
Qual é o uso real pretendido da App_Data
pasta?
EDITAR:
Obrigado por todas as respostas. Das respostas recebidas até agora, estou interessado principalmente em dois pontos mencionados:
- App_Data é essencialmente um ponto de armazenamento para armazenamento de dados baseado em arquivo
- Ele não deve ser visualizado pela Web e é um local para o aplicativo Web armazenar e ler dados de
Alguém poderia especificar como é garantido o "não visível pela web"? Posso confiar nesse fato ao executar a implantação padrão ou também preciso verificar algumas configurações do IIS no servidor.
Na situação em que tenho um conjunto de arquivos pdf, quero estar acessível apenas a partir do aplicativo. A pasta App_Data seria o local certo para usar ou devo criar uma pasta separada e definir manualmente o IIS para garantir que não seja acessível pela Web?
no IIS, realce a máquina, clique duas vezes em "Solicitar filtragem", abra a guia "Segmentos ocultos". "App_Data" está listado lá como uma pasta restrita. Sim, eu sei que este tópico é realmente antigo, mas isso ainda é aplicável.
fonte
O uso pretendido de App_data é armazenar dados do aplicativo para o processo da Web acessar. Não deve ser visível pela Web e é um local para o aplicativo Web armazenar e ler dados.
fonte
É um lugar para colocar um banco de dados incorporado, como o Sql Server Express, Access ou SQLite.
fonte
A pasta App_Data é uma pasta cujo processo de trabalho do asp.net também possui direitos de sistema de arquivos, mas não é publicado através do servidor web.
Por exemplo, usamos para atualizar um CSV local de um contato formulário de . Se o método preferencial de e-mails falhar ou qualquer consulta à fonte de dados for necessária, os arquivos App_Data estarão lá.
Não é o ideal, mas é um bom retorno.
fonte
Na documentação sobre a estrutura de pastas do projeto Web do ASP.NET no MSDN:
fonte
A principal intenção é manter os arquivos de banco de dados do aplicativo em.
E não, isso não estará acessível na Web por padrão.
fonte
Nós o usamos como uma área de armazenamento temporário para arquivos CSV carregados. Uma vez carregado, um método ajax processa e exclui o arquivo.
fonte
O uso pretendido para App_Data é armazenar o arquivo relacionado ao banco de dados. Geralmente, arquivos .mdf do SQL Server Express.
fonte