title: Request timed out frequently
body: <p>I face the following problem time after time and i don't know how to fix it ..</p>
  
  <p>I get the following errors frequently , and i had to <code>restart the IIS</code> or <code>republish</code> to fix the problem temporary :</p>
  
  <pre><code>Error Message:Request timed out.
  Error Message:ERROR [08S01] [Informix .NET provider]Communication link failure.
  Error Message:Thread was being aborted.
  </code></pre>
  
  <p>I try to make :</p>
  
  <pre><code>&lt;httpRuntime executionTimeout="600" /&gt;
  </code></pre>
  
  <p>but still the same problems !!</p>
  
  <hr>
  
  <pre><code>Stack Trace:
     at System.Web.HttpContext.InvokeCancellableCallback(WaitCallback callback, Object state)
     at System.Web.UI.Page.AsyncPageBeginProcessRequest(HttpContext context, AsyncCallback callback, Object extraData)
     at ASP.appmaster_aspx.BeginProcessRequest(HttpContext context, AsyncCallback cb, Object data)
     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
  </code></pre>
  
  <hr>
  
  <p><strong>My PageLoad :</strong></p>
  
  <pre><code> protected void Page_Load(object sender, EventArgs e)
          {
  
  
              if (Session["emp_num"] != null &amp;&amp; !string.IsNullOrEmpty(Session["emp_num"].ToString()))
              {
                  try
                  {
  
                      string user_setting = Personalization_DAL.CheckWidgetSettings(int.Parse(Session["emp_num"].ToString()));
  
                      if (!string.IsNullOrEmpty(user_setting))
                      {
                          user_flag = int.Parse(user_setting);
                      }
  
                      GetLinkedApp = DB_Connection_s.DB_Connection.GetLinkedAppUser(int.Parse(Session["emp_num"].ToString()));
                      if (!Page.IsPostBack)
                      {
                          //Profile
                          GetProfile();
  
                          if (Session["emp_app"] != null &amp;&amp; !string.IsNullOrEmpty(Session["emp_app"].ToString()))
                          {
                              BindAvailableSystems(Session["emp_app"].ToString());
                          }
  
                          BindMainSystems();
  
                          if (GetLinkedApp &gt; 0)
                          {
                              rlv_available_sys.Visible = true;
                              h5_app.Visible = true;
                              lbtn_addApp.Visible = false;
                              h4_app.Visible = false;
                              intro.Visible = true;
  
                          }
                          else
                          {
                              rlv_available_sys.Visible = false;
                              h5_app.Visible = false;
                              lbtn_addApp.Visible = true;
                              h4_app.Visible = true;
                              intro.Visible = false;
                          }
                          //Applications
                          if (rlv_available_sys.Visible == true)
                          {
                              Session["emp_app"] = GetLinkedApp;
                              BindAvailableSystems(Session["emp_app"].ToString());
                              if (user_flag &gt; 0)
                              {
                                  Get_UserApplicationSystems(1, 1, GetLinkedApp.ToString());
                              }
                              else
                              {
                                  Get_UserApplicationSystems(user_flag, 1, GetLinkedApp.ToString());
                              }
  
                          }
                          //services
                          Get_MainSystems(user_flag);
                          if (GetLinkedApp &gt; 0)
                          {
                              GetServiceInformation();
                          }
                          string[] statistics = TrackUser();
                          base.TraceActivity("Enter the portal", "https://" + Request.Url.Authority + "/AppMaster.aspx", statistics[0], statistics[1], statistics[2]);
                      }
  
                      TraceSystemsMode();
                  }
                  catch (Exception ee)
                  {
                      string message = ee.Message;
                  }
  
              }
              else
              {
                  Response.Redirect("LoginPage.aspx", false);
              }
          }
  </code></pre>
  
  <hr>
  
  <p>My generic handler :</p>
  
  <pre><code>public void ProcessRequest(HttpContext context)
          {
              try
              {
                  using(Stream photo_stream = Photo_DAL.RetrievePhoto(int.Parse(context.Session["emp_num"].ToString())))
                 {
                  byte[] photo_bytes = Photo_DAL.StreamToByteArray(photo_stream);
                  if (photo_bytes == null)
                  {
                      photo_bytes = File.ReadAllBytes(Path.Combine(context.Server.MapPath("~/images/PortalImages/"), "user.png"));
                  }
                  //context.Response.ContentType = "image/png";
                  context.Response.BinaryWrite(photo_bytes);
                  }
              }
              catch (Exception ee)
              {
              }
  
          }
  </code></pre>