How to Resolve HTTP Error 500.35: ASP.NET Core Application Pool Conflicts on IIS

  • Thread starter Thread starter HridayDutta
  • Start date Start date
H

HridayDutta

When hosting web applications on IIS, you may encounter the HTTP Error 500.35, which reads: "ASP.NET Core does not support multiple apps in the same app pool." This error typically surfaces when you're trying to run more than one ASP.NET Core application in the same application pool. The problem can be frustrating, especially if you're unaware of the boundaries that lead to this issue.

HridayDutta_0-1724845315002.png



Cause of the Issue
ASP.NET Core applications have specific hosting requirements, particularly when running on IIS. Unlike traditional ASP.NET applications, ASP.NET Core limit running multiple applications within the same application pool. The root cause of the HTTP Error 500.35 lies in how ASP.NET Core manages its dependencies and runtime environment. When multiple applications share the same app pool, conflicts arise because each application tries to initialize and manage its version of the .NET runtime, leading to instability and crashes.



Solution

To resolve this issue, you can follow these steps to assign separate application pools
• Open the IIS Manager.
• In the Connections pane, expand the server node and click on Application Pools.
• Right-click on the existing application pool or create a new one by selecting Add Application Pool.
• Assign each ASP.NET Core application its own dedicated application pool. Ensure the .NET CLR version is set to "No Managed Code" if using an out-of-process hosting model.
• Associate each application with its respective application pool by right-clicking on the application, selecting Manage Application > Advanced Settings, and choosing the appropriate application pool.



This should resolve the issue. You can also check event logs and stdout logs to identify where and why it’s failing.



System Event Log
• Open the Event Viewer on your server.
• Navigate to Windows Logs > System and review any error messages or warnings that may indicate why the application is failing to start.

Stdout Logging
• Navigate to the root directory of your ASP.NET Core application.
• Open the web.config file in a text editor.
• Locate the aspNetCore element and set stdoutLogEnabled="true" and specify a path for stdoutLogFile. For example:

<aspNetCore processPath="dotnet" arguments=".\MyApp.dll" stdoutLogEnabled="true" stdoutLogFile=".\logs\stdout" />



Conclusion
The HTTP Error 500.35 occurs because ASP.NET Core limit running multiple applications within the same application pool on IIS. By assigning each application to its own application pool, checking system logs and enabling stdout logging if necessary, you can effectively resolve this issue. Ensuring that each application operates in a separate environment will prevent runtime conflicts and improve the stability of your hosted applications. For more detailed information and troubleshooting steps, you can refer to the official documentation Troubleshoot ASP.NET Core on Azure App Service and IIS | Microsoft Learn.

Continue reading...
 
Back
Top