Kategoriler


SON YORUMLAR
Osman Gül
Sizce Maltepe Üniversitesi Bilgisayar mühendisi mezunu bir kişinin iş olanağı nedir acaba ve tahmini ne kadar maaş alır. yardımcı olursanız sevinirim.

elektronikçiler
Hakan
Bilgisayar mühendisleri sadece program ve yazılım yapıyorlarsa bilgisayarları kim yapıyor??? Yazıdan ben bunu anladım...
Ahmet Ba
çok faydalı. Teşeklkürler Admin
sahin
teshekkurler sade ve gozel izah ucun
bilgisayar mühendisi
13 yıldır sektördeyim. Bu bahsi geçen maaşları, ülkemiz koşullarında veren yerler parmakla sayılır.

eferin lan
Hüseyin
Ben daha yeni bu işe giriyorum ve araştırıyorumda hepsini örenin yazmısın bu kadar zamanım yok ve para gerekli hepsini birden çörenemem ne önerirsin
Mustafa Murat
Gayet açıklayıcı olmuş teşekkürler
Yasemin Akkuş
Makaleniz çok faydalı olmuş tecrübeli birinin yazdığı çok belli. ben yazılım stajı yapacağım Avrupada lise stajyeri alan yazılım şirketi arıyorum yardımcı olur musunuz? 05377386962
BEDIRHAN DEMIRBACAK
VALLAHA COK IYI ANLATTINIZ BEN BILGISAYAR MUHENDISI OLMAK ICIN SABIRSIZLANIYORUM BILGISAYAR MUHENDISLIGI COK IYI BIR MESLEK BENI FACEBOOK HESABIMDANDA YARDIMCI OLABILIRMISINIZ DAHA 9. SINIFA GIDIYOM TEŞEKKÜRLER
BEDIRHAN DEMIRBACAK
VALLAHA COK IYI ANLATTINIZ BEN BILGISAYAR MUHENDISI OLMAK ICIN SABIRSIZLANIYORUM BILGISAYAR MUHENDISLIGI COK IYI BIR MESLEK BENI FACEBOOK HESABIMDANDA YARDIMCI OLABILIRMISINIZ DAHA 9. SINIFA GIDIYOM TEŞEKKÜRLER
gözlüklü yazar kiz
merhaba bloguma yeni başladım. tavsiyelerinize uyacağım. teşekkürler... blogum; www.gozlukluyazarkiz.blogspot.com.tr
Mehmet Reşit SÖNMEZ
Selam Aleyküm.Lisede TM öğrencisiydim.Doğal olarak Fizikle uzaktan yakından bir alakam yoktu.Matematik dersimde pek iyi değildi.Bilgisayar Mühendisliğini okumayı düşünüyorum. Bilgisayar mühendisliğini seviyorum.Yaptıkları işlerden dolayı. SORUM : Sayısal derslerim yukarıda belirttiğim gibi pek iyi değil. Sizce Bilgisayar Mühendisliği bölümüne gitmelimiyim (Özelden gitmeyi düşünüyorum) BİLGİSAYAR MÜHENDİSLİĞİNİ OKU : Katılıyorum BİLGİSAYAR MÜHENDİSLİĞİNİ OKUMA : Katılmıyorum

Bilgisayar Mühendisleri
Here is the website inspired me to use 
it as a guide when I tried to define 
myself as an engineer candidate a few 
years ago. It really helped me to work
 and study feeling in confidence with 
being on the right way. I suggest this 
website to whom it may direct her/his 
to find the right career path. It 
includes many articles varies from 
real life experiences to detailed 
software engineering issues. But the 
most dignified parts for me are the 
articles in general and career titles.
Son okunan makaleler:
ASP.NET ve ASP Session Paylaşımı
Hollanda, IT sektöründe ihtiyaç duyduğu en az 40 bin kişilik işgücü ihtiyacını karşılayabilmek için dünyadan iki ülke seçti.
Sanal Bellek Nedir?
Dizin (Directory) ve LDAP (Lightweight Directory Access Protocol) Kavramları
Vakıf üniversiteleri
Vakıf üniversiteleri
7 adımda patlak mühendisi tanıma rehberi?
Sıralamanız Ne?
Oradan Buradan...
Neden yazılım uzmanı olamayacağınızın 10 kanıtı?
İş bulmak üzerine
Akıllı istemciler oluşturabilmek için ClickOnce
Bilgisayar Mühendisliği ÖSS Taban Puanları 2009
Vakıf üniversiteleri
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Vakıf üniversiteleri
Online Java Dersleri - Java NEDİR?
Neden Bilgisayar Mühendisliği?
Bill Gates Emekli Oldu
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)

