What is web.config locking and how and why is it done?


What is web.config locking and how and why is it done? This is going to be a long post because I am going to step you through the process which has led me to this question.

I have a Web Site I am trying to debug and explore. It is used already. It is already in a workable state on the computers of my peers in my development group. I just want to step through the code in debug mode. To do this, according to a peer I work with, I need to start the web site locally and then attack the project I have loaded in Visual Studio to the running project.

This brings me to the error I am stumped on. when I open IIS and click on the option to "Browse *.80 (http)" for the website that is listed and has been validated, it launches the website in a browser but it has an error:

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


Of course I have modified the path to the web.config to keep this anonymous.

The "Config Source:" on the page has a red highlighted line that has the XML node, but this does not seem to be useful information.

The "More Information" area at the bottom of the page says:

More Information: This error occurs when there is a problem reading the configuration file for the Web server or Web application. In some cases, the event logs may contain more information about what caused this error.
View more information »

Since the HResult code is 0x80070021, the corresponding Error message listed on this hyperlink page, https://support.microsoft.com/en-us/help/942055/http-error-500-19-error-when-you-open-an-iis-7-0-webpage is:

Server Error in Application "application name"

HTTP Error 500.19 – Internal Server Error

HRESULT: 0x80070021

Description of HRESULT The requested page cannot be accessed because the related configuration data for the page is invalid.

The Cause is: This problem can occur when the specified portion of the IIS configuration file is locked at a higher configuration level.

The Resolution is: To resolve this problem, unlock the specified section, or do not use it at that level. For more information on configuration locking, see How to Use Locking in IIS 7.0 Configuration.

This links to this page https://docs.microsoft.com/en-us/iis/get-started/planning-for-security/how-to-use-locking-in-iis-configuration which describes locking of different elements in a configuration file.

Apparently, according to this document online, I might be able to solve this issue by following the steps described.

The page mentions applicationHost.config but the error page I get references web.config but I assume that if I change

to then it might work

and yet, intellisense says that "overrideMode" is not an allowed attribute.

asked on Stack Overflow Apr 3, 2019 by xarzu

0 Answers

Nobody has answered this question yet.

User contributions licensed under CC BY-SA 3.0