2012-09-14 4 views
3

IIS 호스팅 WCF 서비스가 있고 어제 내가 임시 폴더에 만든 66,235 개의 폴더 (!!!)가 "Temporary ASP.NET Files "디렉토리 (\ 234lkj \ 98734dc \ assembly \ tmp). 각 폴더에는 서비스에 필요한 dll 중 하나가 정확히 6 개만 있으므로 dll은 서로 다른 폴더에 약 11,000 번 복사됩니다. IIS는 변경 여부와 관계없이 bin 폴더에서 복사합니까? 이것은 정상적인 행동입니까? 불필요하게 dll을 복사하지 못하도록 IIS (또는 그 프로세스를 수행하는 모든 프로세스)를 방해하는 구성 설정이 있습니까?IIS 호스팅 WCF 서비스가 수천 개의 임시 폴더를 만듭니다.

답변

0

임시 폴더는 .NET에서 JIT가 다른 서비스의 참조를 컴파일하는 데 사용됩니다. .NET은 파일을 생성 한 다음이 코드를 컴파일하여 서비스와 함께 작동 할 수있는 공간이 필요합니다. 이제는 많은 파일이 사이트를 호스팅하는 응용 프로그램 풀이 설정되는 방식과 더 관련이있을 수 있습니다. 응용 프로그램 풀에 대한 고급 설정을 보면 배정 된 작업자 프로세스 수를 확인하십시오. 각 작업자 프로세스는 자체 메모리와 함께 존재할 수 있으므로 다중 서비스 참조가 많으면 JITed되는 여러 폴더가 필요합니다. 또한 프로세스 고아가 켜져 있지 않도록 확인하십시오. 그렇다면 프로세스가 파일을 남겨두고 볼 수있는 빌드를 유발할 수 있습니다.

+0

나는 최대 작업자 프로세스가 2 인 DefaultAppPool과 프로세스 분리됨 -> 사용 가능 = False를 사용하고 있습니다. 4 일 전에 모든 임시 폴더를 삭제했으며 마지막으로 약 2,000 개의 새 폴더가 생성되었는지 확인했습니다. 그것을 생각해 보시지 ... 왜 그 폴더가 처음에 필요합니까? 나는 temp asp.net 파일의 역할을 이해하지만,이 서비스에서 모든 것이 이미 컴파일되어있다. 소스 코드 파일이 어디에도 없다. DLL을 한 폴더에서 다른 폴더로 맹목적으로 복사하는 것이다. 뭔가 잘못 됐어 ...... – Sam

관련 문제