Bilgisayar Mühendisleri Portalı

ASP.NET ve ASP Session Paylaşımı

ASP.NET ve ASP Session Paylaşımı
 
 

Merhaba,

Bu makalemizde sizlere ASP(Active Server Pages) ve ASP.NET arasında Session nesnesinin nasıl paylaşılacağını ve bu Session değişkenlerinin ASP dosyalarından ASPX dosyalarına nasıl aktarılacağını anlatmaya çalışacağım.

Makalemize başlamadan önce ASP ve ASP.NET uygulamaları arasında Session nesnesinin paylaşımının dayandığı temel prensipleri tekrar gözden geçirmemizin faydalı olacağını düşünüyorum. Bu temel prensipler,

  • ASP ve ASP.NET Session nesneleri paylaşılabilir değildir. (Problemimizin temel kaynağı da zaten budur) 
  • Session değişkenlerinin aktarımı her iki yönde de yapılabilir. ASP'den ASP.NET'e yada ASP.NET'ten ASP'ye. 
  • Session nesnesi içerisinde çok önemli bilgilerin saklanabileceği göz önünde bulundurulduğunda, ASP/ASPX Session aktarımın yapıldığı uygulamaların yada çözüm yollarının oldukça güvenli olmaları gerekir. 
Büyük boyutta görmek için tıklayın


Şunu du hatırlatmakta yarar var ASP ile ASP.NET arasındaki bu session aktarımı farklı şekillerde de olabilir. örneğin bu problemin çözümü için bir veritabanı uygulaması da düşünülebilir. Bu çözüm yolunda da ASP ve ASPX dosyaları arasında geçiş(her iki yönde de) yapılacağı zaman bir ara dosya Session değişkenlerini alarak veritabanına bir GUID (Globally Unique ID) ile kaydeder ve yönlendirilen bir sayfa da veritabanından bu değişkenleri alarak kendi Session nesnesi içerisine kaydeder ve bu şekilde aktarım gerçekleştirilir.

Bu iki yöntemi karşılaştıracak olursak veritabanı kullanılan çözüm yolunun daha iyi olduğunu söyleyebilirim. Birinci neden bu yöntemin daha güvenli olmasıdır. İkincisi ise, burada ele alacağımız çözüm yolunda yalnızca ASP 'den ASP.NET 'e Session değişkenlerinin aktarımı yapılabilir. Başka bir deyişle, burada anlatılacak olan çözüm yolunda bu aktarım çift yönlü yapılamaz. Bunun nedeni de ASP.NET 'te herhangi bir formu POST edeceğimiz sayfayı belirleyemiyor oluşumuzdur. ASP.NET 'te her sayfa yine kendisine bilgilerini POST eder. (Postback) 

Makalemizin temel noktasına geri dönelim. Bu örneğimizde bir ASP dosyasından bir ASPX dosyasına Session değişkenlerimizi aktaracağız, basit bir form ile ASP dosyamızdan form değerlerimizi POST ettikten sonra session nesnemize bu değerleri aktarıp bir ASPX dosyasına bu değerleri transfer edeceğiz. Bu kapsamda kullanacağımız dosyalar ve temel görevleri aşağıdaki gibidir :

Login.asp : Yukarıda da ekran görüntüsünü gördüğünüz, default giriş sayfamız. Kullanıcılar bu sayfa üzerindeki form bilgilerini girdikten sonra bu değerleri "gönder" düğmesi ile sunucuya POST edecek.

Session_transfer.asp : Login.asp sayfamızın form değerlerini POST edeceği ve bu değerlerin Session değişkenlerimize aktarılacağı sayfamız. Bu kısımda dikkatinizi bir noktaya çekmek istiyorum. Dosya içerisinde yorum olarak belirttim bu konuyu ama gözden kaçmaması için burada da değinelim. Normalde kullanıcı giriş bilgileri (kullanıcı adı, şifre) onaylandiktan sonra Session değişkenlerinin güncellenmesi gerekir ancak bahsettiğimiz onaylama işlemi bu makalemizin konusundan uzak olduğu için biz bu bilgilerin doğru olduğunu varsayıyoruz ve girilen bilgileri hiçbir kontrol mekanizmasından geçirmeden Session değişkenlerimize aktarıyoruz.

Şimdi bu dosyamızın içerdiği koda bir göz atalım.

<%
' öncelikle form değişkenlerimizi Session
' nesnemize aktaralım. Bu bölümün
' esasen bu dosya içerisinde yapılmaması 
' gerekir. Bu işlemin olağan hali,
' kullanıcının login bilgilerinin doğruluğu 
' onaylandıktan sonra Session değişkenlerinin
' güncellenmesidir.

