IIS配置错误 - 此配置部分不能在此路径中使用

时间:2015-12-10 10:50:33

标签: asp.net .net web-config iis-8 applicationhost

当我尝试运行我的网站时,我收到以下错误。

该网站托管在Windows 2012 R2上。

配置错误:此配置部分不能在此路径中使用。当该部分被锁定在父级别时会发生这种情况。默认情况下,锁定(overrideModeDefault =" Deny"),或者使用overrideMode =" Deny"或遗留的allowOverride =" false"。

错误代码:0x80070021

配置来源:

 60:     <httpErrors errorMode="Detailed" />
 61:     <handlers>
 62:       <remove name="ExtensionlessUrlHandler-Integrated-4.0" />

以下是我所尝试的内容:

  1. 安装.Net 3.5使用&#34;添加功能和角色&#34;在IIS中
  2. 在applicationHost文件中,我对以下代码进行了更改:

    更改了部分处理程序&#39;,模块,anonymousAuthentication,basicAuthentication等,覆盖了#34; Deny&#34;到&#34;允许&#34;。

  3. 已完成&#34; HTTP激活&#34;在.Net 3.5以及4.5。

  4. 以下是我的网络配置文件处理程序代码:

    <handlers>
      <remove name="ExtensionlessUrlHandler-Integrated-4.0"/>
      <remove name="OPTIONSVerbHandler"/>
      <remove name="TRACEVerbHandler"/>
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0"/>
    </handlers>
    
    1. 在此路径中的功能窗口中安装了所有功能: 互联网信息服务 - &gt;万维网服务 - &gt;应用程序开发功能 - &gt;除CGI外,其他所有功能都已启用。

    2. 在功能委托中,ASP之前是只读的,我已将其更改为读/写

    3. 使用命令提示符解锁处理程序

    4. 但我仍然无法摆脱错误。 我的本地实例工作正常。此外,我有一个开发服务器,该网站正在工作,只有在我的生产服务器,我收到此错误。

      请帮我找出可能导致此问题的原因。

9 个答案:

答案 0 :(得分:115)

按照以下步骤解锁父级别的处理程序:

1)在连接树(在IIS中)中,转到您的服务器节点,然后转到您的网站。

2)对于网站,在右侧窗口中,您将看到管理下的配置编辑器。

3)双击配置编辑器。

4)在打开的窗口中,您会看到一个下拉部分。选择&#34; system.webServer / handlers&#34;从下拉开始。

5)在右侧,还有另一个下拉。选择&#34; ApplicationHost.Config&#34;

6)在最右边的窗格中,您会找到&#34;解锁部分&#34;在&#34;部分&#34;标题。点击它。

7)一旦applicationHost处理程序解锁,您的网站就可以正常运行。

答案 1 :(得分:60)

Heres对我有用,在我的新笔记本电脑上有类似的问题,有10个窗口。

  • 搜索“打开或关闭Windows功能”
  • 查看“互联网信息服务”
  • 检查“万维网服务”
  • 检查“应用程序开发功能”
  • 启用此
  • 下的所有项目

再试一次,现在应该可以了。

答案 2 :(得分:9)

大多数IIS部分are locked by default但您可以通过修改位于ApplicationHost.configenter image description here文件,将相关部分组的属性<banners> <template slot-scope="{echo}"> <?php for ($i = 0; $i < 5; $i++) : ?> <img src="http://lorempixel.com/1440/500" alt="Banner image" class="banner"> <a href="#" v-on:click="echo">Echo</a> <?php endfor; ?> </template> </banners> 从“拒绝”设置为“允许”来“解锁”它们在管理员模式的overrideModeDefault

can struct type itself be passed to function as parameter in c?

答案 3 :(得分:5)

我遇到了这个问题,并按照以下步骤解决了这个问题,我的问题可能有所不同。希望这可以帮助一些人。

打开和关闭Windows功能中,导航到服务器角色,然后选择以下提及最少的项目。

enter image description here

干杯!

答案 4 :(得分:4)

我的项目文件夹中有一个applicationhost.config。似乎IISExpress使用此文件夹,即使它在我的c:\ users文件夹中显示不同的文件

.vs \ config \ applicationhost.config

答案 5 :(得分:1)

我认为更好的方法是必须从web.config中删除配置。在服务器上发布代码,并直接从IIS服务器界面执行要删除的操作。

感谢这种方法,如果你成功地做了你想做的事,你只需要获得web.config并比较差异。之后你只需要在这篇文章中发布解决方案:-P。

答案 6 :(得分:0)

单击您的项目属性,转到Web部分,从Servers部分,从IIS express更改为Local IIS,它将为您创建一个虚拟目录

答案 7 :(得分:0)

尝试这些步骤时,我不断出错:

  1. 搜索“打开或关闭Windows功能”
  2. 检查“ Internet信息服务”
  3. 选中“万维网服务”
  4. 检查“应用程序开发功能”
  5. 启用此下的所有项目

然后我看了事件查看器,看到了这个错误:Unable to install counter strings because the SYSTEM\CurrentControlSet\Services\ASP.NET_64\Performance key could not be opened or accessed. The first DWORD in the Data section contains the Win32 error code.

要解决我在注册表中的以下条目手动创建的问题:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\ASP.NET_64\Performance

并执行以下步骤:

  1. 搜索“打开或关闭Windows功能”
  2. 检查“ Internet信息服务”
  3. 选中“万维网服务”
  4. 检查“应用程序开发功能”
  5. 启用此下的所有项目

答案 8 :(得分:0)

下面是对我有用的东西:

  1. 在IIS中,单击根注释“ LAPTOP ____ **”。
  2. 从中间托盘中显示的选项中,单击底部的配置编辑器。
  3. 在顶部下拉列表中,选择“ system.webServer / handlers”。
  4. 在“部分解锁”部分的右侧窗口中。