My application is built on ASP.NET 2.0 and is hosted on a dedicated server running Windows Server 2008 R2.
From the last few days, my users are complaining that the application starts malfunctioning by picking previous SQL Server connection values. The GridView starts displaying options of a DropDown control and so on. When I restart the SQL Server background service, everything starts working fine. I had a lot of discussion with people and few suggested that it has something to do with the Application Pool.
I looked into the IIS properties to see which application pool is running my application. I found that my application is using Classic Application Pool with Managed Pipeline Mode set to: Classic
. The application is also running with Application Pool Identity: LocalSystemAccount
.
In the database connection string (in web.config file), I am using Server Name as LocalHost with Integrated Security=SSPI
.
I want to know whether the above settings have anything to do with this malfunction.
Do I need to change the Pipeline Mode to Integrated and put the application in a separate pool? Is Integrated Security=SSPI
has anything to do with the PipeLine Mode
?
Additionally, Integrated mode enables the availability of managed features to all content types. When an application pool is in Classic mode, IIS 7.0 handles requests 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.
Application Pool Identity Accounts Worker processes in IIS 6.0 and in IIS 7 run as Network Service by default. Network Service is a built-in Windows identity. It doesn't require a password and has only user privileges; that is, it is relatively low-privileged.
Re: Are Pipeline Mode and Integrated Security setting related: No.
Pipeline Mode indicates the way that IIS handles requests. Classic is essentially the IIS6 model, with ASP.NET code running through ISAPI. Integrated brings ASP.NET processing into the main pipeline in a new model for IIS 7.
Integrated Security is determining the authentication your app presents to SQL when making a connection. SSPI I believe means that you will use the account credentials of the App Pool process. Since you are using LocalSystemAccount, it will be the Local System. This would probably present a problem if the SQL Server instance was on a separate machine, but if it is localhost I would imagine it would be trusted.
As to the root of the erratic behavior... I don't have an answer there. The app pool could be getting into a screwy state, but I don't think that state is related to pipeline mode.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With