2014년 12월 5일 금요일

C# 에서 웹루트를 시작 점으로 지정하기. 도메인 루트를 웹응용프로그램으로 지정하기.

처음에 C# 으로 개발 하다보면 이해가 잘안되는 것이...

비쥬얼스튜디오로 웹 사이트를 개발하면, 기본적으로,

http://도메인/응용프로그램

식으로 개발을 하게 된다.
일단 프로젝트 추가에 웹응용프로그램을 프로젝트를 생성하면 기본적으로 저렇게 지정되어 버리니...

그러다 보니, 웹서버에 등록할 때도 웹 응용프로그램으로 등록해 줘야 한다.


그래서 실제로 접속할때는,

http://domain.co.kr/Web 

이런식으로 서브경로 까지 입력하고 접속을 하게 된다.

이게 나름 여러개의 기능를 별도의 하위 사이트로 분리하여 관리한다는 측면에서는 괜찮은 방법이긴 하지만, 반대로 하나의 시스템으로 해도 충분한 경우에는 도메인 주소에 쓸데없는 하위 경로가 추가되어 있으므로, 오히려 귀찮기도 하다.

그래서... 쓸데없는 추가 경로를 만들지 않기 위해, 웹응용프로그램을 등록하지 않고 그냥 웹 루트에 바로 소스를 업로드해서 사용 하려고 시도 하면...



이렇게 응용프로그램을 생성하지 하고 바로 웹루트에 소스를 업로드 하면...

... 뭐... 이런 오류가 난다.

<compilation debug="true" targetFramework="4.5" />

이것때문에, 마치 프레임 워크쪽에 뭔가 잘못된것만 같은... 뭔가 알쏭달송한 오류지만, 그냥 웹응용프로그램이 아니라서 안된다는 얘기다.
다시말해, 저 웹루트로가 웹응용프로그램으로 지정되어 있다면 이대로 쓰는것도 가능하다는 얘기...

자... 그럼 웹응용프로그램으로 지정하려면 어떻게 해야 하느냐?
간단히, 해당 웹루트를 선택하고 기본설정에서 변경하면되는데...


기본설정으로 들어가 보면. DefaultAppPool 로 지정되어 있을 것이다.


이걸 "ASP.NET v4.0" 으로 바꿔 주면된다.


그럼 이렇게 웹루트에서도 .Net 소스가 잘 작동한다.