我使用IIS Express
和appcmd.exe
工具安裝我的軟件的過程中添加了一個網站,IIS Express外的所有用戶,就像這樣:添加網站到IIS Express的
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帳戶下運行,而該站點是在安裝時從安裝程序添加的,該安裝程序在當前登錄的用戶的帳戶下運行。所以,當我嘗試列表網站使用命令:
appcmd.exe list site
我得到以下錯誤:
ERROR (message:Configuration error
Filename: \\?\C:\WINDOWS\system32\config\systemprofile\Documents\IISExpress\config\applicationHost.config
Line Number: 0
Description: Cannot read configuration file.)
有沒有解決這個辦法嗎?我可以在IIS Express中「全局」(針對所有用戶)註冊一個網站嗎?任何其他想法來解決這個問題?
iis express是一款開發服務器,不適用於生產用途。您可能需要考慮自託管。 –
Hostable Web Core(HWC)是自承載技術。它也是一個可怕的安全情況,以運行一個Web服務器作爲本地系統。 –
@ErikFunkenbusch:不幸的是,使用DotNetCore這個「新」版本的框架,自託管僅僅是一種選擇(就我所知,如果我錯了,請糾正我)。這個WebApp依賴於一些不兼容DotNetCore的組件(例如:SignalR)。至於HWC:在快速閱讀文檔之後,它似乎針對C++應用程序......這是一個用C#編寫的ASP.net MVC WebApp。我不認爲HWC會在這裏幫助。 –