Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Session hakkında...  (Okunma sayısı 1003 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı sad_man

  • Delphi 1 Level 5
  • *****
  • İleti: 45
  • Rep: +1/-1
  • Cinsiyet: Bay
Session hakkında...
« : 24 Kasım 2006 11:53:55 »
Selamlar.
Benim problemim Session nesnesi ile ilgili. Problemim şu:
Benim sitede bir default.aspx, bir login.aspx ve bir de sayfam.aspx var.
İlk başta siteye giren kullanıcının anomin olduğunu belirtmek için global.asax a şunu ekledim
Kod: [Seç]
procedure TGlobal.Session_Start(sender: System.Object; e: EventArgs);
begin
  Session.Add('UserId','*');
end;
login.aspx de ise
Kod: [Seç]
if Page.IsValid then begin
  Session['UserId'] := TBNick.Text;
  Response.Redirect('sayfam.aspx');
end;
diyerek kayıtlı kullanıcının adı neyse onu kaydediyorum. Sonra da Sayfam.aspx e yönlendiriyorum.
Hem sayfam.aspx de hem de default.aspx de birer label var. İki sayfada da şöyle br kod var:
Kod: [Seç]
procedure TWebForm1.Page_Load(sender: System.Object; e: System.EventArgs);
begin
   Label1.Text := Session['UserId'].ToString;
end;
Aynı zamanda sayfam.aspx de başka bir label'a rastgele bir sayı yazdırıyorum. Sebebini birazdan açıklayacağım.
Buraya kadar herşey tamam gibi görünüyor. Gelelim sorunun kaynağına.
Yönlendirmeden sonra sayfam.aspx de UserId yi görüyorum fakat IExplorer'ın adres çubuğuna http://localhost/WebApplication1/default.aspx yazdığımda o sayfadaki Label'da * görünüyor. Bundan şunu anlıyorum yeni adres girdiğimde Session nesnesi resetleniyor. Daha da kötüsü http://localhost/WebApplication1/sayfam.aspx adresini girdiğimde Label'da kullanıcı adı yazıyor ama rasgele sayı yazdırdığım label'da bir değişiklik yok. Burdan da şunu anlıyorum ki sayfam.aspx, adres girildiğinde tekrar derlenmiyor.
Ne yapmalıyım?

İyi çalışmalar.
İzleniyoruz. Heryerde...

Çevrimdışı cemaliozan

  • Delphi 5 Level 4
  • ****
  • İleti: 230
  • Rep: +4/-3
  • Cinsiyet: Bay
  • Kodlarım, canlarım
    • Gerçek Sevgi Portalı
Ynt: Session hakkında...
« Yanıtla #1 : 24 Kasım 2006 16:59:33 »
Session ataması yaparken

Kod: [Seç]
Page.Session['uye'] := 'cem';
Session doğrularken

Kod: [Seç]
  if Assigned(Page.Session['uye']) then...
 Tek fark ben global deklarasyon yerine sayfa oturum bilgisine yönleniyorum. Oturum bilgileri sayfa sonlanıp, ilgili sayfanın penceresi kapatılana kadar yada manuel olarak temizlenene (abandon, clear vs.) yada özel bir durum belirtilmemişse ziyaretçi sayfada 20 dk. boyunca işlem yapmadığında sıfırlanır. Bunun dışında mutlaka yazılan kodlama ile ilgili bir sorundan dolayı oturum bilgisi uçuyor ve ilgili etikete atama yapılamıyordur.

Çok gerekmedikçe global config ayarlarını kurcalamamanızı öneririm. Bazen bu dosyada yapılan küçük değişiklikler çok büyük sorunlara neden olabilmekte. Muhtemelen sorununuzun sebebide global configde dosyasında...

Bu satırı görebilir miyiz ?

 
Kod: [Seç]
<!--  SESSION STATE SETTINGS
          By default ASP .NET uses cookies to identify which requests belong to a particular session.
          If cookies are not available, a session can be tracked by adding a session identifier to the URL.
          To disable cookies, set sessionState cookieless="true".
    -->
    <sessionState mode="InProc" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;user id=sa;password=" cookieless="false" timeout="20" />

  Web config dosyası hakkında daha detaylı bilgi için http://www.delphidunyasi.net/index.php?topic=1075.0

Kolay gelsin..

« Son Düzenleme: 24 Kasım 2006 17:12:21 by cemaliozan »
www.teksevgi.com - Tamamı BDS 2006 ile yazıldı..

Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...