İNTERNET TABANLI PROGRAMLAMA Dersi ASP.NET ile Dinamik Web Kodlama soru cevapları:
Toplam 38 Soru & Cevap#1
SORU:
ASP.NET nedir?
CEVAP:
ASP.NET öncesinde ASP programlama dili
bulunmaktaydı. ASP programlama dili de Microsoft
tarafından geliştirilmiş ve ASP.NET gibi IIS üzerinde
çalışan sunucu temelli bir programlama diliydi. ASP,
sadece vbscript adı verilen bir programlama dili ile
yazılmaktaydı. Geçmişte uzun seneler kullanılmış
olmasına rağmen, günümüz koşullarında ASP’nin oldukça
ilkel bir dil olduğu söylenebilir. Hali hazırda ASP’nin
kullanımı tamamen terkedilmiştir. ASP ile ASP.NET
dilleri isim benzerliği olmasına rağmen aslında tamamen
farklı programlama dilleridir.
#2
SORU:
.NET Framework’ün çalışma mantığını açıklayınız.
CEVAP:
Microsoft .NET Framework, Microsoft tarafından
geliştirilmiş bir uygulama geliştirme platformudur. .NET
Framework’ün geliştirilmesinde en önemli nokta,
geliştirilen yazılımların her türlü işletim sistemi ve
donanım üzerinde çalışabilir olmasıdır. Bir başka deyişle
.NET Framework; işletim sistemi ve donanım ile çalışan
yazılım arasında bir ara katman olarak devreye
girmektedir. Aslında bu ara katman olarak çalışan yapıya
.NET Framework’in bir parçası olan Common Language
Runtime (CLR) adı verilmektedir. Bu bakımdan .NET
Framework için geliştirilen yazılımlar doğrudan işletim
sistemi ve donanım ile iletişim kuramamakta, bunu CLR
araçlarını kullanarak yapabilmektedirler. Dolayısıyla
.NET ile geliştirilmiş bir yazılımın çalışabilmesi için o
sistemde mutlaka .NET Framework’ün kurulu olması
gerekir. Bu bakımdan Java Runtime Environment (JRE)
ile benzer bir çalışma mantığına sahip olduğu söylenebilir.
Java programlama dili ile geliştirilen uygulamaların bir
işletim sisteminde çalışabilmesi için mutlaka o işletim
sisteminde JRE’nin kurulu olması gerekir. Benzer şekilde
Java ile geliştirilen yazılımlar da işletim sistemi ve
donanımdan bağımsız olabilmektedir.
#3
SORU:
.NET dilleri ile geliştirilen yazılımların derlenme ve
çalıştırılma aşamalarını anlatınız.
CEVAP:
.NET dilleri ile geliştirilen yazılımlar
derlendiğinde Intermediate Language – Ara Dil (IL)
isminde bir dile dönüştürülmektedir. Tüm .NET dilleri
sonuçta aynı yapıya dönüştüğü için ortak bir yapıya
sahiptirler. Bu yapıya managed code adı da verilmektedir.
Visual C++ gibi diller ile managed code harici ve .NET
CLR ile çalışmayan yazılımlar da geliştirilebilmektedir.
Ancak bu çokta tercih edilen bir durum değildir. Derleme
işleminden sonra IL olarak oluşturulan kodlar
paketlenerek bir DLL veya EXE dosyasına
dönüştürülmektedir. Derlenmiş EXE veya DLL
dosyalarının çalıştırılmasında ise CLR devreye
girmektedir. Dosya ilk kez çalıştırıldığında kodlar
paketten çıkartılarak CLR’nin Just In Time (JIT)
derleyicisi tarafından tekrar derlenir ve bulunduğu
sistemin makine diline dönüştürülür. Dolayısıyla bir .NET
yazılımı ilk kez yeni bir sistemde çalıştırıldığında daha
çok zaman alacaktır, çünkü IL kodları makine diline
derlenmektedir. İkinci ve daha sonraki çalışmalarda ise
CLR tekrar derleme yapmaz, derlenmiş olan yazılımın
çalıştırılmasını sağlar. C#, Visual Basic .NET, Managed
Visual C++, Delphi .NET, J# gibi diller ile .NET
Framework için yazılım geliştirilebilmektedir.
#4
SORU:
.NET Framework’ü Windows harici işletim
sistemlerinde çalışabilir mi? Açıklayınız.
CEVAP:
.NET Framework’ün önceki sürümleri sadece
Microsoft Windows işletim sistemleri üzerinde
çalışmaktaydı. Bu durumda .NET ile geliştirilmiş
yazılımlar da sadece Microsoft Windows işletim sistemleri
üzerinde çalışabilmekteydi. Bunun dışında açık kaynak
kodlu mono projesi ile .NET uygulamalarının Linux ve
macOS işletim sistemleri ile de çalışabilmesi sağlanmıştır.
Mono aynı zamanda .NET dilleri ile yazılım geliştirmeye
de yarayan araçlar sunmaktadır.
Günümüzde ise Microsoft, .NET Core isminde .NET
Framework’ün çekirdeği olarak değerlendirilebilecek bir
sürümü açık kaynak kodlu olarak yayınlamaktadır. Aynı
zamanda .NET Core resmi olarak Linux, macOS ve
Windows işletim sistemlerini desteklemektedir. Bu
bakımdan.NET Core ile geliştirilen bir yazılımın çok
çeşitli işletim sistemleri ve donanımlar üzerinde
çalışabileceği söylenebilir. .NET Core’un çalışması da
.NET Framework gibidir. JIT derleyicisi .NET
Framework’te olduğu gibi .NET Core’da da
bulunmaktadır. Microsoft resmi web sitesinde Visual
Studio’nun 2017 sürümünde .NET Core için yazılım
geliştirmeye yönelik araçlar sunacağını belirtmiştir.
Ayrıca Microsoft tarafından yayınlanan bir yazıda
ASP.NET’in artık ASP. NET Core olarak adlandırılacağı
belirtilmiştir. Bu gelişmeler sonucunda ASP.NET Core
uygulamalarını Linux/Unix sunucular üzerinde
çalıştırabilmek mümkün hale gelmektedir. Bu durum web
uygulama geliştiricileri için oldukça önemlidir. Açık
kaynak kodlu birçok web uygulaması PHP ile
geliştirilmekte ve genellikle Linux/Unix sunucular
üzerinden hizmet vermektedir. ASP.NET Core’un farklı
işletim sistemlerinde çalışabiliyor olmasıyla ASP.NET
uygulama geliştiricileri geliştirdikleri yazılımları farklı
işletim sistemlerinde yayınlayabilirler. Bu durum
ASP.NET’in daha da yaygınlaşmasını sağlayabilir.
ASP.NET Core ile şimdilik sadece web uygulaması
geliştirilebilmektedir. Web servis (WPF) uygulamaları
geliştirmek mümkün değildir. Ayrıca ASP.NET Core,
CoreFX sınıf kütüphanesini kullanmakta ve CoreCLR
ismindeki .NET Core’un çalışma ortamı üzerinde
çalışmaktadır. Ayrıca mobil işletim sistemleri olan iOS ve
Android işletim sistemlerine yönelik olarak Xamarin
isminde NET Framework’ün bir sürümü daha
bulunmaktadır. Bu sürüm ile .NET dilleri ile mobil işletim
sistemlerine yönelik uygulama geliştirmek de
mümkündür.
#5
SORU:
ASP.NET uygulamalarını geliştirebilmek için gerekli
kurulumların nasıl yapılacağını açıklayınız.
CEVAP:
ASP.NET uygulamaları genellikle bir sunucu
işletim sistemi olan Microsoft Windows Server kurulu bir
sunucu bilgisayar üzerinden yayınlanmaktadır. Internet
üzerinden web sayfalarını yayınlamak için kullanılan bu
sunucu bilgisayarın İnternet üzerinde bir IP adresi ve
deneme.com gibi bir alan adına sahip olması beklenir.
Böylece kullanıcılar internet tarayıcının adres çubuğuna
sunucunun alan adını yazarak ASP.NET uygulamalarına
erişim sağlayabilecektir.
ASP.NET uygulamalarını çalıştırabilmek, test edebilmek
veya yayınlayabilmek için öncellikle işletim sistemi
üzerinde IIS yazılımının çalışıyor olması gerekmektedir.
IIS yazılımı hem Microsoft Windows Server hem de
Microsoft Windows işletim sistemlerinde bütünleşik
olarak bulunmaktadır. Uygulama geliştirme aşamasında
Microsoft Windows Server yerine Microsoft Windows
işletişim sistemini tercih etmek daha mantıklı olacaktır.
Uygulama tamamen geliştirildikten sonra Internet
üzerinden yayınlamak için Microsoft Windows Server
kurulu sunucu bilgisayarına aktarılabilir.
ASP.NET ile birçok veri tabanı sunucu yazılımına
bağlantı kurmak mümkündür. Ancak ASP.NET ile veri
tabanı sunucusu olarak çoğunlukla Microsoft SQL Server
sunucu yazılımı tercih edildiği görülür. SQL Server veri
tabanı sunucu yazılımı normalde ücretli bir yazılım
olmasına karşın geliştiricilerin üretim dışı ortamlarda test
amaçlı kullanmasına yönelik ücretsiz bir Developer
sürümü mevcuttur. Bu sürüm Internet’ten indirilerek
kurulabilir. Ayrıca veri tabanını yönetmek için (yeni veri
tabanları ve tablolar oluşturmak, kullanıcı yetkilerini
düzenlemek gibi) SQL Server Management Studio
yazılımı kullanılabilir. Bu yazılımda Internet üzerinden
ücretsiz olarak indirilip kurulabilmektedir.
Son olarak ASP.NET uygulamalarını geliştirmede
kullanmak üzere Microsoft Visual Studio bütünleşik
geliştirme ortamına ihtiyaç vardır. Aslında hiçbir
geliştirme ortamı kullanmadan ASP.NET kodları basit bir
editör ile yazılıp, komut ekranından .NET komutları ile
derlenerek çalışır hale getirilebilir. Ancak bu işlem çok
zahmetli ve zaman alıcı bir süreç olacaktır. Visual Studio;
geliştiricilere kod tamamlama, web sayfalarını kod
yazmadan görsel araçlar kullanarak oluşturma gibi çok
sayıda araç sunmakta, yazılım geliştirme sürecini
kolaylaştırmakta ve hızlandırmaktadır. Bu bakımdan ASP.
NET uygulamaları geliştirmek için Visual Studio
kullanmak uygun olacaktır. Visual Studio’nun
Community, Professional ve Enterprise olmak üzere 3
farklı sürümü bulunmaktadır. Professional ve Enterprise
sürümleri ücretli, Community sürümü ise ücretsizdir.
Sürümler arasındaki farklar için visual studio’nın resmi
web sayfası ziyaret edilebilir. Ayrıca bu web sayfası
üzerinden Community sürümü indirilip bilgisayara
kurulabilir.
#6
SORU:
C# programlama dili ile ilgili kısaca bilgi veriniz.
CEVAP:
ASP.NET ile kullanılan en popüler dil C#
programlama dilidir. C# programlama dilinin söz dizimi
C, C++, Java, PHP, JavaScript gibi diğer popüler
programlama dilleri ile oldukça benzerlik göstermektedir.
Bu bakımdan benzer bir programlama dilini bilenlerin C#
dilini öğrenmeleri oldukça kolay olacaktır. C#’ın C ve
C++ programlama dillerine göre daha kolay kullanılabilen
bir dil olduğu söylenebilir. Bunula birlikte C# oldukça
güçlü bir programlama dilidir ve C++ ile yapılabilecek
hemen hemen her şey C# ile de yapılabilir. C#
programlama dili .NET platformu için sıfırdan
geliştirilmiştir ve bu platformun tüm özelliklerini
kullanabilir. C# ile masaüstü uygulamaları, web
uygulamaları, mobil uygulamalar, web servis (WCF)
uygulamaları gibi çok çeşitli türden uygulama geliştirmek
mümkündür. C# ile yazılan kodların çalıştırılabilmesi için
öncelikle derleyici tarafından derlenmesi gerekmektedir.
#7
SORU:
Using komutları ne işe yarar?
CEVAP:
Using komutları ile uygulamada kullanılacak isim
uzayları (namespace) belirlenmektedir. Bir isim uzayı
using komutu ile eklendikten sonra o isim uzayında
bulunan bir sınıf ya da fonksiyonu kullanmak için
doğrudan fonksiyonun ya da sınıfın ismini yazmak yeterli
olacaktır. Yukarıdaki kodda System isim uzayındaki
Console sınıfı doğrudan kullanılmıştır. Using konutu ile
eklenmemiş bir isim uzayındaki sınıf ve fonksiyonları da
kullanmak mümkündür. Bunun için isim uzayı ile birlikte
sınıfın ya da fonksiyonun tam yolunu belirtmek gerekir.
.NET platformunda kullanılabilecek tüm sınıflar .NET’in
isim uzayları altında yer almaktadır.
#8
SORU:
C# programlama dilinde değişkenler ve türler
hakkında bilgi veriniz.
CEVAP:
C# programlama dilinde değişkenlerin mutlaka
kullanılmadan önce tanımlanmış olması gerekir.
Tanımlanmamış bir değişken kullanılmak istendiğinde
derleyici hata verecek ve kodlar derlenmeyecektir. Ayrıca
değişkenler tanımlanırken türlerinin belirtilmesi gerekir.
Tamsayı olarak tanımlanan bir değişken sadece tamsayı
değerler ile kullanılabilir, farklı bir tür gibi kullanmak
mümkün değildir. C# değişkenler konusunda katı kurallara
sahip bir dildir. C# ile basit türler ve karmaşık türler
olmak üzere iki farklı tür yapısından söz edilebilir. Basit
türler sayısal değerler, karakter ve alfa numerik (sayı ve
har erden oluşan karakter dizisi, metin) değerleri tutan
değişken türleridir. Basit türler System isim uzayının
içinde yer almaktadır. Karmaşık türler ise struct, class,
interface veya enum yapıları ile oluşturulmuş özel
türlerdir. .NET platformu içinde çok sayıda sınıfı, bir
başka değişle karmaşık türü barındırmaktadır. Değişken
tanımlarken önce türü, daha sonra değişken ismi
belirtilmelidir. Değişken isim belirleme kuralları
PHP’deki ile aynıdır. Değişken isimlerinde harf, sayı ve _
işareti yer alabilir. Değişken isimleri sayı ile
başlamamalıdır. Değişken isimlerinde boşluk ve özel
karakterler(?,!,],&,...) yer alamaz. Ayrıca C# dilinde
kullanılan if, for, while, switch gibi anahtar kelimeler de
değişken ismi olarak kullanılamaz. Değişkene
tanımlandığı yerde ilk değer ataması yapılabilir. Değişken
tanımlarken kısa adı veya .NET tam yolu kullanılabilir.
#9
SORU:
C# programlama dilinde U(unsigned) ne anlama
gelmektedir ve nasıl kullanılır?
CEVAP:
U (unsigned-işaretsiz) ile başlayan türler sadece
pozitif tam sayıları barındırabilmektedirler. Değişkenlerin
kullanılmadan önce mutlaka tanımlanması gerekmektedir.
Genellikle değişken tanımlama işlemi kodlama bloğunun
en üstünde yapılmaktadır. Değerlere de tür tanımlaması
yapılabilmektedir. Yukarıdaki örnekte olduğu gibi bir
tamsayı değerinin yanında herhangi bir harf yer almaz ise
o değer varsayılan olarak int türünde değerlendirilir. Eğer
bir tamsayının işaretsiz olması isteniyorsa değerin sonuna
U harfi getirilmelidir. Örneğin 100U değeri işaretsiz bir
tamsayıyı temsil eder ve ulong ve uint türündeki
değişkenlere atanabilir. Bir tam sayı değerinin long (uzun)
olması istenir ise değerin sonuna L harfi getirilmelidir.
Örneğin 100L değeri uzun tamsayıyı temsil eder. Bu sayı
long ve ulong türündeki değişkenlere atanabilir. 100UL
değeri ise hem uzun hem de işaretsiz değerleri temsil eder
ve sadece ulong türündeki değişkenlere atanabilir. Ondalık
sayısal değerler varsayılan olarak double’dır. 10.3F
değerinde olduğu gibi ondalık değerin yanında F harfi
getirilmesi durumunda bu değerin oat türünde olduğu
belirtilmiş olur. 10.3M değerinde olduğu gibi değerin
yanına M harfi getirilmesi durumunda değerin türünün
decimal olduğu belirtilmiş olur.
#10
SORU:
C# programlama dilinde char türü nasıl kullanılır?
CEVAP:
Char türü değerler tek tırnak için de
belirtilmelidir. String türü değerler ise çift tırnak içinde
belirtilmelidir. Özel anlamı olan bazı karakterleri
yazdırmak için kaçış karakterleri veya Unicode
karakterleri kullanılmalıdır. Unicode karakterleri
kullanmak için \u ifadesinin yanına 4 karakterlik Unicode
hexadecimal (onaltılık taban) değer yazılmalıdır.
#11
SORU:
C# programlama dilinde diziler hakkında kısaca bilgi
veriniz.
CEVAP:
C# ile birçok değeri içinde barındırabilen diziler
tanımlanabilir. C# ile tanımlanan diziler PHP’deki esnek
yapıya oranla daha katı kurallara sahiptir. C# ile
tanımlanan dizilerin boyutları sabittir. Anahtar (indis)
olarak sadece tamsayı kullanılabilmektedir. Tüm dizi
elemanları tek bir türde olmak zorundadır. Dizi anahtarları
0’dan başlamaktadır. Bir başka deyişle dizinin ilk
elemanının anahtarı 0’dır. Dizi tanımlanırken hangi türde
bir dizi olacağı belirlenmelidir. int[] ifadesi ile bir tamsayı
dizisi tanımlanmaktadır. Dizi kullanılmadan önce mutlaka
new kelimesi ile veya {} kullanılarak kaç elemanlı olacağı
belirlenmelidir. Küme parantezleri ile dizinin hem kaç
elemanlı olduğu belirlenmekte hem de ilk değer ataması
yapılmaktadır. Çok boyutlu dizi tanımlarken int[,] yapısı
ile dizinin kaç boyutlu olacağı belirtilmelidir. Bir virgül
olursa iki boyutlu, iki virgül olursa üç boyutlu bir dizi
olacaktır. Bir başka deyişle boyut sayısı, virgül sayısının
bir fazlasıdır. Dizi tanımlandıktan sonra dizinin büyüklüğü
new veya {} ile belirlenmelidir.
#12
SORU:
C# programlama dilinde ArrayList yapısı hakkında
kısaca bilgi veriniz.
CEVAP:
C# programlama dilinde kullanılan diziler C#
programlama dilinin doğası gereği esnek bir yapıda
değildir. Daha esnek bir yapıya ihtiyaç duyulması
durumunda dizilerden daha esnek bir yapı sunan System.
Collections isim uzayı içindeki sınıflardan
yararlanılmaktadır. Örneğin dizilerde dizi büyüklüğünün
sabit olması gerekmektedir. Ancak birçok durumda dizi
boyutunun (örneğin veritabanından alınacak bilgiler
doğrultusunda) büyüyüp küçülebilen bir yapıda olması
istenebilir. Bu durumda System.Collections isim uzayı
içindeki ArrayList sınıfından yararlanılabilir. ArrayList
sınıfı ile oluşturulacak dizi benzeri yapıya farklı türde
değerlerler eklenebilir. ArrayList’e yeni değer eklemek ve
eski değerleri silmek mümkündür. Ayrıca ArrayList sınıfı
diziler ile ilgili yapılabilecek sıralama, karıştırma gibi
birçok işlevsellikte sunmaktadır. ArrayList’e yeni eleman
eklemek için Add fonksiyonundan yararlanılır. Herhangi
bir türde yeni eleman eklemek mümkündür.
#13
SORU:
C# programlama dilinde if yapısı hakkında kısaca
bilgi veriniz.
CEVAP:
Birçok programlama dilinde benzer şekilde
çalışan if ifadesi ile bir kod bloğunun belirlenen koşullara
bağlı olarak çalıştırılıp çalıştırılmayacağı belirlenir. if ile
belirtilen koşulun sağlanamaması durumunda çalıştırılmak
istenen komutlar var ise if bloğundan sonra else bloğu
kullanılmalıdır. Birbiriyle bağlantılı çok sayıda
karşılaştırma ifadelerinin kullanılması durumunda ise else
if yapısı kullanılmaktadır.
#14
SORU:
C# programlama dilinde döngü yapıları hakkında
kısaca bilgi veriniz.
CEVAP:
For döngüsü, diğer programlama dillerindeki ile
benzer bir çalışma mantığında sahiptir. Bloğun içine
yazılan kodlar koşul ile belirtilen sayıda tekrar tekrar
çalıştırılır. For döngüsünün çalışma mantığı PHP
ünitelerinde detaylı şekilde anlatılmıştır. C# programlama
dilinde de aynı mantık geçerlidir. Karşılaştırma ifadesinin
her zaman doğru sonucunu üretmesi durumunda sonsuz
döngüye girilmiş olur. Bu durum programın tüm işlemci
gücünü kullanmasına ve yanıt vermemesine neden olabilir,
çünkü program akışı döngü içinde dönmeye ve döngü
bloğu komutlarını çalıştırmaya devam etmektedir. Bu gibi
sonsuz döngüye neden olabilecek karşılaştırma
ifadelerinden kaçınmak gerekir.
Diğer programlama dillerinde olduğu gibi C# ile döngü
oluşturmak için kullanılabilecek bir başka yapı while
döngüsüdür. For döngüsü ile benzer bir çalışma mantığı
vardır. Karşılaştırma ifadesinin sonucu doğru ise döngü
içindeki komutlar çalıştırılır, yanlış ise döngüden çıkılır.
C# programlama dilinde kullanılabilecek bir başka döngü
yöntemi ise do while döngüsüdür. Do while döngüsü while
döngüsüne benzer bir mantık ile çalışmaktadır. While
döngüsünde olduğu gibi karşılaştırma ifadesinin doğru
olması durumunda döngü bloğu içindeki komutlar
çalıştırılır. While döngüsünden farkı ise döngüye ilk
girildiğinde önce döngü bloğu içindeki kodlar çalıştırılır,
daha sonra karşılaştırma ifadesi ile kontrol gerçekleştirilir.
Bu durumda döngü içindeki kodlar en az bir defa mutlaka
çalıştırılmış olur. Foreach döngüsü ile dizi elemanları veya System.
Collections’da tanımlanmış dizi amaçlı kullanılan
ArrayList gibi sınıfların elemanları içinde gezinmek için
kullanılır.
#15
SORU:
C# programlama dilinde switch, break ve continue
yapıları hakkında kısaca bilgi veriniz.
CEVAP:
Program akışında belli koşullar oluştuğunda
döngülerin sonlandırılması gerekebilir. Bu gibi
durumlarda break komutu kullanılır. Break komutu aynı
zamanda switch yapısından da çıkılmasını sağlar.
Continue komutu döngülerde kullanılır ve program
akışının döngü bloğunun en başına gelmesini sağlar.
Switch komutu if else if yapısına benzer bir karşılaştırma
yapısıdır. Switch komutu parametre olarak verilen değer
doğrultusunda case ifadeleri ile belirlenen kod bloklarını
çalıştırmaya yarar.
#16
SORU:
C# programlama dilinde sınıflar hakkında kısaca bilgi
veriniz.
CEVAP:
C# programlama dili, programcıları nesne
yönelimli programlama yaklaşımı ile çalışmaları
konusunda yönlendirmektedir. Visual Studio ile yeni bir
form, web form, web servis gibi bir dosya
oluşturulduğunda şablondan bir sınıf yapısı ile
oluşturulduğu görülecektir. Sınıflar nesne yönelimli
programlama yaklaşımının en önemli araçlarıdır. Yeni bir
sınıf oluşturulduğunda Visual Studio gerekli olabilecek
isim uzaylarını otomatik olarak eklemektedir. Ayrıca yeni
sınıf tanımını var olan projenin isim uzayı içinde
tanımlamaktadır. Böylece projenin diğer dosyalarından bu
sınıfa using kullanmadan doğrudan ulaşmak mümkün
olacaktır. Eğer projede çok sayıda sınıf olacak ise ve bu
sınıflar hiyerarşik bir şekilde gruplandırılmak isteniyor ise,
aynı proje içinde farklı isim uzayları tanımlanabilir. Sınıf
yapıldıktan sonra sınıfın üyeleri tanımlanmalıdır. Sınıf
üyesi olarak ise değişkenler, fonksiyonlar ve özellikler
tanımlanabilmektedir.
#17
SORU:
ASP.NET ile Web formları nasıl oluşturulur?
CEVAP:
ASP.NET ile bir web sayfası geliştirildiğinde
aslında üye fonksiyonları, üye değişkenleri ve olayları
olan bir sınıf oluşturulmaktadır. Bu web sayfası
çağrıldığında ise bu sınıfa ait bir nesne yaratılır ve bu
nesne tarafından hizmet sunulur.
Visual Studio ile ASP.NET uygulaması geliştirmek için
yeni bir ASP.NET Web Application projesi oluşturmak
gerekir. File/New/Project seçeneği seçilir. Açılan
pencerede MVC ya da Web Formları tercih edilir. Web
Formları ile birbirinden bağımsız veya belli ölçülerde
bağımlı web sayfaları geliştirilmektedir. Web formlarında
MVC’de olduğu gibi bir ayrım söz konusu değildir. New
ASP.NET Project diyalog kutusunda Microsoft Azure onay
kutusu bulunmaktadır. Microsoft Azure, Microsof’un
bulut teknolojisinin adıdır. Eğer üyelik var ise projeler
Microsoft Azure üzerinde saklanabilir, dağıtılabilir ve
yönetilebilir. Microsoft Azure seçeneği iptal edilerek OK
düğmesine tıklandığında bir proje oluşturulmuş olur.
Web Forms olarak oluşturulan web sayfaları aspx uzantılı
olmaktadır. Visual studio ile geliştirme yapıldığında ayrıca
aspx dosyası ile aynı isimde bir adet cs uzantılı ve bir adet
de designer.cs adlı dosya oluşturulmaktadır. Genellikle
HTML, CSS ve JavaScript kodları aspx dosyasına, C#
kodları ile cs dosyasına yazılmaktadır. Designer.cs
dosyası sistem tarafından otomatik oluşturulmakta ve
toolbox kullanılarak form üzerine eleman eklendiğinde
otomatik olarak güncellenmektedir. HTML, CSS,
JavaScript ve C# kodları tek bir dosyaya yazılarak web
sayfası oluşturulabilir. Ancak Visual Studio’nun
yönlendirdiği şekilde kullanmak ve C# kodlarını farklı
dosyalarda barındırmak kodların yönetimi açısından daha
iyi bir yöntem olacaktır. Kullanıcılar web sayfasını
çağırmak istediklerinde aspx uzantılı dosyanın yolunu
vermeleri gerekir.
#18
SORU:
ASP.NET ile veritabanı işlemleri nasıl gerçekleştirilir?
CEVAP:
ASP.NET ile birçok farklı veritabanı sunucu
yazılımını kullanmak mümkündür. Bunlardan biri de
Microsoft SQL Server kullanmak için öncelikle Microsoft
SQL Server Management Studio (MSSMS) kullanılarak
bir veritabanı ve bu veritabanı içinde tablolar oluşturmak
gerekir. MSSMS ile SQL Server’a bağlandıktan sonra
Databases bölümü üzerine sağ tıklanarak New Database
seçeneği seçilir. Açılan diyalog penceresinde veritabanı
adı yazılır ve gerekli görülen ayarlar yapıldıktan sonra Ok
düğmesi tıklanarak yeni veritabanı oluşturulmuş olur.
Oluşturulan veritabanına yeni tablo eklemek için öncelikle
yeni veritabanının açılması gerekmektedir. Veritabanı
açıldıktan sonra Tables bölümüne sağ tıklanır ve açılan
menüden New/Table seçeneği seçilerek yeni Tablo
oluşturma ekranının açılması sağlanır.
ASP.NET ile veritabanı bağlantısı yapmak için genel
olarak iki yöntem olduğu söylenebilir: ADO.NET ve
Entity Framework. ADO.NET aslında veritabanı
bağlantılarını yönetmek amacıyla kullanılan .NET içindeki
sınıfları temsil etmektedir. ADO.NET kullanıldığında
temel olarak veritabanı SQL sorguları ile yönetilmektedir.
Entity Framework ise Microsoft tarafından geliştirilen ver
veritabanı bağlantılarını yönetmek için kullanılan farklı bir
yöntem sunmaktadır. Entity Framework ile
veritabanındaki tablolar sınıflara modellenmektedir.
Veritabanı üzerindeki işlemler ise bu model sınıfları
üzerinden gerçekleştirilmektedir. Özellikle büyük
projelerde Entity Framework tercih edilmektedir.
Veritabanı üzerinde SQL komutları çalıştırmak için
öncelikle System.Data ve System.Data.SqlClient isim
uzaylarını çalışmaya eklemek uygun olacaktır. SQL
komutları çalıştırmadan önce veritabanına bağlantı
yapmak gerekir. Daha sonra bağlantı yapılan veritabanına
SQL komutları gönderilebilir. Detaylı bilgi için ilgili
ünitedeki kodlar incelenebilir.
#19
SORU:
ASP.NET uygulamalarının sunucu üzerinde çalıştırıldıktan sonra üretilen web sayfaları hangi formatları içerir?
CEVAP:
HTML, CSS, JavaScript.
#20
SORU:
ASP.NET nedir?
CEVAP:
.NET Framework yapısı altında bulunan ve Microsoft firmasının sunucu temelli uygulama geliştirme çözümüdür.
#21
SORU:
.NET ile geliştirilmiş bir yazılımın çalışabilmesi için o sistemde mutlaka kurulu olması gereken nedir?
CEVAP:
.NET Framework
#22
SORU:
.NET Core nedir?
CEVAP:
.NET Core isminde .NET Framework’ün çekirdeği olarak değerlendirilebilecek bir sürümü açık kaynak kodlu olarak yayınlamaktadır. Aynı zamanda .NET Core resmi olarak Linux, macOS ve Windows işletim sistemlerini desteklemektedir.
#23
SORU:
Visual Studio’nun 3 farklı sürümü nelerdir?
CEVAP:
Visual Studio’nun Community, Professional ve Enterprise olmak üzere 3 farklı sürümü bulunmaktadır.
#24
SORU:
C# programlama dilinin söz dizimi hangi popüler programlama dilleri ile oldukça benzerlik göstermektedir?
CEVAP:
C, C++, Java, PHP, JavaScript gibi diğer popüler programlama dilleri ile.
#25
SORU:
C# programlama dilinde bir isim uzayında bulunan bir sınıf ya da fonksiyon nasıl kullanılır?
CEVAP:
Using komutları ile uygulamada kullanılacak isim uzayları (namespace) belirlenmektedir. Bir isim uzayı using komutu ile eklendikten sonra o isim uzayında bulunan bir sınıf ya da fonksiyonu kullanmak için doğrudan fonksiyonun ya da sınıfın ismini yazmak yeterli olacaktır.
#26
SORU:
C# programlama dilinde açıklama eklemek için kodda yapılması gerekenler nelerdir?
CEVAP:
Açıklama eklemek için diğer benzer programlama dillerinde olduğu gibi // veya /* */ karakterlerinden yararlanılır. // karakterlerinin sağında bulunan tüm yazılar açıklama olarak değerlendirilir. /* ile */ arasında kalan tüm yazılar açıklama olarak değerlendirilir.
#27
SORU:
C# programlama dilinde bir tamsayının işaretsiz olması isteniyorsa kodda yapılması gereken nedir?
CEVAP:
C# programlama dilinde bir tamsayının işaretsiz olması isteniyorsa değerin sonuna U harfi getirilmelidir.
#29
SORU:
Long türü bir değişkenin değeri int türü bir değişkene atanırsa ne olur?
CEVAP:
Long türü bir değişkenin değerini int türü bir değişkene atamak veri kaybına sebep olabilir ve güvenli değildir.
#30
SORU:
Int türü bir değişkenin güvenli şekilde atanabileceği türler hangileridir?
CEVAP:
Long, float, double, decimal
#31
SORU:
C# ile tanımlanan dizilerdeki katı kurallar nedlerdir?
CEVAP:
C# ile tanımlanan dizilerin boyutları sabittir. Anahtar (indis) olarak sadece tamsayı kullanılabilmektedir. Tüm dizi elemanları tek bir türde olmak zorundadır. Dizi anahtarları 0’dan başlamaktadır. Bir başka deyişle dizinin ilk elemanının anahtarı 0’dır.
#32
SORU:
"y = x % z;"
Yukarıdaki kod parçasında yapılan işlem nedir?
CEVAP:
‘%’ Kalan operatörüdür. x’in değerinin z’nin değerine bölümünden kalan değer y’ye atanmaktadır.
#33
SORU:
ASP.NET ile uygulama geliştirmenin temeldeki iki yöntemi nelerdir?
CEVAP:
Web Forms ve MVC
#34
SORU:
ASP.NET ile uygulama geliştirirken hangi durumda hangi yöntem tercih edilebilir?
CEVAP:
Daha basit projeler için Web Formları ile hızlı geliştirme yapmak üretkenliği arttıracaktır. Ancak daha büyük projelerde ise daha esnek bir yapı sunan, test edilebilir ve daha kolay yönetilebilen MVC yapısı tercih edilebilir. Geliştirilecek projenin yapısına göre MVC ya da Web Formları tercih edilmelidir.
#35
SORU:
aspx sayfasına otomatik olarak eklenen <form> etiketine yine otomatik olarak eklenen runat=”server” özelliği ile ne sağlanmaktadır?
CEVAP:
Formun içine eklenecek tüm kontrollerin yönetimi C# dosyası tarafından server üzerinde yönetilebilmektedir.
#36
SORU:
aspx sayfasında bulunan Design, Split, Source düğmeleri kullanılarak farklı görünümlere geçilebilen ekranların işlevleri nelerdir?
CEVAP:
Design, görsel tasarım ekranıdır. Source kaynak kod düzenleme editörüdür. Split ise hem tasarım ekranı hem de kaynak düzenleme editörünü alt alta gösterilmesini sağlar.
#37
SORU:
ASP.NET ile veritabanı bağlantısı yapmak için kullanılan yöntemler nelerdir?
CEVAP:
ADO.NET ve Entity Framework
#38
SORU:
SqlParameter nesnesinin sağladığı fayda nedir?
CEVAP:
SqlParameter sınıfı, parametreleri güvenlik kontrolünden geçirdiği için daha güvenlidir. Mümkün olduğunca kullanıcıdan gelen verileri doğrudan SQL metninin içinde kullanmaktan kaçınmak gerekir.