当我尝试在我的本地计算机(在Windows 7上运行)上启动我的IIS服务器时,它给出了一个错误说:
值不在预期范围内
我已经尝试了很多事来纠正这个问题,但没有成功。最后我在我的机器上重新安装了IIS服务器,但问题仍然存在。
有没有人对此错误有任何疑问?我该如何解决?
答案 0 :(得分:19)
我发现,这个问题是由于IIS中的visual studio创建了错误的虚拟目录而导致默认网站无法启动。
我要解决此问题,我删除了我的默认网站并在IIS中再次创建。之后,我创建了我的应用程序的特定虚拟目录。这解决了我的问题。仍然不知道为什么默认网站在Visual Studio创建不正确的虚拟目录后停止工作。
希望这有助于那些面临这个问题的人。
答案 1 :(得分:6)
我在IIS 8.5中遇到此问题,问题最终是绑定中主机名的不完整条目。我没有在FQDN上包含.com。
答案 2 :(得分:3)
我遇到此问题,即将网站的特定帐户设置为..
如果直接在applicationHost.config中设置密码,它就会消失。虽然IIS不能再做了..
在:C:\ Windows \ System32 \ inetsrv \ config
可能有所帮助。
答案 3 :(得分:3)
我遇到了同样的问题。问题出在@ aaron-gibson指出的文件中。
applicationHost.config at: C:\Windows\System32\inetsrv\config
(见这里:IIS Configuration Reference)
其中一个网站的数据不正确:
<application path="/e:\MyFolder\MySiteWithProblem\VDir" applicationPool="AppPool152">
<virtualDirectory path="/" physicalPath="e:\MyFolder\MySiteWithProblem\VDir\Vdir" />
在这种情况下,application path
包含无效字符。而且,physicalPath不存在。
修复此条目可解决问题。
标记为解决方案的答案解决了问题,因为它从头开始重新创建此文件。但就我而言,我没有丢失所有网站。
我更改了文件
applicationHost.config
在:C:\Windows\System32\inetsrv\config
每个网站的条目都在标签中:
<configuration>
<system.applicationHost>
<sites>
...
<site name="Default Web Site" id="1" serverAutoStart="true">
<application path="/MyPath" applicationPool="AppPool152">
<virtualDirectory path="/" physicalPath="e:\MyFolder\MySite\Vdir" />
</application>
...
<site>
...
</sites>
</system.applicationHost>
</configuration>
答案 4 :(得分:2)
我的结果是一个问题。我删除了比绑定中使用的其他名称,它工作得很好。
祝你好运!答案 5 :(得分:1)
将“主机名”设置为数字可能会导致此问题。 “主机名”需要包含至少1个字母。
答案 6 :(得分:1)
我在Octopus Deploy中遇到了这个问题。
事实证明,绑定存在问题,即在Octopus中设置项目时,主机名末尾有多余的空格。
您还可以从C:\ Windows \ System32 \ inetsrv \ Config中的applicationhost.config看到此信息
答案 7 :(得分:1)
我遇到了这个问题,问题是绑定错误,URL后有一个空格。
检查绑定中是否有错误的字符,以及是否还有其他错误。
答案 8 :(得分:1)
我在新的IIS 10部署中遇到了这个问题。我们的网络团队从较旧的服务器上复制了applicationhost.config文件,这是造成这种情况的原因。在IIS 10中,有两个新设置可以加密应用程序池标识的密码。由于IIS 7配置文件没有这些加密设置,因此IIS在分配新用户时抛出此错误。我只是从全新的服务器版本中复制了设置,然后开始正常工作。将这两个设置添加到已经存在的现有设置中:
<configProtectedData>
<providers>
<add name="IISCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngConfigurationKey" useMachineContainer="true" />
<add name="IISWASOnlyCngProvider" type="Microsoft.ApplicationHost.CngProtectedConfigurationProvider" description="(WAS Only) Uses Win32 Crypto CNG to encrypt and decrypt" keyContainerName="iisCngWasKey" useMachineContainer="true" />
</providers>
</configProtectedData>
答案 9 :(得分:0)
在我使用自动构建和部署系统(TeamCity with Octopus deploy)之前,我已收到此错误消息。事实证明,Octopus Deploy变量中为IIS指定的端口号I太高了。
从我在web site找到的内容中,IIS将接受的最高端口号为65535。
答案 10 :(得分:0)
此消息可能是由C:\ Windows \ System32 \ inetsrv \ config中的applicationHost.config文件中的应用程序名称格式错误引起的。
例如,我在应用程序名称中有一个“ \”,将其删除后就消除了错误。