Classic ASP'den ASP.NET Core'a Geçiş Rehberi

Classic ASP'den ASP.NET Core'a geçişi, uygulamanın yaptığı işleri yeniden değerlendiren bir süreç olarak ele alın. İlk adım hedef sürümü seçmekten önce mevcut davranışları, veritabanı ihtiyaçlarını ve işletim ortamını kaydetmektir. Başarılı bir denemenin ölçütünü de baştan belirleyin: hangi işlem aynı sonucu vermeli, hangi hata durumu durdurulmalı ve hangi parça daha sonra ele alınmalı?

Geçişi Neden Planlamalı?

Microsoft'un ASP destek açıklaması, ASP ve IIS desteğini konak işletim sisteminin yaşam döngüsüne bağlar. Bu nedenle bakım kararında yalnızca uygulama kodunu değerlendirmek yeterli değildir. İşletim sisteminin, hedef .NET sürümünün ve veritabanının destek takvimlerini ayrı ayrı inceleyin. Bir bileşenin takvimini diğerinin yerine kullanmayın.

Geçiş gerekçesini uygulamanın gerçek ihtiyaçlarına göre yazın. Örneğin bakım kapsamını sadeleştirmek veya belirli bir işlevi yeniden düzenlemek hedefleniyorsa, bu hedefin kabul ölçütünü belirleyin. Teknoloji adının değişmesi tek başına bir test sonucu değildir. Dil bağımlılıklarının durumunu ayrıca incelemek için VBScript'in Geleceği rehberinden yararlanabilirsiniz.

.NET Sürümleri: LTS ve STS

.NET'in resmi destek politikasında LTS, uzun süreli destek anlamına gelir ve ilk yayımdan itibaren üç yıllık destek sağlar. STS ise standart süreli destektir; sonraki sürümden itibaren bir yıl boyunca desteklenir. Sürümler on iki ay arayla çıktığından belgede STS'nin toplam destek süresi iki yıl olarak açıklanır.

.NET 10, 11 Kasım 2025'te yayımlanan bir LTS sürümüdür ve desteği 14 Kasım 2028'de sona erer. .NET 8 ve .NET 9 için destek bitişi 10 Kasım 2026 olarak listelenir. Bu tarihleri seçilen sürümün bakım planına yazın. LTS ifadesi, uygulamanın bütün bağımlılıklarının aynı tarihe kadar desteklendiği anlamına gelen ortak bir takvim olarak kullanılmamalıdır.

Sürüm seçimini deneme ortamı için de belgeleyin. Uygulamanın hangi sürümle sınandığını, hangi gereksinimlerin karşılandığını ve tekrar kontrol edilecek konuları kaydedin. Böylece daha sonra yapılan bir değişikliğin hangi koşullarda değerlendirildiği açık olur.

ASP.NET Core'u IIS Üzerinde Barındırma

Microsoft'un Türkçe IIS barındırma belgesi, ASP.NET Core için Windows Server 2012 R2 veya üzerini platformlar arasında listeler ve .NET Barındırma Paketi yükleyicisine yönlendirir. Teknik platform listesi ile seçilen Windows sürümünün yaşam döngüsünü ayrı kontrol edin. Bir sürümün barındırma belgesinde yer alması, sunucu seçimi için tek başına yeterli bir karar ölçütü değildir.

Hedef ortamın Windows ve IIS sürümlerini, kullanılacak .NET sürümünü ve gerekli barındırma paketini planınıza yazın. İlk denemede uygulamanın açılmasını, temel kullanıcı işlemlerini ve hata durumlarını ayrı kontrol edin. Ortam hazırlığıyla ilgili kararları uygulama davranışına ilişkin sonuçlarla birlikte kaydedin; yalnızca bir kurulum adımının tamamlanmasına göre geçişi bitmiş saymayın.

Veritabanı Tarafı: SQL Server 2025 ve Express

