O IIS7 não monitora as alterações nos links simbólicos

3

Eu usei o utilitário mklink para criar um link simbólico para um diretório de conteúdo da web. O IIS7 não "vê" alterações em nenhum arquivo ASP clássico neste diretório vinculado sem emitir um iisreset. Eu desativei o cache e as alterações de arquivo foram coletadas em outros arquivos estáticos (como .html), mas os arquivos .asp foram ignorados.

    
por Matt Hensley 08.06.2010 / 20:05

3 respostas

2

Isso é conhecido ou por design (escolha o eufemismo para "não funciona como você pensaria"). No iis7, você deve usar diretórios virtuais para apontar para a mesma pasta física para obter o que deseja.

    
por 08.06.2010 / 22:01
2

Esta é a resposta que você está procurando.

link

O IIS não sabe quando um arquivo sobre um symlink foi modificado pelo visual studio. Mas você pode dizer ao iis para não armazenar em cache arquivos locais na memória. Use somente no ambiente de desenvolvimento ... na produção, você deve reciclar o pool após uma atualização se usar o symlink.

    
por 20.10.2015 / 17:27
0

O problema com essa resposta é que, se você usar um diretório virtual para apontar para o local físico do conteúdo, esse conteúdo estará no nível do diretório.

Suponha que você seja um bom desenvolvedor e use o controle de versão. Suponha que você tenha configurado ambientes de cliente / servidor integrados nos quais o VSS é usado no servidor e os desenvolvedores usam o Visual Studio nos clientes. Assim, o desenvolvedor faz check-out de um arquivo asp a partir do VSS, faz uma alteração e deseja testá-lo no cliente antes de fazer o check-in novamente para o teste de integração no servidor. Você não deseja que o desenvolvedor copie o arquivo para wwwroot, portanto, você tem um diretório virtual mapeado para o diretório VS Websites. Um grande problema surge devido ao web.config que controla os bancos de dados e gerentes de relatórios e todas as outras porcarias de MS que o site usa. O web.config no VSS corretivamente aponta para o ambiente de teste de integração do servidor, no qual todas as alterações dos desenvolvedores são testadas após a conclusão do teste da unidade em seus clientes. Bem, o iis não tem um caminho de pesquisa para o web.config que possa substituir o web.config que faz parte do projeto VSS que foi verificado no VS. É onde os links simbólicos seriam usados. O diretório do aplicativo wwwroot conteria uma cópia local do web.config que aponta para o ambiente de desenvolvimento do cliente e possui links simbólicos para os arquivos que estão sob controle do VSS através do VS.

Isso é tão simples de se fazer no linux e qualquer outro tipo de unix porque os links simbólicos existem desde sempre, porque o cenário e outros que eu descrevi são tão comuns.

    
por 22.09.2010 / 21:15