Resolving SQL Command Timeout Issues in ASP.NET
"Connection to database has timed out." This error will occur if there is a lot of processing being used by a SqlDataReader on a web page. My quick resolution was to increase the CommandTimeout on the SqlCommand object.
SqlCommand objCmd = new SqlCommand(spProcedure, objCon);
objCmd.CommandTimeout = 120;
Another possible solution would be to use a DataSet instead of a SqlDataReader. Yet another option, would be to cache the DataSet as well to prevent timeout errors.