2008-10-26 3 views
1

내 공유 호스팅을 사용하면 2 개의 가상 디렉터리 만 만들 수 있습니다. 나는 여러 웹 응용 프로그램을 호스팅하고 싶습니다 ... asp.net mvc 블로그, 포럼, 개인 사이트 등을 말하십시오 ...2 개의 가상 디렉터리를 사용하여 여러 개의 웹 응용 프로그램을 호스팅하는 방법

이 작업을 수행하는 다른 방법은 없습니까? 단순히 내 가상 디렉터리 중 하나에 블로그 폴더를 FTP로 연결 한 다음 온라인에 액세스 할 수 있습니까?

답변

2

처럼 분할 할 수있다.

기술적으로 그럴 수있어 "피기 백"두 가지 방법 중 하나를 동일한 응용 프로그램 시작 지점에 두 개의 응용 프로그램 : 같은 디렉토리에 각 응용 프로그램에 대한 모든 파일을 넣어

  1. (적절한 서브 디렉토리)

겹치는 파일이없는 경우이 문제를 해결할 수 있습니다. 물론, 기본 페이지 나 인덱스 페이지 등과 같은 파일을 사용하지 않을 것입니다. 그리고 이것은 어쨌든 꽤 복잡 할 것입니다.

  1. 각 응용 프로그램의 모든 비 이진 파일을 적절한 하위 디렉토리에 저장하고 바이너리를 주 가상 \ bin 디렉토리에 저장합니다.

각 응용 프로그램의 이진 파일이 이름별로 겹치지 않고 어셈블리간에 네임 스페이스 모호성 충돌 (파일 이름별로 두 개의 다른 어셈블리가 있지만 네임 스페이스가 같음)이없는 경우에만이 작업을 수행 할 수 있습니다. 후자는 두 개의 서로 다른 애플리케이션을 피기 백하려는 경우 발생할 가능성이 훨씬 적습니다.

후자의 솔루션에서 볼 수있는 큰 문제는 응용 프로그램 루트 참조를 사용하는 응용 프로그램의 모든 부분이 중단된다는 것입니다. 일부 코드 (이미지 같은) 어떤 리소스에 대한 레퍼런스를 해결하려고 할 때 응용 프로그램 루트 기준에 따라 다음과 같은

~/images/logo.gif 

~ 가상 디렉터리에 해결하는 것이지만 추가 포함되지 않습니다 (비 가상 및 비 앱 시작 지점) 하위 디렉토리에 있습니다. 그래서 대신의 :

/vd1/app1/images/logo.gif 

이 될 겁니다 :

분명히
/vd1/images/logo.gif 

, 작동하지 않습니다.

그래서 두 가상 디렉터리를 같은 가상 디렉터리에 둘 수있는 경우 두 응용 프로그램 모두 중단되지 않지만 파일 충돌 등을 확인해야합니다. 별도의 응용 프로그램 시작점이 없으면 가능한 네임 스페이스 충돌이 불가피합니다.

+0

이것은 할 수있는 것 같습니다 ... 고맙습니다! –

+0

나는 다른 해결책을 원했다. – Slav

관련 문제