Quais são as possíveis desvantagens de um site do IIS 7 ter uma junção NTFS como raiz da web?

12

Estou tentando criar uma maneira de implantar o código ASP.NET com o menor incômodo de site possível. Um pensamento foi configurar o site para ser servido a partir de uma junção NTFS c:\www\example.com onde

c:\www\example.com -> c:\www\example.com_r1234

Então, quando o novo código é implantado, ele é copiado para c:\www\site.com_r1235 e a junção é redirecionada para

c:\www\example.com -> c:\www\example.com_r1235

Então, minha pergunta é o que isso pode afetar as solicitações atuais no IIS? Que outras desvantagens isso pode ter do ponto de vista da reação do IIS à mudança (se houver)? Isso será perfeito para o usuário final do site, como eu espero?

(Eu considerei alterar a raiz da web do site através da linha de comando, mas eu realmente não gosto da idéia de reconfigurar o IIS por causa de qualquer domínio desnecessário de aplicativo ou rotatividade de pool de aplicativos que possa acontecer, mas eu não sei muito sobre o que acontece quando o caminho físico configurado de um site é alterado durante o carregamento)

Para ser claro, minha única preocupação aqui é a experiência dos meus usuários finais. Meu objetivo é evitar distúrbios para eles, não para mim.

    
por jayrdub 01.09.2011 / 22:05

3 respostas

3

a way to deploy ASP.NET code with as little site disturbance as possible.

Parece que esse objetivo e sua solução proposta não estão alinhados, porque agora você tem um monte de trabalho extra ou scripts envolvidos para cada implantação.

Uma coisa que tenho visto é instalar um cliente svn no servidor de produção, e o site de produção é uma cópia com check-out de uma localização / ramificação específica na árvore de controle de origem. Dessa forma, pelo menos, você só precisa atualizar os arquivos alterados para novas implantações.

    
por 01.09.2011 / 22:22
2

Eu criei uma pasta atrás da minha raiz da web chamada _images

C:\DEV\_IMAGES

copiou um monte de arquivos gif para ele. Eu então criei um link simbólico NTFS na minha raiz usando

C:\DEV\PROJECT\ROOT mklink /D webimages ..\_images

No Visual Studio 2010, "Mostrar todos os arquivos", atualize ... e inclua as novas "webimages" no meu projeto. Agora posso apontar para ...

img src='webimages/icon.gif'

Quando eu executo o aplicativo, ele funciona bem também na minha máquina local.

Eu não sei se funciona no servidor real (IIS 7) até que a infra-estrutura seja capaz de lidar com isso, alguém sabe alguma coisa sobre por que isso não funcionaria na produção?

Sinto que os direitos estão lá e, em caso afirmativo, que maneira excelente de simplificar o compartilhamento de pastas (de todos os tipos) entre aplicativos da Web.

Ainda não tentei expressar isso no TFS, então, se alguém tiver comentários sobre isso, avise-nos!

    
por 13.12.2011 / 15:51
0

Isso não funcionará porque o IIS pode achar que o web.config foi alterado por outro programa. O IIS provavelmente lançará uma exceção System.Configuration.ConfigurationErrorsException. Eu sugiro escrever algum tipo de script apenas para alterar o diretório inicial do site.

    
por 07.09.2011 / 01:43