Makale Özeti

ASP To ASP.NET Migration Asistant (ASP’den ASP.NET’e Yükseltme Asistanı), ASP sayfalarını ve uygulamaları ASP.NET’e çevirmek için hazırlanmış bir araçtır. Bu araç ASP projelerini komple olduğu gibi ASP.NET’e çevirmez ancak geçiş aşamasında büyük kolaylık sağlar. Birçok ASP kodlarınızı .NET platdformuna taşır. Bu uygulamayı aynı zamanda ASP.NET öğrenme aşamasında da kullanabilirsiniz. Yazdığınız kodların ASP.NET ortamında nasıl kullanıldığını öğrenip ona göre çalışma yapabilirsiniz.

Makale

ASP To ASP.NET Migration Asistant (ASP’den ASP.NET’e Yükseltme Asistanı), ASP sayfalarını ve uygulamaları ASP.NET’e çevirmek için hazırlanmış bir araçtır. Bu araç ASP projelerini komple olduğu gibi ASP.NET’e çevirmez ancak geçiş aşamasında büyük kolaylık sağlar. Birçok ASP kodlarınızı .NET platdformuna taşır. Bu uygulamayı aynı zamanda ASP.NET öğrenme aşamasında da kullanabilirsiniz. Yazdığınız kodların ASP.NET ortamında nasıl kullanıldığını öğrenip ona göre çalışma yapabilirsiniz.

 

Asistan kullanımı için gerekli sistem gereksinimleri;

İşletim sistemi: Windows XP, Windows 2000, Windows Server 2003.

.NET Framewrok: .NET Framewrok 1.1 desteklenmektedir.

Bu asistanı Visual Studio.NET içerisinden otomatik olarak kullanabilirsiniz. Eğer Visual Studio.NET 2003’e sahip değilseniz command line’dan da çalıştırabilirsiniz. Asistanı bilgisayarınıza indirmek için;

http://www.asp.net/DownloadWizard.aspx?WizardTarget=AspToAspNetMigrationAssistant

Adresini kullanabilirsiniz. Asistan dosyası 6 MB’dır. Makinenize indirdiğiniz bu .msi dosyasını bilgisayarınıza kurunuz. Yükseltme işlemine başlamadan önce asistanı kurduğunuz klasördeki Getting Started dosyasını okumanızı tavsiye ederim. Birçok ASP’den ASP.NET’e geçen yazılım geliştiricinin, bu asistanı kullananların bulunduğu forum ortamınıda kullanabilirsiniz. Forum için;

http://www.asp.net/migrationassistants/forums

 

Adresini kullanabilirsiniz.

Asistanı kullanmak;

Asistanı makinenize kurdukdan sonra Visual Studio.NET 2003 içerisine yerleşir. Visual Studio.NET 2003’ü açtıkdan sonra File menüsünden Open dediğiniz zaman;

 

En alttaki Convert seçeneğini göreceksiniz.

 

 

Seçtiğiniz zaman çevirim seçeneklerini göreceksiniz. ASP to ASP.NET Migration Asistant seçeneği ile asistanı kullanmaya başlayabilirsiniz.

 

İsterseniz bu yükseltme işlemini yeni bir proje olarak yaratabilir veya var olan bir projeye bu yükseltme işlemi sonuçlarını ekleyebilirsiniz.

İlk olarak bir selamlama penceresi gelecektir.

 

Next ile ilerledikten sonra hangi ASP ile yazılmış olan projenizi çevireceğinizin bilgisini vereceğiniz ekran ile karşılacaksınız.

 

 

Bu ekranda projenizin sabit yolunu belirtmeniz gerekiyor.

 

 

Bu ekranda da yeni yaratılacak ASP.NET projenizin adını veriyorsunuz.

 

 

Bu ekranda da yeni yaratılacak olan ASP.NET projenizin bulunmasını istediğiniz yolu belirtiyorsunuz.

 

Bu işlemlerden sonra ASP projeniz ASP.NET’e çevrilmeye başlıyor.

 

Eğer Visual Studio.NET 2003 kullanmıyorsanız Consol’dan da bu uygulamayı çalıştırabilirsiniz. Command Line’dan AspUpgrade.exe’yi kullanmak için;

 

