none
session ı neden boşaltıyor??? RRS feed

  • Soru

  • sessionı girş yaparken masterpage de zaten kontrol etiriyorum ancak giriş yapana göre sayfaya bilgileri gelmesi gerekiyor ve geliyorda fakat bir süre sonra başka yerde kullandığımda boş geliyor neden olabilir? ne yapılabilir?

    <asp:Repeater ID="rptInbox" runat="server" OnItemCommand="rptInbox_ItemCommand">
    		<HeaderTemplate>
    			<table style="width: 100%">
    				<tr>
    					<th align="center">
    						ID
    					</th>
    					<th align="center">
    						Gelen Mesaj
    					</th>
    					<th align="center">
    						Geliş Tarihi
    					</th>
    					<th align="center">
    						Oku
    					</th>
    					<th align="center">
    						Sil
    					</th>
    				</tr>
    		</HeaderTemplate>
    		<ItemTemplate>
    			<tr>
    				<td align="center">
    					<%# Eval("ID") %>
    				</td>
    				<td align="center">
    					<%# Eval("Inbox") %>
    				</td>
    				<td align="center">
    					<%# Eval("InDate") %>
    				</td>
    				<td align="center">
    					<asp:LinkButton ID="libRead" runat="server" CssClass="notread" CommandName="Read" CommandArgument='<%# Eval("ID") %>'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</asp:LinkButton>
    				</td>
    				<td align="center">
    					<asp:LinkButton ID="libDel" runat="server" CssClass="del" OnClientClick="return ConfirmOnDelete()" CommandName="Delete" CommandArgument='<%# Eval("ID") %>'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</asp:LinkButton>
    				</td>
    			</tr>
    		</ItemTemplate>
    		<FooterTemplate>
    			</table>
    		</FooterTemplate>
    	</asp:Repeater>
    	<br />
    	<asp:Panel ID="pOku" runat="server">
    		<span class="desc">
    			<asp:Label ID="lblDate" runat="server" /></span><br />
    		<asp:Literal ID="litOku" runat="server" />
    	</asp:Panel>
    SqlConnection conn;
    	SqlCommand cmd;
    	SqlDataReader reader;
    	string conStr = ConfigurationManager.ConnectionStrings["CS"].ToString();
    	protected void Page_Load(object sender, EventArgs e)
    	{
    		if (!IsPostBack)
    		{
    			GetData();
    		}
    	}
    
    	#region GetData
    
    	void GetData()
    	{
    		int userid = int.Parse(Session["users"].ToString());
    		conn = new SqlConnection(conStr);
    		string query = "SELECT * FROM Inbox where UserID=" + userid;
    		cmd = new SqlCommand(query, conn);
    
    		try
    		{
    			conn.Open();
    			reader = cmd.ExecuteReader();
    			rptInbox.DataSource = reader;
    			rptInbox.DataBind();
    		}
    		catch (Exception ex)
    		{
    			lblW.ForeColor = Color.Red;
    			lblW.Text = "Bir hata oluştu!<br/>" + ex.Message;
    		}
    		finally
    		{
    			conn.Close();
    		}
    	}
    
    	#endregion
    
    	protected void rptInbox_ItemCommand(object source, RepeaterCommandEventArgs e)
    	{
    
    		if (e.CommandName == "Read")
    		{
    			conn = new SqlConnection(conStr);
    			string query = "select Message, InDate from Inbox where ID=" + e.CommandArgument;
    			cmd = new SqlCommand(query, conn);
    			cmd.Parameters.Add("@ID", SqlDbType.Int);
    			cmd.Parameters["@ID"].Value = e.CommandArgument;
    
    			try
    			{
    				conn.Open();
    				reader = cmd.ExecuteReader();
    				if (reader.Read())
    				{
    					lblDate.Text = reader["InDate"].ToString();
    					litOku.Text = reader["Message"].ToString();
    				}
    				reader.Close();
    			}
    			catch (Exception ex)
    			{
    				lblW.ForeColor = Color.Red;
    				lblW.Text = "Bir hata oluştu!<br/>" + ex.Message;
    			}
    			finally
    			{
    				conn.Close();
    			}
    		}
    
    
    		if (e.CommandName == "Delete")
    		{
    			conn = new SqlConnection(conStr);
    			string query = "delete from Inbox where ID=" + e.CommandArgument;
    			cmd = new SqlCommand(query, conn);
    			cmd.Parameters.Add("@ID", SqlDbType.Int);
    			cmd.Parameters["@ID"].Value = e.CommandArgument;
    
    			try
    			{
    				conn.Open();
    				cmd.ExecuteNonQuery();
    				Response.Redirect("Inbox.aspx");
    			}
    			catch (Exception ex)
    			{
    				lblW.ForeColor = Color.Red;
    				lblW.Text = "Bir hata oluştu!<br/>" + ex.Message;
    			}
    			finally
    			{
    				conn.Close();
    			}
    		}
    	}
    ne yapmak istediğimi anlamışsınızdır umarım bu sessiona ihtiyaç duyduğum yerlerden biri...daha repetear içindeki linkbutton a da tıklamıyorum...(belki alakası vardır :D)

    6 Temmuz 2013 Cumartesi 11:16

Yanıtlar

  • session timeout ,le lgili herhangi bir işlem yapmıyorum da ben olayı çözüdüm....şu şekilde doğruan Session["users"] vererek...teşekkürler...
    • Yanıt Olarak İşaretleyen Melih K 7 Temmuz 2013 Pazar 07:23
    7 Temmuz 2013 Pazar 07:22

Tüm Yanıtlar