HTTP Error 500.23 – Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.
Most likely causes:
- This application defines configuration in the system.web/
httpHandlers
section.
Things You Can Try
- Migrate the configuration to the
system.webServer
/handlers
section. You can do so manually or by using AppCmd
from the command line – for example, %SystemRoot%system32inetsrvappcmd migrate config “Default Web Site/”
. Using appcmd
to migrate your application will enable it to work in Integrated mode, and continue to work in Classic mode and on previous versions of IIS. - If you are certain that it is OK to ignore this error, it can be disabled by setting
system.webServer/validation@validateIntegratedModeConfiguration
to false
. - Alternatively, switch the application to a Classic mode application pool – for example,
appcmd set app “Default Web Site/” /applicationPool:”Classic .NET AppPool
”. Only do this if you are unable to migrate your application.
(Set “Default Web Site” and “Classic .NET AppPool” to your application path and application pool name.)
If you are still confused about the previous post, here is the link:
Problem
Last time, we received a similar problem while debugging from Visual Studio, this time it is produced by IIS itself after publishing.
Solution
We will add a small piece of code into web.config file. This can be done using two methods. Either you open any text-editor (notepad) with Administrator Privilege and open web.config from your IIS root or change the setting in Visual Studio web.config and publish again. What you want to is totally up to you.
Piece of Code
......
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
</system.webServer>
</configuration>
Place this code inside configuration node. Also, this will not harm you in case of security, This will just tell not to check such settings which are not required.
Thanks for reading. Do not forget to share or provide feedback.