SQL Server 2025 yaşam döngüsünde destek başlangıcı 18 Kasım 2025, temel destek bitişi 7 Ocak 2031 ve genişletilmiş destek bitişi 7 Ocak 2036'dır. Bu takvim, uygulamanın .NET sürümüne ait takvimden bağımsız olarak izlenecek bir bakım başlığıdır.

SQL Server 2025 Express ücretsiz bir veritabanı sürümüdür; ilişkisel veritabanı başına en fazla 50 GB sınırı bulunur. Ücretsiz olması, uygulamanın bütün gereksinimlerini karşılayacağı sonucunu tek başına vermez. Veri büyüklüğünü ve gerekli özellikleri belirleyerek seçim yapın.

Veritabanı değerlendirmesinde mevcut sorguları ve beklenen sonuçları listeleyin. Hedef uygulamada okuma ve yazma işlemlerini aynı örnek verilerle karşılaştırın. Boş sonuç, geçersiz girdi ve başarısız bağlantı gibi durumları da deneme kapsamına alın. Dil değişikliği ile veri modelinin değiştirilmesini ayrı kararlar olarak tutmak, her adımın sonucunu değerlendirmeyi kolaylaştırır.

Geliştirme Araçları

Microsoft'un Azure Data Studio açıklamasına göre araç 28 Şubat 2026 itibarıyla kullanımdan kaldırılmıştır ve artık güncelleştirme veya güvenlik düzeltmesi almaz. Devam eden destek için MSSQL uzantılı Visual Studio Code'a geçiş önerilir. Açıklama, mevcut sorguların, betiklerin ve veritabanı projelerinin bu ortamda dönüştürme olmadan çalıştığını belirtir.

Aynı belgede SQL Server Agent ile iş zamanlama ve klasik yönetim görevleri için SQL Server Management Studio desteklenen giriş noktası olarak gösterilir. Araç listesini hazırlarken uygulama geliştirme, sorgu çalıştırma ve veritabanı yönetimini ayrı görevler olarak yazın. Editör seçimini tamamlamak ile uygulamanın geçişini tamamlamak için farklı kabul ölçütleri kullanın.

Güvenlik Kontrolü: OWASP Top 10:2025

OWASP Top 10:2025 listesindeki A05 Injection, XSS ile SQL Injection arasındaki sorunları kapsar. A10, istisnai durumların hatalı ele alınması başlığıdır; uygunsuz hata yönetimi, mantık hataları ve hata sırasında erişime izin verilmesi gibi durumlara odaklanan 24 zayıflık türünü içerir.

Güvenlik incelemesini yalnızca başarılı isteklerle sınırlamayın. Beklenmeyen girdi veya başarısız işlem sonrasında uygulamanın nasıl davranması gerektiğini yazın. Özellikle hata sonrasında hangi adımın duracağını ve kullanıcıya hangi genel mesajın gösterileceğini belirleyin. Bu davranışları test listesine ekleyin; teknoloji geçişini tek başına güvenliğin doğrulanması olarak kabul etmeyin.

Kademeli Geçiş Stratejisi

Önce kapsamı belirli bir işlev seçin ve mevcut davranışını belgeleyin. Hedef uygulamada aynı işlev için beklenen sonuçları tanımlayın. Başarılı ve başarısız işlem örneklerini karşılaştırdıktan sonra sonraki parçaya geçme kararını verin. Her aşamada tamamlanan işi, kalan bağımlılıkları ve geri dönüş için gerekli adımları kaydedin.

Son değerlendirmede uygulama davranışı, işletim ortamı, veri işlemleri ve destek takvimleri için ayrı kabul ölçütleri kullanın. Bir başlığın tamamlanması diğerlerinin de tamamlandığı anlamına gelmez. Geçiş sırasını gerçek deneme sonuçlarına göre düzenleyin ve bakım sorumluluklarını planın parçası olarak tutun.