Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IIS6 | Application Pools | ASP.NET Framework

Tags:

asp.net

iis-6

In IIS6 it's possible to have more than one ASP.NET application running in the same application pool. This is fine, except that there is nothing in IIS6 that prevents you from running multiple .NET versions in the same pool.

When you create application pools in IIS7 you must explicitly state was .NET version will be running in that pool. Running multiple .NET versions in IIS7, in the same application, is impossible.

How can I enforce such rules on my IIS6 server in order to prevent my deployment team from creating such problems?

like image 674
Danny G Avatar asked Jan 26 '26 21:01

Danny G


2 Answers

What I do:

Step 1. Create the following application pools:

.NET 1.1 Apps
.NET 2.0 Apps

Step 2. Disable the "Default App Pool"

Now, any time a new application is configured in IIS, it will not work right away because the default app pool is disabled. This forces the person configuring the application to select an app pool that is appropriate for the .NET framework version of the app.

like image 136
Chris Avatar answered Jan 29 '26 10:01

Chris


We tend to use one application pool per site, so that each application is isolated in its own process space. Application pool recycles will only affect a single application, and each worker process ends up with its own 4gb memory space. Badly programmed applications have no chance of affecting other applications, resulting in a highly isolated deployment model.

We've also standardized on x64 OS builds running 32bit application pools. While there is overhead using this technique since each application ppol contains a separate copy of the .Net framework, we feel that the added granularity of the application space adds stability to our deployments. You also get the ability to run each application as it's own domain identity, allowing for further memory space isolation and eliminating any need for identity impersonate in web configs.

With IIS 7, you have the ability to run each application pool as either 32 bit or 64 bit, so you can run large memory applications in 64 bit application pools. IIS 7 application pool security is also much more simplified.

like image 36
Christopher G. Lewis Avatar answered Jan 29 '26 11:01

Christopher G. Lewis



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!