NTFS 정션을 웹 루트로 사용하는 IIS 7 사이트의 단점은 무엇입니까? 코드가 복사되고 c:\www\site.com_r1235정션의 대상이 변경됩니다. c:\www\example.com -> c:\www\example.com_r1235 그래서

가능한 한 사이트 장애가 적은 ASP.NET 코드를 배포하는 방법을 고안하려고합니다. 한 가지 생각은 NTFS 정션 c:\www\example.com에서 서비스를 제공하도록 사이트를 설정하는 것이 었습니다 .

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

그런 다음 새 코드가 배포되면 코드가 복사되고 c:\www\site.com_r1235정션의 대상이 변경됩니다.

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

그래서 제 질문은 이것이 IIS의 현재 요청에 어떤 영향을 미칠 수 있습니까? IIS의 반응 관점에서 변경에 대한 다른 단점은 무엇입니까 (있는 경우)? 이것이 내가 원하는대로 사이트의 최종 사용자에게 완벽할까요?

(명령 줄을 통해 사이트의 웹 루트를 변경하는 것을 고려했지만 불필요한 응용 프로그램 도메인이나 응용 프로그램 풀 이탈로 인해 IIS를 재구성하는 아이디어가 마음에 들지 않지만 많이 알지 못합니다. 로드 상태에서 사이트의 구성된 실제 경로가 변경되면 어떻게됩니까?)

분명히, 여기서 유일한 관심사는 최종 사용자의 경험입니다. 나의 목표는 그들에게 불편 함을 피하는 것이지 나에게는 편의가 아닙니다.



답변

가능한 한 사이트 장애가 적은 ASP.NET 코드를 배포하는 방법.

이제는 모든 배포에 관련된 추가 작업이나 스크립트가 많이 있으므로이 목표와 제안 된 솔루션이 일치하지 않는 것 같습니다.

내가 본 것 중 하나는 프로덕션 서버에 svn 클라이언트를 설치하는 것이고, 프로덕션 사이트는 소스 제어 트리에서 특정 위치 / 분기의 체크 아웃 된 사본입니다. 이 방법으로 최소한 새로운 배포를 위해 변경된 파일 만 업데이트하면됩니다.


답변

웹 루트 뒤에라는 폴더를 만들었습니다. _images

C:\DEV\_IMAGES

그런 다음 많은 gif 파일을 복사했습니다. 그런 다음 루트를 사용하여 루트에 NTFS 심볼릭 링크를 만들었습니다.

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

Visual Studio 2010에서 “모든 파일 표시”를 표시 한 다음 새로 고침 … 새 “웹 이미지”를 프로젝트에 포함시킵니다. 이제 가리킬 수 있습니다 …

img src='webimages/icon.gif'

앱을 실행하면 로컬 컴퓨터에서도 잘 작동합니다.

인프라가이를 처리 할 때까지 실제 서버 (IIS 7)에서 작동하는지 알 수 없습니다. 왜 이것이 프로덕션에서 작동하지 않는지에 대한 문제를 알고 있습니까?

권리가있는 한 웹 애플리케이션간에 폴더 공유 (모든 유형의)를 단순화하는 가장 좋은 방법이라고 생각합니다.

나는 아직 TFS로 이것을 표현하려고 시도하지 않았으므로 누군가 이것에 대한 의견이 있으면 알려주십시오!


답변

IIS가 다른 프로그램에 의해 web.config가 변경되었다고 생각할 수 있기 때문에 이것은 작동하지 않습니다. IIS는 아마도 System.Configuration.ConfigurationErrorsException 예외를 던질 것입니다. 사이트의 홈 디렉토리를 변경하기 위해 일종의 스크립트를 작성하는 것이 좋습니다.