ASPUpgrade[.exe] <DirectoryName> [/Out ] [/NoLog | /LogFile ] [/Verbose] [ /ProjectName ] [/ForceOverwrite]

 

Yardım için;

ASPUpgrade[.exe] /? or /Help

 

Parametreleri;

DirectoryName: Zorunlu bir alandır. Yükseltilecek olan ASP dosya / dosyalarının yol bilgisi verilir.

/Out DirectoryName:  ASP.NET projesinin nerede yaratılacağı belirtilir. Otomatik gelen değer \OutDir ‘dır.

/Verbose: Yükseltme sırasındaki tüm çıktıları DOS ekranında gösterir.

/NoLog: Yükseltme sırasında oluşturulan log dosyasının oluşturulmasını engeller.

/LogFile filename: Eğer log dosyasına özel bir isim ve yol vermek isterseniz kullanabilrisiniz. Eğer kullanmazsanız ASP.NET projesini oluşturduğu klasöre atar ve log dosyası isminide proje dosyası ile aynı adı verir.   

/? veya /Help: Commad Line’dan opsiyonların listesini ve açıklamasını verir.

 

Asistan’ın yapabildikleri;

 

1)      ASP dosyalarının isimlerini aynen koruyarak .asp olan uzantılarını .aspx olarak değiştirir. Dosyaların uzantılarını değiştirdiği gibi asp dosyalarınız içinde tanımlamış olduğunuz include edilen, h href tag’i ile belirtilen, Response.Redirect edilen, Application.Execute ile çalıştırılan form tag’inin action özelliğinde bulunan dosyaları bulur ve onlarıda değiştirir.  Ancak ASP dosyası içerisinde tanımladığınız <!--#include file="inc.asp"--> ifadesindeki .asp uzantısını .aspx olarak değiştirmez. Bunu size bırakıyor. Aynı şekilde href tag’inde .asp uzantılı dosya isimlerinide .aspx’e çevirmez.

2)      Bu yükseltme asistanının bence en zor özelliklerinden bir taneside değişken tiplerinin tanımlanması. Bildiğiniz gibi ASP’de tanımladığımız değişkenlerin tiplerini veremiyorduk. Yani tanımladığımız tüm değişkenler Variant tipindeydi. Dim ifadesi ile tnaımladığımız değişkenleri Dim ifadesi ile tanımlamasak bile hata almıyorduk. Ancak ASP.NET ortamında böyle bir şansımız yok. Kullandığımız her değişkeni tanımlamalı ve tipini belirtmeliyiz. Bu sebeple yükseltme asistanıda tüm kodu tarar ve değişkenleri olması gereken şekilde tanımlamaya çalışır.

3)      ASP içerisinde sub-routine’ler ve değişkenler <% %> tag’leri arasında tanımlanır. Ancak asistan sonrasında bu tanımlamalar <script ...> ... </script...> tag’leri arasında tanımlanır.

 

Asistan neler gerçekleştiremez;

 

1)      Asistan VBScript haricindeki diğer diller üzerinde çalışmadığı için, diğer dillerde yazılmış server side script’leri çeviremez.

2)      Kompleks fonksiyonları çeviremez.

3)      ASP.NET’in güvenlik modeli ASP’den çok farklıdır. ASP.NETin güvenlik modeli web.config dosyası içerisinde bulunur. Bu sebeple güvenlik modelini ASP.NET’e çeviremez.

 

Yükseltme işleminden sonra bir rapor dosyası oluşturur. Bu dosyayı mutlaka okumalı ve verdiği bilgileri uyarlamalıyız. Bu rapor dosyası içerisinde yaptığ işlemler, çevirim yapamadığı yerler, oluşan hatalr yer almaktadır. Bu söz konusu durumların dosya adını ve satır numarasını vermektedir.

 

Kaynaklar:

http://msdn.microsoft.com/asp.net/using/gettingstarted/default.aspx?pull=/library/en-us/dndotnet/html/techmap_webapps.asp#techmap_webapps1

 

 

Yeliz Korkmaz

yeliz.korkmaz@bilisimanadolu.com