ASP sayfalarını ASP.Net'e Dönüştürmek - Papatyam Forum

Papatyam Forum

Go Back   Papatyam Forum > ..::.BİLGİSAYAR & TEKNOLOJİ.::. > Web Master > asp.net

Yeni Konu aç  Cevapla
 
Seçenekler
Alt 21 January 2009, 22:15   Mesaj No:1

agasarlinuris

Papatyam Aktif Üyesi
Avatar Otomotik
Durumu:agasarlinuris isimli Üye şimdilik offline konumundadır
Papatyam No : 1326
Üyelik T.: 16 July 2008
Arkadaşları:0
Cinsiyet:
Mesaj: 53
Konular:
Beğenildi:
Beğendi:
Takdirleri:10
Takdir Et:
Konu Bu  Üyemize Aittir!
Standart ASP sayfalarını ASP.Net'e Dönüştürmek

ASP sayfalarını ASP.Net'e Dönüştürmek

Microsoft .Net teknolojisi'ni duyurmadan önce web tabanlı uygulama geliştirmek için en yaygın kullanılan araç ASP idi. ASP'nin bu denli yaygınlaşmasındaki en önemli etken basitliğiydi. Bilindiği gibi ASP, 6 nesneye bağımlı bir script dilidir.

ASP.Net ise, .Net mimarisinde bulunan bileşenlerden yararlanan, çok geniş çatıya sahip bir programlama dilidir.

ASP.net ile oluşturulan sayfalar .aspx uzantısına sahiptir. Bir aspx dosyası çağırıldığında aspnet_wp.exe işlem yaparken, asp uzantılı dosya asp.dll'i kullanıyordu. ASP.Net ile .asp uzantısının değişmesinin amacı, aynı web server üzerinde ya da aynı proje içinde; hem asp hem aspx uzantılı projelerin çalışmasını sağlamaktır.

Bununla beraber, ASP.Net ile gelen programlama ayrıcalıkları ile tanıştıktan sonra ASP ile hazırlanmış projeleri .aspx'e dönüştürmek de bir gereksinim olarak görünebilir. Fakat bu geçişi yapmak sadece asp olan uzantıyı aspx olarak değiştirmekle mümkün değil.

Makalenin ilerleyen satırlarında bunu nasıl yapacağımızı inceliyor olacağız ancak, öncelikle "bunun avantajı nedir?" sorusuna yanıt arayalım.

Eğer uygulama senaryonuz için sıkıştırılmış bir deadline yoksa, asp uzantılı sayfalarınızı yeni baştan aspx ile yazmanız ASP.Net ile gelen birçok avantajdan faydalanmanız açısından yararlı olacaktır. Çünkü ASP.Net bir programlama dili çatısına sahiptir. Bu nedenle hem kodlama sırasında size kolaylık sağlayan araçlarla donatılmıştır, hem bir programlama dilinin esnekliğine (VB, C# vs. ) sahiptir, hem de performans açısından gözle görülür bir farka neden olmaktadır. ASP.Net ile gelen avantajların bazıları şöyle sıralamak mümkün:

* Microsoft testlerine göre ASP.Net projeleri ASP ile hazırlanmışlara oranla 2/3 kat daha hızlı çalışıyor.

* ASP.Net; projeleri run time kontrollerle sınar. Yani sizi projenizi hazırlarken, eş zamanlı olarak, hatalara karşı uyarır.

* Server controls, event handling gibi yeni özellikler ile yazılımcıya, kod yazmada kolaylık sağlar ve daha az satırda ve daha hızlı olarak uygulama geliştirmeye yardımcı olur.

Ancak, uygulamayı yeni baştan asp.net ile yazmak için gereken sürenin olmadığı durumlarda, asp ile hazırlanmış uygulamayı ASP.Net 'e dönüştürmek istenebilir. Bu durumda, daha öncede belirttiğim gibi, ASP.Net avantajlarının tamamından yararlanmadan, yumuşak bir geçiş yapmak mümkündür.

Asp ile hazırlanmış herhangi bir uygulamayı, Aspx uzantısına geçirmek için yapılması gereken ilk işlem, sayfaların uzantısını .aspx olarak değiştirmektir. Ancak bu işlem sonrası sayfa çalışmaz hale gelecek; bir dizi değişiklikler yapmak gerekecektir.

Alacağımız ilk hata yüksek bir ihtimalle

<% LANGUAGE = "VBScript" %>
<% Option Explicit %>

hatası olacaktır. Bu noktada aspx dosyasındaki bu satırları kaldırarak @page direktifini şu şekilde düzenlemek gereklidir.

<%@Page Language = "VB" Explicit ="True"%>

Bir diğer hata, Response.Write cümleleri için gelecektir. Bu kez yapılması gereken ; Response.Write satırlarının parantezler içine alınmasıdır.

<%
Response.Write "Bu bir asp cümlesidir."
%>

<%
Response.Write("bu bir aspx cümlesidir.&quot
%>

Bunun yanında aspx default değerleri de desteklemez. örneğin, ASP ile yazdığımız ;

<%
Response.Write Rs("tc_kimlik_no&quot
%>

kod, aslında ilgili RecordSet'in .Value değerini ekrana yazıyor. Ancak .Value değeri default olduğu için biz Response.Write Rs("tc_kimlik_no&quot.Value yazmasak bile bu şekilde derleniyor. Ancak aspx bu satırda, hata verecek ve şu düzenlemeyi yapmanızı bekleyecektir.

<%
Response.Write Rs(Rs.Fields("tc_kimlik_no&quot.Value)
%>

Bir diğer hata, Date() fonksiyonu ile yaşanacaktır.

<% Response.Write date() %>

yerine

<% Response.Write(DateTime.Now) %> kullanmanız gerekecektir.

Ve IsNull fonksiyonu artık desteklenmiyor. IsNull fonksiyonlarını da IsDBNull şeklinde düzenlemeniz gerekecektir.

Son olarak, com nesnelerinin registry'de apartment-treaded olarak tanımlanması yüzünden bir hata almak muhtemel. Örneğin ADO nesneleri default olarak apartment-treaded tanımlı nesnelerdir. Bu nesneleri Asp.Net sayfalarınızda kullanmak istediğinizde de "nesne yaratılamıyor...." hatası alırsınız. Bu hatanın çözümü için de; @page direktifine aspcompat=true özelliğini eklemelisiniz.

Sonuç olarak; aspx uzantılı sayfalar bir scripting dili ile değil, bir programlama dili (makalede VB.Net örneklendi) ile yazılıyor. Bu nedenle bir dizi syntax'in değiştirilmesi gerekiyor. Buna karşılık bir programlamadilinin tüm esnekliğini güvenilirliğini ve sağlamlığını aspx ile elde ediyorsunuz. Bu bağlamda aslında sarfettiğiniz emeğin karşılığını alıyorsunuz.
Alıntı ile Cevapla
Cevapla

Bookmarks

Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler

Yeni Sayfa 1

www.papatyam.org Ana Sayfa

Tefekküre Davet Köşesi

Papatyam Sosyal Medya Guruplarımıza Katılın

                       Instagram         

Papatyam alemdarhost.com sunucularında barındırılmaktadır.