ASP.NET IIS Web.config [内部服务器错误]

时间:2010-01-26 08:49:17

标签: asp.net iis web-config

我改变了PC / Windows(XP - > 7)所以IIS(6 - > 7,5)并试图移动我的网站

但我无法从此服务器运行我的网站。 。 。 错误:

  
    

错误说明:错误HTTP 500.19 -     内部服务器错误

  
     

请求的页面不可用   因为配置不正确   此页面的数据。

     

错误详细信息模块IIS Web Core   注意BeginRequest Handler还没有   确定错误0x80070021   配置错误此配置   部分不能以这种方式使用。   这部分发生时会发生这种情况   锁定在父级别。锁定是   默认情况下(overrideModeDefault   =“拒绝”),或使用overrideMode =直接由标记位置安装   “拒绝”或继承财产   allowOverride =“false”。该   配置文件\ \? \ D:\   Projects \ Flow WEB \ Sources \   web.config请求的URL地址   https:/ / 192.168.0.172:443 /   物理路径D:\ Projects \ Flow WEB   \来源登录方法还没有   已确定已登录的用户   尚待确定的频道

     
    

配置

  
<handlers>   
<remove name="WebServiceHandlerFactory-Integrated" />

...

我的web.config部分:

    <modules>
        <remove name="ScriptModule" />
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </modules>

    <handlers>
        <remove name="WebServiceHandlerFactory-Integrated" />
        <remove name="ScriptHandlerFactory" />
        <remove name="ScriptHandlerFactoryAppServices" />
        <remove name="ScriptResource" />
        <add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
        <add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </handlers>

那有什么不对?

我的尝试: 如果我做到了 -

        <modules allowDefinition="MachineToApplication" overrideModeDefault="Deny">
        <remove name="ScriptModule"/>
        <add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
    <handlers overrideModeDefault="Deny">
        <remove name="WebServiceHandlerFactory-Integrated"/>

我有错误: 无法识别的属性“overrideModeDefault”

因此我无法在configSections中添加它,因为它告诉我它已存在于此处。

当我将IIS更改为读/写(如图片)时,我遇到了一个新错误:

    Error description:
Error HTTP 404.3 - Not Found
The requested page can not be displayed because of the configuration expansion. If the page is a script, add a handler. If you need to download the file, add a MIME.
Error Details
Module StaticFileModule
Notice ExecuteRequestHandler
Handler StaticFile
Error 0x80070032
The requested URL-address https: / / 192.168.0.172:80 / Default.aspx
Physical Path D: \ Projects \ Flow WEB \ Sources \ Default.aspx
Anonymous Logon
Users who have logged Anonymous
The most likely reasons:

    * Perhaps there is no comparison handlers. By default, all content is processed by a handler static files.
    * Perhaps the component to which the access is not installed.
    * Corresponding MIME map is not activated for the website or application. Warning: Do not create a MIME map for content that users should not load - say, for the pages. ASPX or files. Config.
    * If ASP.NET is not installed.

8 个答案:

答案 0 :(得分:49)

我遇到runAllManagedModulesForAllRequests问题,代码0x80070021和http错误500.19并设法解决它

以Admnistrator的身份启动命令提示符,请转到:C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319&gt;

执行

aspnet_regiis -i

宾果!

答案 1 :(得分:17)

在web.config中进行检查,然后将overrideModeDefaultDeny更改为Allow

<configSections>
  <sectionGroup name="system.webServer">
    <section name="handlers" overrideModeDefault="Deny" /> 
    <section name="modules" allowDefinition="MachineToApplication" overrideModeDefault="Deny" />

您还可以从“功能委派”管理IIS管理控制台中Web服务器级别的部分。

答案 2 :(得分:15)

我遇到了同样的问题。不记得我在网上找到它的地方,但这就是我所做的:

点击“开始按钮”

在搜索框中输入“打开或关闭Windows功能”

在功能窗口中,单击:“Internet信息服务”

点击:“万维网服务”

点击:“应用程序开发功能”

检查(启用)功能。我检查了除CGI以外的所有内容。

IIS - this configuration section cannot be used at this path (configuration locking?)

答案 3 :(得分:1)

我遇到了同样的问题,发现applicationdeployed是.NET版本3.5,但是应用程序池使用的是.NET 2.0。这导致了上面描述的问题。希望它可以帮到某人。

我的错误:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information
Module IIS Web Core 
Notification BeginRequest 
Handler Not yet determined 
Error Code 0x80070021 

Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".  
Config File \\?\C:\inetpub\MyService\web.config 
Requested URL http://localhost:80/MyService.svc 
Physical Path C:\inetpub\DeployService\DeployService.svc 
Logon Method Not yet determined 
Logon User Not yet determined 
 Config Source
101:        </modules>
  102:      <handlers>
  103:          <remove name="WebServiceHandlerFactory-Integrated"/>
HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid. Detailed Error Information
Module IIS Web Core 
Notification BeginRequest 
Handler Not yet determined 
Error Code 0x80070021 
Config Error This configuration section cannot be used at this path. This happens when the section is locked at a parent level. Locking is either by default (overrideModeDefault="Deny"), or set explicitly by a location tag with overrideMode="Deny" or the legacy allowOverride="false".  

Config File \\?\C:\inetpub\DeployService\web.config 
Requested URL http://localhost:80/DeployService.svc 
Physical Path C:\inetpub\DeployService\DeployService.svc 
Logon Method Not yet determined 
Logon User Not yet determined 
 Config Source
  101:      </modules>
  102:      <handlers>
  103:          <remove name="WebServiceHandlerFactory-Integrated"/>`

答案 4 :(得分:1)

对我来说,这是一个刚刚没有通过IIS加载的新NetCore应用程序。如果单独运行就可以了。

我删除了<aspNetCore行,然后我收到来自IIS的正常错误消息,指出无法加载NetCoreModule。该模块需要了解这个新的web.config行。

错误消息0x8007000d实际上表示web.config格式错误,并且在错误加载模块出现此错误消息之前错误显示错误。 (以及不幸的竞争条件问题)

我安装了NetCoreSDK并停止并启动了IIS(重启没有工作)

NetCore API按预期通过IIS开始工作。

答案 5 :(得分:0)

我遇到了同样的问题。

解决方案:

  1. 点击“iis”
  2. 中站点文件夹中的右键
  3. “转换为应用程序”。

答案 6 :(得分:0)

如果你有python,你可以使用一个名为iis_bridge的包解决问题。 要安装:

pip install iis_bridge

然后在python控制台中:

import iis_bridge as iis
iis.install()

答案 7 :(得分:0)

当我在Visual Studio 2013 iis express中运行旧版应用程序并按照以下步骤解决问题时,我遇到了类似的错误 1.导航到“ Documents \ IISExpress \ config” 2.使用记事本或任何首选编辑器打开“ applicationhost.config” 3.向下滚动并在下面找到部分名称=“ anonymousAuthentication” 4.将overrideModeDefault =“ Deny”更新为“允许” 5.保存配置文件 6.运行旧版应用程序,对我来说很好。