2017-09-20 1 views
0

모든 사용자에 대해 IIS 익스프레스에 웹 사이트를 추가 :과 같이 내 소프트웨어를 설치하는 동안 IIS 익스프레스에 웹 사이트를 추가 할 <code>IIS Express</code>과 <code>appcmd.exe</code> 도구를 사용하고

appcmd.exe add site /name:MySite /physicalPath:"C:\Program Files\MySite" /bindings:http://*:8087/ 

를이 제대로 작동하고, 사이트가 IIS Express에 추가됩니다.

문제는 나중에 응용 프로그램의 일부인 Windows 서비스에서 명령 줄을 통해 IIS Express를 시작해야한다는 것입니다. 다음 명령을 사용하고 있습니다.

iisexpress.exe /site:MySite 

그러나 Windows 서비스에서 실행되는 명령이 문제입니다. 서비스는 SYSTEM 계정으로 실행되지만 사이트는 현재 로그인 한 사용자의 계정으로 실행되는 설치 프로그램에서 설치시 추가되었습니다. 그래서이 명령을 사용하여 목록 웹 사이트를하려고하면

ERROR (message:Configuration error 
Filename: \\?\C:\WINDOWS\system32\config\systemprofile\Documents\IISExpress\config\applicationHost.config 
Line Number: 0 
Description: Cannot read configuration file.) 

이 주변에 어떤 방법이 있나요 : 나는 다음과 같은 오류가

appcmd.exe list site 

를? IIS Express에서 "전 세계"(모든 사용자 용) 웹 사이트를 등록 할 수 있습니까? 이 문제를 해결하기위한 다른 아이디어는 없습니까?

답변

0

음, 해결책을 찾았습니다. 다음

C:\Program Files\IIS Express\config\templates\PersonalWebServer\applicationhost.config 

, 내가 APPCMD 명령어 다음 추가하여, 내 전용 .config 파일을 전달보다는 기본이 하나를 공유하여 호출 : 첫째,에있는 템플릿 설정 파일의 복사본을 만들어 (문서화를?) APPCMD 명령어 명령 줄에 매개 변수 :

/AppHostConfig:"C:\path\to\my\applicationhost.config" 

나는 웹 사이트를 시작 iisexpress.exe를 호출 할 때, 나는 또한 추가 :

/config:"C:\path\to\my\applicationhost.config" 

이 잘 작동하는 것 같다.

추신 : "적절한"해결책은 전체 IIS를 사용하는 것이지만 불행히도 프로젝트 관리자는 자체 포함 패키지를 고집합니다.

+0

iis express는 개발 서버이므로 프로덕션 용도로 사용하지 마십시오. 대신 자체 호스팅을 고려하는 것이 좋습니다. –

+0

HWC (Hostable Web Core)는 자체 호스팅 기술입니다. 웹 서버를 로컬 시스템으로 실행하는 끔찍한 보안 상황. –

+0

@ErikFunkenbusch : 안타깝게도 자체 호스팅은 프레임 워크의 "새로운"버전 인 DotNetCore를 사용하여 옵션을 선택할 수 있습니다. 이 웹 애플리케이션은 DotNetCore와 아직 호환되지 않는 일부 구성 요소 (예 : SignalR)를 사용합니다. HWC에 관해서는 : 설명서를 빨리 ​​읽은 후에는 C++ 응용 프로그램을 대상으로 한 것처럼 보입니다 ...이 문서는 C#으로 작성된 ASP.net MVC 웹 응용 프로그램입니다. 나는 HWC가 여기에서 도움이 될 것이라고 생각하지 않는다. 여기에 많은 것들이 –