Pergunta

Ao criar um novo aplicativo ASP.NET no Visual Studio, um par de arquivos e pastas são criadas automaticamente. Uma dessas pastas é chamado App_Data.

Além disso, quando a publicação de um website, seleccionando a opção de menu Build->Publish uma caixa de seleção está disponível Include files from the App_Data folder.

Am I certo assumindo que os arquivos colocado neste arquivo e suas subpastas não estão indo para ser acessível através da web? Por exemplo, seria seguro para colocar em que os recursos da pasta que eu só pretende ser usado pelo código do aplicativo?

O que é o verdadeiro destino da pasta App_Data?

EDIT:

Obrigado por todas as respostas. A partir das respostas recebidas até agora Estou interessado principalmente em dois pontos mencionados:

  1. App_Data é essencialmente um dispositivo de armazenamento ponto para armazenamento de dados baseado em arquivo
  2. Não deve ser visível pela web e é um lugar para o aplicativo web para armazenar e ler dados de

Será que alguém poderia ser capaz especificar como o "não visível pela web" é assegurada? Posso contar com esse fato ao realizar implantação padrão, ou eu 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 ser acessível apenas a partir da aplicação. Será que App_Data pasta ser o lugar certo para utilização, ou devo criar uma pasta separada e configurar manualmente o IIS para garantir que ele não é acessível por Web?

Foi útil?

Solução

App_Data é essencialmente um ponto de armazenamento para armazenamentos de dados baseados em arquivos (em oposição a uma loja de banco de dados SQL Server, por exemplo). Alguns sites simples fazer uso dele para o conteúdo armazenado como XML por exemplo, normalmente onde hospedagem encargos para um DB são caros.

Outras dicas

no IIS, destaque a máquina, clique duplo "Request Filtering", abra a guia "segmentos ocultos". "App_Data" está listado lá como uma pasta restrito. Sim eu sei que esta discussão é muito velho, mas isso ainda é aplicável.

O uso pretendido do App_Data é armazenar dados de aplicativos para o processo de web para acesso. Não deve ser visível pelo web e é um lugar para o aplicativo web para armazenar e ler dados a partir.

É um lugar para colocar um banco de dados integrado, como o SQL Server Express, Access, ou SQLite.

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

Por exemplo, podemos usá-lo para atualizar um arquivo CSV local de um Contato formulário. Se o método preferido de e-mails falhar ou é necessária qualquer consulta de fonte de dados, os arquivos App_Data estão lá.

Não é o ideal, mas é uma boa queda-back.

A partir da documentação sobre Estrutura das pastas Projeto ASP.NET web na MSDN:

Você pode manter os arquivos do seu projeto Web em qualquer estrutura de pastas que é conveniente para a sua aplicação. Para torná-lo mais fácil de trabalhar com o seu aplicativo, ASP.NET reserva-determinado arquivo e nomes de pasta que você pode usar para tipos específicos de conteúdo.

App_Data contém arquivos de dados de aplicativos, incluindo .mdf arquivos de banco de dados, arquivos XML e outros arquivos de armazenamento de dados. A pasta App_Data é usada por ASP.NET para armazenar banco de dados local de um aplicativo, como o banco de dados para manter a adesão eo papel da informação. Para mais informações, consulte Introdução à assinatura Entendimento Gerenciamento de funções .

A intenção principal é para manter arquivo de banco de dados do seu aplicativo (s) em.

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

Vamos utilizá-lo como uma área de armazenamento temporário para arquivos CSV enviados. Uma vez carregado, processos um método ajax e apaga o arquivo.

O uso pretendido para App_Data é armazenar arquivo relacionado banco de dados. Normalmente, os arquivos SQL Server Express mdf.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top