2013-08-09 4 views
0

일부 PDF 보고서가 임시 폴더에 생성되는 응용 프로그램을 개발했습니다. 임시 폴더는 wwroot 폴더 안에 있습니다. 이제 pdf가 생성되는 즉시 세션이 파괴됩니다.wwroot 폴더에 임시 파일 만들기 ASP.Net MVC3

임시 파일 생성으로 인해 발생 했습니까? temp 폴더가 wwroot 폴더 밖에 있어야합니까?

답변

1

예, 해당 폴더를 루트 폴더 외부에 배치해야합니다.

세션이 손상되는 이유는 IIS가 15 개의 파일을 수정할 때 IIS가 응용 프로그램을 다시 시작하기 때문입니다. 쉬운 해결 방법은 IIS에서 가상 디렉터리를 만들고 루트 외부의 폴더를 가리킨 다음 해당 디렉터리에 파일을 작성하는 것입니다.

그런 식으로, 귀하의 웹 사이트의 폴더에 하드 참조를 필요로하지 않는다하지만 App_Data 폴더를 사용하지 이유는 실제 폴더

+0

wwwroot 내의 폴더 안에 15 개의 파일 (PDF)을 저장하면 IIS가 재설정된다는 것을 모릅니다. 당신이 알고있는 온라인으로 받아 들일 수있는 증거는 무엇입니까? – chamara

+0

@chamara : 새 파일이 wwroot 폴더에 추가 된 후 IIS가 다시 시작되지만 그 때가 언제인지 모릅니다. –

0

에 가상 디렉터리를 매핑 MapPath를 사용할 수 있습니까? 훨씬 더 간단하고 이런 종류의 문제는 없을 것입니다.

+0

우리는 분명히 다른 두 가지에 대해 이야기하고 있습니다. 1 - 프로젝트에 파일을 추가하면 (자바 스크립트 파일,보기 등) 응용 프로그램이 다시 시작되기 때문에 세션이 재설정 될 수 있습니다. 2 - App_Data 폴더는 임시 pdf 파일을 포함하여 웹 사이트에서 필요한 모든 종류의 파일을 저장하기에 가장 적합한 곳입니다. 응용 프로그램에서 임시 PDF 파일을 생성하려면 App_Data 폴더에 저장 한 다음 잠시 후 삭제하는 것이 좋습니다. –

0

마지막으로 wwwroot 폴더 외부에 폴더를 추가하고 문제를 해결 한 가상 디렉터리를 통해 링크했습니다.