Kategoriler


SON YORUMLAR
İşveren
Şuan çalışan mühendislerimiz bu sayfada yazılı şişirme rakamlar ile bize gelselerdi ve talep etselerdi, kuvvetle muhtemel hiçbiri çalışmıyor olurdu. Düşük ücret talep etmek işi kaybettirmez. Karşı tarafa sizi tanıyacak fırsat vermelisiniz. İşverene yukarıdan uçar da işine gelirse tavrına bürünürseniz çok iş ararsınız. Etiketin havasına çok kapılmayın. Mütevazı olun. Yazıyı yazanın sahadan haberi yok. Masa maşında bilgisizce yazılmış bir yazı. Mülakatlarda egonuzu kabartırsanız, bir işveren olarak söylüyorum ki daha büyük bir egoya toslarsınız. Ağırdan ve temkinli gitmek iyidir. Başarılar.
computer
Fırata gelin işsiz kalmazsınız
ferit
Elazığ Fırat üniversitesinin de yer alması gerekmez mi sizce de
https://ogrenciyegelir.com
Ödev yapın, Ödev yaptırın Proje yaptırın Para kazanın İnternetten ödev yaparak para kazan Parayla ödev yaptırma sitesi https://ogrenciyegelir.com
OgrenciyeGelir.com
Ödev yapın, Ödev yaptırın Proje yaptırın Para kazanın İnternetten ödev yaparak para kazan Parayla ödev yaptırma sitesi https://ogrenciyegelir.com
OgrenciyeGelir.com
Ödev yapın, Ödev yaptırın Proje yaptırın Para kazanın https://ogrenciyegelir.com
ka href="https://ogrenciyegelir.com"bÖdev Yapk/ab
ka href="https://ogrenciyegelir.com"bÖdev Yapk/ab ka href="https://ogrenciyegelir.com"bÖdev Yaptırk/ab ka href="https://ogrenciyegelir.com"bİnternetten Para Kazank/ab
OgrenciyeGelir.com
Ödev yaptır Ödev yaptırma sitesi www.ogrenciyegelir.com
Besti. M.
Tesekkur ederim değerli bilgileriniz için.. Gerçekten bir çok konuda yardımcı oldu...
Tatar Ramazan
Bilgisayar mühendisliğine saldırdım. Siz bakmayın bana çalışın umutlu olun. Bilişim çağındayız. En iyi meslek bizimki. 4. Sanayi Devrimini biz gerçekleştireceğiz. Bilgisayar bilgim: C, C#, Java, ASP.NET, Silverlight, WPF, LINQ, XML, XSL, HTML, Javascript, CSS, JQuery, Ajax, Web Servisleri, ADO.NET, T-SQL, PL/SQL, Reporting Services. Günde 1500 satır kod yazın. 10 tablo oluşturun. 10 stored procedure ve scalar function yazın. Index, trigger ve constraintleri de unutmayın. Hadi görüşürük..
unix1970
bilgisayar alanında öğrenim gören veya görmek isteyen arkadaşların iş alanlarını tanıyabilecekleri 1 saatlik güzel bir eğitim videosu arkadaşlar. https://www.udemy.com/bilgisayar-alanlarndan-is-dunyasna-gecis/
unix1970
bilgisayar alanında öğrenim gören veya görmek isteyen arkadaşların iş alanlarını tanıyabilecekleri 1 saatlik güzel bir eğitim videosu arkadaşlar. https://www.udemy.com/bilgisayar-alanlarndan-is-dunyasna-gecis/
Yasing58
Abi sıralaması böyle olabilir ama ODT�.nun sıralaması 4.000de ; Galatasaray �niversitesi.nin de 12.000 de Galatasaray nasıl odtu den yüksek oluyor o zaman ?
Enes taha bekdemir
Abi ben 5 . Sinif dauim hayalim bilgisayar muhendisi olmak ingilizcem iyi derslerimde iyi yaktir aliyorum ama bilgisayar bilgim cok az ben bilgisayar muhendisi olsam kac tl kazanirim yada olabilirmiyim lütfe. Beni bu konuda bilgilendirin.😁😀😊

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ı
Bilgisayar Mühendisleri Kaç Para Alır?
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
7 adımda patlak mühendisi tanıma rehberi?
Sıralamanız Ne?
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
NHibernate için Veri Erişim Katmanını Otomatik Oluşturma
Online Java Dersleri - Java NEDİR?
Bilgisayar Mühendisleri Kaç Para Alır?
Bill Gates Emekli Oldu
Java Dersleri 1: İlk Bakışta JSP (Java Server Pages)
Facebook'un yatırımcısı Türk girişimciler arıyor!
Bilgisayar Mühendisleri Kaç Para Alır?
Dünyanın En İyi 500 üniversitesi 2007 Sıralaması Açıklandı

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.