If you are using ASP .NET with forms authentication and set the forms authentication to 1440 minutes, this authentication will by default expire after 20 minutes, when the server gets no request during these 20 minutes. This is controlled by the application pool setting [Idle Time-out (minutes)]:
Settings this value to 1440 and setting the forms authentication timeout in the web.config to 1440, solved my problem.
<authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="1440" protection="All" defaultUrl="Default.aspx"/> </authentication>
Found my solution in one of the comments on:
Changes to application pool settings are stored in the applicationhost.config file, stored at C:\Windows\System32\inetsrv\config\applicationHost.config