Problems with IIS and ASP.NET
Published 28 March 2024
HTTP Error 500.0 – ASP.NET Core IIS hosting failure (in-process)
First, make sure that you have ASP.NET Core Module for IIS installed and have restarted IIS afterwards.
If the ASP.NET Core Module is already installed, the IIS Application Pool for Redgate Monitor probably needs to be recycled, or IIS restarted.
HTTP Error 500.24 – ASP.NET Core IIS hosting failure (in-process)
This is caused by having the ASP.NET Impersonation Enabled in the IIS > Authentication section of your IIS site that is hosting Redgate Monitor.
HTTP Error 500.31 – Failed to load ASP.NET Core runtime
First, make sure that you have ASP.NET Core Module for IIS installed and have restarted IIS afterwards.
If the ASP.NET Core Module is already installed, the IIS Application Pool for Redgate Monitor probably needs to be recycled, or IIS restarted.
HTTP Error 500.32 – Failed to load .NET Core host
This is caused when the Advanced Setting Enable 32-Bit Applications is set to True.
Open Inetmgr, right click on the Application pool and choose Advanced Settings and set Enable 32-Bit Applications to False
Troubleshooting ASP.NET
Versions of Redgate Monitor older than v.12 relied on ASP.NET being installed. Some default IIS installations don't enable ASP.NET.
If you installed ASP.NET using the Add or Remove Programs dialog or the Configure Your Server Wizard, ASP.NET should be automatically enabled in IIS.
If you installed it as part of another application, downloaded it from the web, or installed it prior to installing IIS, you must enable ASP.NET manually. Before you install Redgate Monitor, make sure your IIS server has ASP.NET enabled.
To change ASP.NET settings, use IIS Manager.
For more information, see ASP.NET and IIS Configuration in the Microsoft documentation.
Enabling ASP.NET impersonation
IIS needs to provide a Windows identity to access protected Windows resources or files or database servers. ASP.NET also needs access to these, but by default it doesn't use the same Windows identity.
You need to configure ASP.NET to impersonate the IIS Windows identity. For instructions to do this in IIS 7, see Configure ASP.NET Impersonation Authentication (IIS 7).
Troubleshooting IIS
If you're using Redgate Monitor with IIS, ASP.NET Core Module for IIS must be installed and IIS restarted afterwards.
Security settings
Redgate Monitor requires the following security permissions to be enabled in IIS 7:
- anonymous authentication.
- forms authentication.
In IIS 7.5, security has been tightened so that w3wp.exe
(the IIS application pool process) runs by default under the ApplicationPoolIdentity
account. In Windows Server 2008 R2 and Windows 7 this is a Managed Service Account. Managed Service Accounts are a new concept in Win 7 / Windows 2008 R2. For more information, read the following article: http://technet.microsoft.com/en-us/library/dd367859.aspx.
The ApplicationPoolIdentity
account does not necessarily have access permissions to the Redgate Monitor website files that are installed by default to %ProgramFiles%\Red Gate\Redgate Monitor\Web
. You can fix this by manually giving permissions to the Redgate Monitor website folder. To do this, run the following command:
C:\>icacls "C:\Program Files\Red Gate\Redgate Monitor\Web" /grant "IIS APPPOOL\Monitor":(OI)(RX)
IIS APPPOOL\Monitor
is the Managed Service Account automatically generated for the Monitor application pool; the Monitor application pool is created automatically when adding a website called Monitor.
In IIS Manager, go to the Monitor website, double-click Authentication and then set Anonymous Authentication to use Application Pool Identity (i.e IIS APPPOOL\Monitor
) rather than IUSR (IUSR is the default user identity for anonymous authentication).
Redgate Monitor will not work with any application pool using Classic Managed Pipeline Mode. You will need to ensure that Redgate Monitor is added to an application pool running Integrated Pipeline mode.
HTTP Error 500.19 – Internal Server Error messages
First, make sure that you have ASP.NET Core Module for IIS installed and have restarted IIS afterwards.
The Redgate Monitor Web Server may display the following message (where ###
is the identifier for that specific error):
HTTP Error 500.19 - Internal Server ErrorHRESULT: 0x80070### Description of HRESULT The requested page cannot be accessed because the related configuration data for the page is invalid.
You can find possible causes and solutions for errors by checking the HRESULT
identifier against the list here: http://support.microsoft.com/kb/942055.
IIS Worker Process blocking Redgate Monitor update
The IIS Worker Process may hold locks on Redgate Monitor application files so that it can run them, and must release those locks for them to be updated.
To instruct the Worker Process to shut down the Redgate Monitor website and release those locks, the installer will automatically create an app_offline.htm file in the website's application directory.
Graceful shutdown may take up to the amount of time specified in the pool's Shutdown Time Limit (seconds) advanced setting, after which the update can continue. The app_offline.htm file will be automatically deleted.