Microsoft has done a great job of allowing multiple versions of the framework to run side by side. Version v1.0, v1.1 and v2.0 can all run together at the same time on the same server. Each site, or even a vdir (Virtual Directory) within a site can have its own version of the framework installed.
There are a couple of gotchas, having multiple versions of .NET Framework installed on a machine and its behaviour differs based on IIS version installed.
In IIS 5.0, if there are multiple versions installed on a machine, and there are multiple applications/components, that are compiled in .NET 1.0, 1.1, 2.0 , you would find that there are three ASP.NET worker processes(aspnet_wp.exe) in the Task Manager, there is one per version of the framework(1.0,1.1, 2.0).
Things are different with IIS 6.0, the aspnet_wp.exe is replaced by w3wp.exe processes instead.
This supports Application Pools, which means adminstrators can configure a group of sites, under one group. Whenever there is a request for the site, a w3wp.exe will start a new process. But there is a gotcha, you cannot run more than one version of the framework in the same application pool. If you attempt to run multiple versions of the framework at the same time in the same process, the 2nd version that tries to run will fail with the following error:
Server Application Unavailable
Fortunately, the solution is easy enough. Simply create a new application pool and move the site that you will be upgrading to that pool.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment