Kategoriler


SON YORUMLAR
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaantopcuw adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. Minimum ücret 200tl dir. Tam iş yapıyorum. Başka sitelerde karşılaştığınız dolandırıcıların teklif ettikleri ücretlerle karşılaştırmayın lütfen. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
Tatar Ramazan
Avrupaya mı gideyim!? İngilizce analizi koyacaklar önüme beynim bir de ekstra efor sarfedecek anlamak için. Tamam YDS den 75 puanım var ama gene de zor olur. Bir şey yapacak olan İstanbul piyasasında da yapar. Siemensin Türkiye şubesine giremiyorsan Almanyadaki de seni almaz. Biz gariban çocuğuyuz gidemeyiz Amerikaya, Avrupaya. Yapamazsam kim destek çıkacak bana?! Hem çalışırım hem ağlarım. Sık sık haftasonları bile 10 saat program yazıyorum 6 yıldır. Proje büyük olunca derleyip oturum açması 15 dk sürüyor bazen. Çökmeler, donmalar, hatalar... Uffff! Ne sıkıntılarla uğraşıyoruz. Geçen sene 2 satır kodu 4 saatte ancak halledebildim. Her tarafı sıkıntı bir iş. Yeniden görüşüciiz...
Kazma Ramazan
Ben şuan sektördeyim. Bigisayar mühendisliği mezunu (programcılık değil) senior yazılımcı şuan istanbul.da ortalama 12-15k arasında para kazanır. midler 7-9k yeni başlayan 4-6k. Tabi güzel üniversitelerden mezun olmayanlar, kendini geliştirmeyenler bu paraları kazanamaz. Belki iş bile bulamaz. Ama bu işi seven iyi para kazanır. Çok çalışırsın çokta kazanrısın. Tatar çok iyiysen avrupaya git abicim orda çalışma şartlarıda daha iyi maaşlarda daha iyi. Gidemiyorum ingilizcem yok diyorsan burda ağlama. Zaten 15k eden adam 6-8kya çalışmaz.
Mücahid
Çok faydalandım. Teşekkürler. Allah razı olsun.
İHSAN
ANDROİD - JAVA - PYTHON - PHP - C - C# GİBİ HER TÜRLÜ YAZILIM DİLİ İLE HER TÜRLÜ ÖDEV VE PROJE HAZIRLANIR. İLETİŞİM :latifihsanbulut95@gmail.com MAİLLERE EN KISA ZAMANDA DÖNÜŞ YAPILIR.
Kaan
C#, Asp.net, Java SE, Java EE, Spring Framework, Android, C++, C, PHP, Python ödevlerinizde yardımcı olabilirim. Geçmişte yaptığım projelerden birkaç tanesini https://github.com/kaantopcuw adresinden inceleyebilirsiniz.Not: Whatsapp üzerinden iletişime geçerseniz daha hızlı cevap verebilirim. İletişim için; Mail: kaan8792@gmail.com | Whatsapp: 05428339141
bilakis ben de
tatar nerden mezunsun babacım vallahi çok dolu yazmışsın
Rüzgar
emeğine ve ilgine sağlık kardeşim. oldukça açıklayıcı oldu. bir ara şu 10. maddeyi de yaz artık :)
HTÇ ŞHN
ÇOK TEŞEKKÜR EDİYORE -EVLİYA
hatice
gayet iyi sağlam ve kaleteli bir içerik hedefim BİLGİSAYAR MÜHENDİSİ İNŞALLAH
sasadad
q1
Barış İstanbul 05366106312
Sea
hah
Tugba 3-5 senelik bir yazıdır şarap gibi yıllandıkça güzelleşiyor:)
Tugba ince
Bu ne zman yayınlandı

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ı
Transact-SQL - T-SQL - SQL NEDİR?
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
DataGrid ve GridView Kontrollerinde Görünmez Kolonlar
Bir bilgisayar mühendisinin bilmesi gereken en temel teknolojiler
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Şehir dışında okumak
Türkiye İşlemcisini Tasarlıyor Yarışmasına 103 Başvuru
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Türkiye İşlemcisini Tasarlıyor Yarışmasına 103 Başvuru
Oracle - Object Pinning nedir?
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Çok okunan blog yazmanın 10 sırrı
Staj Yeri Nasıl Bulunur? Staja hazırlık olarak neler yapmalıyım?
Von Neumann mimarisi
En iyi bilgisayar mühendisliği bölümüne sahip üniversiteler
YAZ TATİLİNDE YAN GELİP YATMAK
Para ile ödev yapmak üzerine
YAZ TATİLİNDE YAN GELİP YATMAK

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

Pluto Loans(31.7.2018 08:53:13)
Merhaba,
Herkesin proje, iş, konut, konsolidasyon vb. Için daha fazla paraya ihtiyaç duyduğu yılın bu zamanı.
Şu anda% 3.lük düşük bir oranla 24 saat kredi veriyoruz, ilgilenen müşterilerimiz lütfen bize ulaşın

e-posta adresi: plutocreditfinancier@gmail.com
Telefon: +442033221063
%0 %0 %0
Katılıyorum Çekimserim Katılmıyorum



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



cheer(27.5.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...
%56 %11 %33
Katılıyorum Çekimserim Katılmıyorum






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