by Naveen
24. May 2010 10:09
Recently I was working on upgrading this site to from ASP.Net 2.0 to ASP.Net 4.0. As a first quick pass, I
followed my usual procedure of loading the projects into Visual Studio 2010 and set the target for all
projects to use .Net 4.0 framework. So far so good. I tested it on my development machine which is
Windows 7 and everything worked as I expected.
So I went ahead with deployment on my production Windows server. I changed the target ASP.Net framrwork of
my web site to ASP.Net 4.0 from ASP.Net 2.0. And site loaded and started serving requests. After
few hours I got an email from another site owner who is hosting site on my server that all sites have
stopped working and we were getting Server Error or Application Error. I have about dozen sites hosted on the
server and all but one stopped working. Only one that was working was this site that I just upgraded
to use ASP.Net 4.0. Right there I realized the mistake I made. This is the samee mistake that was
made when sites were upgraded from ASP.Net 1.1 to ASP.Net 2.0.
Mixed ASP.Net versions in Application Pool
Yes, now I had one site in the application pool that was using ASP.Net 4.0 and others were using ASP.Net 2.0.
Application pools do not allow mixed version of .Net framework. Here are some things that you will have to take
into consideration when migrating your existing ASP.Net sites from 2.0 t0 4.0 or when adding new sites
on Windows 2003 server.
- Make sure that you do not mix use of ASP.Net version in same pool
- Best option is to make a new Application Pool and put your new or migrated ASP.Net 4.0 sites in
there.
-
If you have already made a mistake (like I did) of mixing ASP.Net versions on application pool, then there
are few options you can use:
- Move the sites using ASP.Net 4.0 framework to a new pool or move ASP.Net 2.0 sites into new pool
depending on whatever is less work.
- I have run into cases where moving ASP.Net 4.0 out of pool did not work. If upgrading
all sites to ASP.Net4.0 framework is not going to break anything, then you may have to consider
that option.
- When you start upgrading existing sites to use new pool or upgrade to new ASP.Net 4.0 you may run
into problem that all sites start showing Service Unavailable error. This has
been happening a lot on Windows 2003 server. During process of upgrading and pool switching, some time
IIS stops working. You will notice a red cross mark on Web Sites node in IIS. You will have
to goto Service Control Manager to restart worldwide web publishing service on your server
I hope this little piece of information helps you get out of problem of upgrading existing site
to ASP.Net 4.0 when there are other sites in same pool that use older version of ASP.Net.
|
|
|