본문 바로가기

기타

Windows 2003 & ASP 에서 ADODB.Stream 으로 다운로드가 되지 않을 경우

몇일전 그동안 사용하던 서버 및 신규 서비스 서버로 사용할 서버 몇 대가 입고되어..
토요일 밤부터 일요일 아침까지 철야 서버 교체 및 서버 확장 작업을 실시 하였습니다.

그 중 그동안 Windows2000, ASP로 사용하던 회사 홈페이지 서버도 교체가 되었습니다.
Windows2003을 설치하고, ASP로 작성된 홈페이지 소스를 옮기고 테스트를 진행하던중
파일 다운로드 기능을 테스트 하던 중 문제가 발생하였습니다.

작은 용량의 첨부파일의 다운로드는 문제가 없었는데, 약 10메가 정도 되는 파일의 다운로드가 되지 않는 것이었습니다.

첨부파일의 다운로드는 ADODB.Stream 객체를 사용하여 파일을 강제로 다운로드 시키는 것이였습니다.

해결 방법을 모색하던 중 IIS 6.0에서는 ASP 에서 기본 4M이상의 파일은 다운로드를 받을 수 없게 설정이 되어 있었습니다.

이는 기본 다운로드 버퍼링 용량을 4MB로 제한한 IIS 6.0의 설정때문이었습니다.
이 IIS 기본 설정은 C:\Windows\system32\inetsrv\MetaBase.xml 에 저장 되어 있으며, 위의 메타베이스 XML파일에서 AspBufferingLimit 값을 원하는 사이즈만큼 늘려주면 해결이 가능합니다.

다운로드제한 : AspBufferingLimit="4194304" - 4MB
업로드제한 : AspMaxRequestEntityAllowed="204800" - 200KB

위 두가지 값을 원하는 용량만큼 설정해주시면 파일 전송에 대한 문제를 해결하실 수 있습니다.