[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 940
  • Last Modified:

Migrating from IIS6 to IIS7

Hi Experts,

We have  a legacy .Net Application (Asp.net 2.0,.Net Framework 2.0,VS 2005) hosted on IIS6 (windows server 2003)  working fine without any issue.Now we want to migrate the application to  IIS7 (windows server 2008).I am getting error at Global.asax when I select application pool pipeline mode as "integrated " in IIS7 and this error r is due to a design change in the IIS7 Integrated pipeline .I resolved this error just by changing app pool pipeline mode to "classic" and working fine.

I googled on this issue some recommend "classic" without changing any code and others recommend "Integrate" mode and for this I need to change the code at Global.asax file.

Can anyone guide me which approach should I opt and what are the implications of using one over  the other? (classic vs integrated)


Thanks in Advance
0
ksd123
Asked:
ksd123
  • 2
1 Solution
 
Bob LearnedCommented:
That is a great question, but there is not really an easy answer.  Let's start with an explanation from Micro$oft:

Introduction to IIS Architectures
http://www.iis.net/learn/get-started/introduction-to-iis/introduction-to-iis-architecture

INTEGRATED APPLICATION POOL MODE

When an application pool is in Integrated mode, you can take advantage of the integrated request-processing architecture of IIS and ASP.NET. When a worker process in an application pool receives a request, the request passes through an ordered list of events. Each event calls the necessary native and managed modules to process portions of the request and to generate the response.

There are several benefits to running application pools in Integrated mode. First the request-processing models of IIS and ASP.NET are integrated into a unified process model. This model eliminates steps that were previously duplicated in IIS and ASP.NET, such as authentication. Additionally, Integrated mode enables the availability of managed features to all content types.

CLASSIC APPLICATION POOL MODE

When an application pool is in Classic mode, IIS 7 and above handles requests in the same way as in IIS 6.0 worker process isolation mode. ASP.NET requests first go through native processing steps in IIS and are then routed to Aspnet_isapi.dll for processing of managed code in the managed runtime. Finally, the request is routed back through IIS to send the response.

This separation of the IIS and ASP.NET request-processing models results in duplication of some processing steps, such as authentication and authorization. Additionally, managed code features, such as Forms authentication, are only available to ASP.NET applications or applications for which you have script mapped all requests to be handled by aspnet_isapi.dll.

Be sure to test your existing applications for compatibility in Integrated mode before upgrading a production environment to IIS 7 and above and assigning applications to application pools in Integrated mode. You should only add an application to an application pool in Classic mode if the application fails to work in Integrated mode. For example, your application might rely on an authentication token passed from IIS to the managed runtime, and, due to the new architecture in IIS 7 and above, the process breaks your application.
0
 
Bob LearnedCommented:
Then, ask yourself why you are going to IIS7?  I always like to run in Integrated Mode, so I would investigate what you are using in the Global.asax, that requires IIS 6 worker-process isolation mode (Classic), and see if there is a different approach.
0
 
ksd123Author Commented:
Thanks for the explanation
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now