Percebo que freqüentemente há uma pasta aspnet_client na estrutura de pastas da web padrão do IIS. Para que é usado? É necessário?
108
Nos dias .NET 1.1 e anteriores, essa pasta fornecia ao ASP.NET seu suporte a JavaScript para os controles de validação e outras funcionalidades. Se você não tiver um site .NET 1.1 ou anterior em execução, deve ser seguro excluí-lo. Eu iria renomeá-lo primeiro para garantir que não causasse problemas.
Além do que outros disseram, geralmente é criado pela ferramenta aspnet_regiis, que pode ser (re) executado por coisas como Windows Update / AddRemove componentes do Windows / IIS. Portanto, às vezes, mesmo que você o exclua, ele pode voltar aleatoriamente. Pode haver uma maneira de interromper esse comportamento, mas eu não encontrei (talvez alterar a versão do aplicativo para .NET 2 resolveria).
Portanto, a menos que você esteja usando certos recursos do .NET 1.0 / 1.1 (validação, navegação inteligente, etc.), você pode excluí-lo sem problemas, mas não se surpreenda se ele voltar!
fonte
aspnet_client é uma pasta para "recursos que devem ser servidos via HTTP, mas são instalados por servidor, em vez de por aplicativo".
Alguns dos usos de aspnet_client incluem o armazenamento de recursos (por exemplo, JavaScript, imagens) para:
Provavelmente haverá / haverá mais (ab) usos desta pasta no futuro. Desnecessário dizer que, uma vez que contém coisas que são "necessárias para o aplicativo funcionar corretamente", mas que "não deveriam ser implantados pelo aplicativo", ele permanecerá como um pesadelo para desenvolvedores e administradores de sistema.
Parece que o 'protótipo' para o conteúdo da pasta está em C: \ inetpub \ wwwroot \, e parece razoável supor que se algum site do IIS não tiver um recurso / aspnet_client, o IIS tentará fazer a coisa certa e ... como último recurso ... crie uma pasta física na pasta raiz do site e copie os arquivos lá. Parece que o IIS fará isso pelo menos quando "ASPNET_regiis / c" for chamado em um determinado servidor - o que provavelmente ocorre automaticamente em alguns momentos críticos ... como quando as atualizações do .NET framework são aplicadas a um servidor que tem a função IIS.
As estratégias para lidar com o diretório aspnet_client incluem: * especificar um diretório virtual mapeado para C: \ inetpub \ wwwroot na esperança de que o IIS renuncie à criação de um diretório físico * exclua o diretório físico de tempos em tempos se tiver certeza de que seu site não não preciso e realmente incomoda você * ignorando aspnet_client * executando "ASPNET_regiis / c" você mesmo se estiver faltando a pasta e precisar dela
Provavelmente mais importante, como desenvolvedor, você deve entender e documentar claramente as dependências de seus aplicativos no diretório aspnet_client e certificar-se de que seu procedimento de instalação tenha instruções relevantes para garantir que o diretório exista. No entanto, você provavelmente não deve se preocupar em fornecer o diretório como parte de seu aplicativo da web ou site da web empacotado - como você poderia fazer isso para cada versão do .NET framework que o servidor verá durante o tempo de vida de seu aplicativo ?!
Alguns links voltarei mais tarde:
fonte
Ele também tem certos ícones e scripts que são necessários para que os Crystal Reports sejam executados adequadamente, mesmo em versões posteriores a 1.1
fonte
C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13
Não tenho certeza se era a coisa certa a fazer ou não, mas eu apenas copiei toda a pasta aspnet_client da raiz para o diretório em que minha instância Ripplestone residia.A pasta geralmente é para armazenar Javascript do lado do cliente, que ASP.NET usa para coisas como validação.
Deve ser seguro excluir.
fonte
Achei melhor adicionar isso aqui, pois este é o link para o qual sempre fui direcionado quando pesquisei essa pergunta no Google. Aparentemente, com o .NET 4.0 e mais recente, essa pasta não é mais necessária e pode ser removida sem problemas.
fonte
Se você estiver usando o Installshield para configurar o site ASP.net, esteja ciente de que esse recurso estava presente no Installshield 2010 e não foi encontrado no Installshield 2012.
fonte