我一直在使用IIS express作为我的网络服务器,但是我遇到了一个需要应用程序池作为特定用户而不是NetworkService或其他帐户运行的场景。
使用以下命令,我创建了一个应用程序池并配置了站点以使用它。现在,我无法通过Visual Studio启动IIS Express。当我尝试时,我得到“Visual Studio无法启动IIS Express Web服务器”消息。如果我使用命令行启动IIS Express,一切似乎都有效。如果我将应用程序池更改回使用服务帐户,或者甚至只是将站点更改为使用其他应用程序池,那么一切正常。有什么想法吗?
用于创建应用池的命令
appcmd add apppool /name:MyPool /managedRuntimeVersion:v4.0 /managedPipelineMode:Integrated
appcmd set config /section:applicationPools /[name='MyPool'].processModel.identityType:SpecificUser /[name='MyPool'].processModel.userName:'MyUser' /[name='MyPool'].processModel.password:MyPass
appcmd set app /app.name:MySiteName/ /applicationPool:MyPool
用于手动启动iisexpress.exe的命令
iisexpress /config:c:\users\me\documents\iisexpress\config\applicationHost.config /trace:error
我已尝试重新安装IIS Express和Visual Studio 2010 SP1。没有区别。
答案 0 :(得分:6)
只是一个想法:由于问题可能与安全相关,我建议尝试以提升模式运行Visual Studio(以管理员身份运行)。或者如果可以的话,使用IIS而不是Express。
答案 1 :(得分:0)
您是否看过how to run iisexpress app pool under a different identity
默认情况下,iisexpress.exe作为当前登录用户运行。如果上面给出的链接不起作用,可能你应该启动visual studio作为所需的用户(使用'runas'命令)然后自动iisexpress.exe将运行VS正在运行的任何身份。