How to set Session Timeout in ASP.Net

Here are different places from where you can set timeouts. Check all these settings in your application:-

1- Web Config
You can define session time out in sessionstate tag of web.config file. Also if you are using forms authentication then also define session timeout in forms as mentioned below:-
<forms loginurl="sampleloginpage.aspx" name="samplecookie" timeout="45" path="/" requiressl="true" protection="All">
</forms>
<sessionstate mode="InProc" stateconnectionstring="tcpip=127.0.0.1:42424" cookieless="false" timeout="45">

2-Global.asax Session_Start Event
You can also set this in global.asax file as mentioned here:-
Session.Timeout = 60 ; // in Session.Start() event

3-sessionState
To set session timeout to 45 minutes write this in the web.config file :
<sessionstate mode="InProc" stateconnectionstring="tcpip=127.0.0.1:42424"
 sqlconnectionstring="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20">

The maximum limit for session timeout is 525,600 minutes(1 year) - (365 days x 24 hours x 60 min)

If all mentioned above did not help you then it might be due to anti virus software. Software scans the files in application folder and updates their date/time. Which causes IIS to restart. There fore i uninstalled the anti virus from server. However, if you exclude the application folder from virus scan that will also do the job. Also you need to remove .config,.aspx,.ascs and other extensions specific to your application for further security.