[visual-studio] IIS Express에서 가상 디렉터리 만들기
IIS Express에서 가상 디렉터리를 만드는 방법이 있습니까? Cassini가이 작업을 수행 할 수 없다는 것을 알고 있으며 정식 버전의 IIS를 사용하지 않고이 작업을 수행 할 수 있으면 좋을 것입니다.
지금까지 다음과 같이 IIS Express에서 내 응용 프로그램을 로컬로 탐색 할 수 있습니다.
제가하고 싶은 것은 “OffSiteStuff”라는 가상 디렉터리를 만들고 “c : \ offsitestuff”와 같은 내 C 드라이브의 특정 위치를 가리키고 다음과 같이 해당 폴더의 항목을 찾아 보는 것입니다.
http : // localhost : 1132 / OffSiteStuff / UserUploadedImage.jpg
내 사이트 내의 폴더로이 작업을 수행 할 수 있고 IIS Express를 계속 사용할 수 있다는 것을 알고 있습니다. 또는 그 문제에 대해 평범한 오래된 Cassini를 사용하지만이 폴더는 사용자가 업로드 한 이미지를 저장하며 이러한 이미지가 서로 섞이는 것을 원하지 않습니다. 응용 프로그램 파일.
다른 “큰”솔루션은 오프 사이트 콘텐츠를 사용하는 기능을 디버깅 할 때마다 사이트를 완전히 중단 된 Server 2008 IIS 7.5 인스턴스에 배포하는 것입니다.
<System.WebServer />
웹 구성 요소 에서이 작업을 수행 할 수있는 방법이 있습니까?
답변
IIS Express 구성은 applicationhost.config에서 관리합니다.
당신은 그것을 찾을 수 있습니다
Users \ <사용자 이름> \ Documents \ IISExpress \ config 폴더.
내부에는 각 IIS Express 구성 사이트에 대한 섹션이있는 사이트 섹션이 있습니다.
다음과 같이 사이트 섹션을 추가 (또는 수정)합니다.
<site name="WebSiteWithVirtualDirectory" id="20">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\temp\website1" />
</application>
<application path="/OffSiteStuff" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="d:\temp\SubFolderApp" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:1132:localhost" />
</bindings>
</site>
실제로 각 가상 디렉터리에 대해 사이트에 새 응용 프로그램 태그를 추가해야합니다. 가상 디렉터리에 대해 다른 구성 (예 : 다른 .Net Framework 버전)을 설정할 수 있으므로 많은 유연성을 얻을 수 있습니다.
편집
더 우아한 솔루션을 가리키는 Fevzi Apaydın에게 감사드립니다.
Application 태그에 하나 이상의 virtualDirectory 태그를 추가하여 동일한 결과를 얻을 수 있습니다.
<site name="WebSiteWithVirtualDirectory" id="20">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\temp\website1" />
<virtualDirectory path="/OffSiteStuff" physicalPath="d:\temp\SubFolderApp" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:1132:localhost" />
</bindings>
</site>
참고:
답변
@ Be.St.의 비난은 사실이지만 불완전합니다. 나는 잘못된 부분을 수정하여 그의 설명을 복사하고 있습니다.
IIS Express 구성은 applicationhost.config에서 관리합니다.
당신은 그것을 찾을 수 있습니다
Users \ <사용자 이름> \ Documents \ IISExpress \ config 폴더.
내부에는 각 IIS Express 구성 사이트에 대한 섹션이있는 사이트 섹션이 있습니다.
다음과 같이 사이트 섹션을 추가 (또는 수정)합니다.
<site name="WebSiteWithVirtualDirectory" id="20">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="c:\temp\website1" />
<virtualDirectory path="/OffSiteStuff" physicalPath="d:\temp\SubFolderApp" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:1132:localhost" />
</bindings>
</site>
새 애플리케이션 블록을 추가하는 대신 애플리케이션 상위 요소에 새 virtualDirectory 요소를 추가하기 만하면됩니다.
편집-Visual Studio 2015
applicationHost.config 파일을 찾고 VS2015를 사용하는 경우 다음 위치에서 찾을 수 있습니다.
[솔루션 _ 디렉토리] /. vs / config / applicationHost.config
답변
VS2013에서는 다음 단계로이 작업을 수행했습니다.
1. 웹 애플리케이션 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 속성을 누릅니다.
2. 속성 페이지의 “웹”탭보기
3. Servers 아래에서 “IIS Express”가 드롭 다운의 기본 선택 항목 인 “Project Url”에서 포트 번호를 사용하는 URL을 적합한 URL로 변경합니다. 예를 들어 포트 번호를 삭제하고 localhost 뒤에 “/ MVCDemo4″를 추가했습니다.
4. “Create Virtual Directory”버튼을 클릭합니다.
5. 프로젝트를 실행하면 새 URL이 사용됩니다.
답변
Visual Studio 2013 (Pro 버전 이상이 필요할 수 있음)을 사용하는 경우 솔루션 탐색기에서 웹 사이트를 마우스 오른쪽 단추로 클릭하고 추가>를 클릭하여 IIS Express (파일 기반) 웹 사이트에 가상 디렉터리를 추가 할 수있었습니다. 새 가상 디렉터리. 여기에 설명 된 수동 방법과 마찬가지로 applicationhost.config 파일에 항목이 추가되었습니다.
답변
새로운 옵션은 IIS Express 용 Jexus Manager입니다.
https://blog.lextudio.com/2014/10/jexus-manager-for-iis-express/
사용 방법을 알고있는 관리 도구 일뿐입니다.
답변
SBS 환경에서 액세스 할 수없는 파일 자체가 있습니다.
config 폴더에있는 파일을 삭제하고 (열 수없는 경우!) 자신의 로컬 PC에있는 폴더의 복사본으로 교체하십시오.
나를 위해 수정했습니다 🙂
답변
[프로젝트] .vs \ config \ applicationhost.config 파일에 항목을 만들어야했습니다.
이전에는 배포에서 작동했지만 코드에서는 작동하지 않았습니다.