Session("Name") = Request.Form("Name")
Session("Surname") = Request.Form("Surname")
Session("Website") = Request.Form("Website")
Session("Username") = Request.Form("Username")
Session("Password") = Request.Form("Password")

' Tüm session değişkenlerini bir form 
' içerisine alıp ilgili ASPX sayfamıza
' değerleri POST ediyoruz...

Response.Write("<form name=test id=test action" 
Response.Write("=Session_transfer.aspx method=post >")
For each Item in Session.Contents
  Response.Write("<input type=hidden name=" & Item)
  Response.Write( " value=" & Session.Contents(item) & " >")
next
Response.Write("</FORM>")
Response.Write("<script>test.submit();</script>")
%>


Şimdi burada ne yapıldığını anlatmaya çalışalım. öncelikle form değişkenleri Session değişkenlerine aktarılıyor. Ardından bir form ile bu session değişkenleri alınarak oluşturulan bir form'a gizli form değerleri olarak aktarıldıktan sonra oluşturulan bu form JavaScript ile otomatik olarak az sonra üzerinde duracağımız "Session_transfer.aspx" dosyasına POST ediliyor.

Session_transfer.aspx : Bu ASPX dosyasımızın işlevi ise, kendisine POST edilen form değişkenlerini alarak bu değişkenleri ASP.NET Session nesnesi içerisinde belirtilen ad ve değer ile aktarmak. Şimdi de bu sayfamızın koduna (Page_Load Event) bir göz atalım...

private void Page_Load(object sender, System.EventArgs e)
{
  for(int i=0;i<Request.Form.Count;i++)
  {
    Response.Write(Request.Form.GetKey(i));
    Session[Request.Form.GetKey(i)]=Request.Form[i].ToString();
  }
  Response.Redirect(Session["RedirectPage"].ToString());
}


Sayfa kendisine POST edilen form değişkenlerini(bu işlemi yukarıda belirttiğim gibi Session_transfer.asp içerisinde yapıyoruz) bir döngü içerisinde ASP.NET Session değişkenlerine aktarıyor. Bu işlemin ardından sayfa yine kendisine form aracılığı ile aktarılan ve ASP-ASPX arasında Session değişkenlerinin doğru aktarılıp aktarılmadığını gösteren bir sayfaya yönlendiriliyor. (Bu sayfa login.asp dosyamız içerisinde belirtilmiştir)

LoginInfo.aspx : Az önce de belirttiğim gibi Session değerlerinin doğru aktarılıp aktarılmadığını kontrol etmek amacıyla hazırlanmış olan sayfamız. Bu sayfamızın kodu (Page_Load Event) ise :

private void Page_Load(object sender, System.EventArgs e)
{
  if(Session["Name"]!=null)
    lblName.Text = Session["Name"].ToString();
  if(Session["Surname"]!=null)
    lblSurname.Text = Session["Surname"].ToString();
  if(Session["Website"]!=null)
    lblWebsite.Text = Session["Website"].ToString();
  if(Session["Username"]!=null)
    lblUsername.Text = Session["Username"].ToString();
  if(Session["Password"]!=null)
    lblPass.Text = Session["Password"].ToString();
}

Gördüğünüz gibi basit olarak ASP dosyasından aktardığımız Session değişkenlerini alarak kullanıcıya gösteriyor. Bu örnek için bu sayfamızın ekran çıktısı ise aşağıdaki gibidir :

Büyük boyutta görmek için tıklayın



Basit ama bana göre oldukça mühim bir konuyu bu makale ile sizlere aktarmaya çalıştım. İşinize yarayacağına eminim. Umarım beğenmişsinizdir.

 
 Kaynak kodu indir
Bu makaleyi beğendin mi? Yorumunu Yaz!







Sizden Gelen Yorumlar:

Yorum Yazın

Hakan(01.06.2012 21:51:36)
sanırım kaynak kodlar silinmiş nereden bulabiliriz çok önemli bir konu bence
%100 %0 %0
Katılıyorum Çekimserim Katılmıyorum



cheer(27.05.2009 16:23:48)
çok guzel anlatmışsını, yalnız ben asp.net'te bir formdaki bilgileri başka bir aspx sayfasına göndermek istiyorum bunu nasıl yapabilirim?

iyi çalışmalar...
%67 %17 %17
Katılıyorum Çekimserim Katılmıyorum






Copyright© 2001-2017. Bilgisayar Mühendisleri Portalı | Bütün hakları saklıdır.