title: Why Session variable gets update?
body: <p>I have been reading a xls file using <code>ExcelDataReader</code> and putting the complete <code>DataTable</code> in <code>Session</code>  variable with following code</p>
  
  <pre><code>DataSet result = excelReader.AsDataSet(true,Convert.ToInt32(e.Parameter), 20);                
  if (result.Tables.Count &gt; 0)
     {                  
         if (result.Tables[0].Rows.Count &gt; 0)
           {                       
              Session["CellDirData"] = result.Tables[0]; 
           }
     }
  </code></pre>
  
  <p>In some other function i am getting this <code>DataTable</code> from <code>Session</code> Variable using following code</p>
  
  <pre><code> DataTable dtTemp = (DataTable) Session["CellDirData"];                                   
   dtTemp.Rows.RemoveAt(0); // Removing first row from local variable dtTemp
  </code></pre>
  
  <p>When i am removing first row from local variable <code>dtTemp</code>, it also update the <code>Session</code> variable ie now both <code>dtTemp</code> and <code>Session["CellDirData"]</code> has 19 rows.</p>
  
  <p>My question is why <code>Session</code> get update while i am playing with local variable only ?</p>