Asp.Net Döküman Arıyorum
-
-
https://www.youtube.com/playlist?list=PL6n9fhu94yhXQS_p1i-HLIftB9Y7Vnxlo
Şunu tavsiye ederim abi . ASP.NET den Php geçen birisi olarak . Herşey farklı :D ve ASP.Net biraz olsun daha kolay . OOP kavramını manyak-ül vahşet bilirsen Entitiy ile iyi otomasyonlar yazailirsin. Kolay gele. Ek olarak : http://www.chip.com.tr/blog/bedirhan3535/ASP.NET-nedir-avantajlari-dezavantajlar-nedir_1656.html
-
-
bende mvc mi diye soracaktım ona göre 3-5 bişey yazarım.
-
sitenin kodları daha geçmedi elime, mvc ya da webforms farkını nereden anlayabiliriz?
-
url .aspx ile bitiyorsa webforms dur, /Forum/NewMessage gibi bitiyorsa mvc dir büyük ihtimal diyebiliriz. Tabi adam webforms kullanıpta url e ayar çekebilir.Ama uğraşmadığını varsayarsak burdan bi tahmin yapabiliriz.
-
Hannibal_King bunu yazdı
url .aspx ile bitiyorsa webforms dur, /Forum/NewMessage gibi bitiyorsa mvc dir büyük ihtimal diyebiliriz. Tabi adam webforms kullanıpta url e ayar çekebilir.Ama uğraşmadığını varsayarsak burdan bi tahmin yapabiliriz.
.aspx ile bitmiyor hocam, mvc sanırım
-
@ozgunlu hocam http://www.asp.net/mvc burası ve https://www.amazon.com/Pro-ASP-NET-Experts-Voice-ASP-Net/dp/1430265299 bu kitap güzel sanırım.
Türkçe kitap olarak http://www.hepsiburada.com/asp-net-mvc5-oku-izle-dinle-ogren-p-KKODLAB01463 bunu okuyabilirsin. İstersen bi 200 sayfa falan bu türkçe kitaptan oku.Hızlı giriş yapmak için.Sonra ingilizce kaynaklara yönelirsin.
Asp.net Mvc hakkında hiç bilgisi olmayanlar için bişeyler yazacak olursam. Asp.net webformsta kullanıcılar .aspx uzantılı sayfalarla konuşuyorlar.Php ci değilim ama sanırım php de ise framework kullanmazsak .php uzantılı dosyalar ile konuşuyoruz. Asp.net mvc de ise durum biraz farklılaşıyor. Controller ismini verdiğimiz sınıflar var.Bunların içindede Action Method dediğimiz metodlar var.İşte biz bu action methodlar ile konuşmuş oluyoruz.Bu action methodlar bize cevap olarak bazen html (.cshtml uzantılı dosyalar var onlar html i oluşturuyor kısaca view diyoruz) , bazen bir dosya, bazen json türünden bir nesne, yada sadece bir string bile geriye döndürebilir.Mantıksal olarak benzer işleri yapan action methodları aynı controller sınıfının içine yerleştiriyoruz.Default rounting ayarlarına dokunulmazsa tarayıcının adres satırına yazdığımız /Home/Index şeklindeki ifadede 1.kısım controller ismini 2.kısım ise action method ismini temsil ediyor yani url de bizim method adımız geçiyor o method ile konuşmuş oluyoruz.Bu örnekte home controllerdaki Index isimli metodu çağır demek oluyor.
Başlangıçta hangi konuların öğrenilmesi gerekir diye bi sıralama yaparsak;
1) Yukarda bahsettiğim controller ve action methodların çalışma mantığı
2) Clienttan gelen verileri action methodda nasıl yakalarız ve action methoddan client a nasıl veri göndeririz. Controller - View arası iletişim. (model kavramı , viewbag kullanımı, razor nedir, razor syntax ı, helper metodlar falan filan vs vs.)
3) Entity Framework 6.0 fonksiyonel syntax - birde sorgu syntax ı var bence fonksiyonel syntax daha güzel. (entity framework database first yaklaşımı tercih edilmeli bence, code first ü kullanan çoğu kişi tam ayrıntısı ile code first bilmiyor ayrıntısı fazla biraz.)
4)Layout kavramı - tasarım yaparken kullanılacak. asp.net webformstaki adı masterpage idi. (rendersection, renderbody vs vs.Çok basit zaten bu layout konusu)
5) Authentication - Herkesin her fonksiyonla konuşmasını engellemek için authentication yapısını kullanıp tanımadığımız kullanıcıların bazı fonksiyonları kullanmasını engellememiz lazım.Mvc de klasör tabanlı bir yetki mekanizması falan yok(varsada ben bilmiyorum ama zaten olması sacma klasör kavramı yok pek). Sanırım php de var.Burda controller ve action method bazında engelleme yapıyoruz. Projeyi oluştururken default olarak bize bir üyelik mekanizması veriyor.Ancak kendimiz custom bir authentication da yapabiliriz. Asp.net filtreler konusunun öğrenilmesi lazım.Authentication geniş bir konu 3-4 farklı yöntem kullanılabilir.
6) Area kavramı - projeyi parçalara bölmemizi kolaylaştırıyor.
7) performans - cache kullanımı, data caching, outputcache vs vs. Belli başlı şeyleri partialview olacak şekilde cacheleme vs vs ...
Aklıma gelirse eklerim daha genel olarak bu konulara bakılabilir bence başlangıçta.
-
Hannibal_King bunu yazdı
@ozgunlu hocam http://www.asp.net/mvc burası ve https://www.amazon.com/Pro-ASP-NET-Experts-Voice-ASP-Net/dp/1430265299 bu kitap güzel sanırım.
Türkçe kitap olarak http://www.hepsiburada.com/asp-net-mvc5-oku-izle-dinle-ogren-p-KKODLAB01463 bunu okuyabilirsin. İstersen bi 200 sayfa falan bu türkçe kitaptan oku.Hızlı giriş yapmak için.Sonra ingilizce kaynaklara yönelirsin.
Asp.net Mvc hakkında hiç bilgisi olmayanlar için bişeyler yazacak olursam. Asp.net webformsta kullanıcılar .aspx uzantılı sayfalarla konuşuyorlar.Php ci değilim ama sanırım php de ise framework kullanmazsak .php uzantılı dosyalar ile konuşuyoruz. Asp.net mvc de ise durum biraz farklılaşıyor. Controller ismini verdiğimiz sınıflar var.Bunların içindede Action Method dediğimiz metodlar var.İşte biz bu action methodlar ile konuşmuş oluyoruz.Bu action methodlar bize cevap olarak bazen html (.cshtml uzantılı dosyalar var onlar html i oluşturuyor kısaca view diyoruz) , bazen bir dosya, bazen json türünden bir nesne, yada sadece bir string bile geriye döndürebilir.Mantıksal olarak benzer işleri yapan action methodları aynı controller sınıfının içine yerleştiriyoruz.Default rounting ayarlarına dokunulmazsa tarayıcının adres satırına yazdığımız /Home/Index şeklindeki ifadede 1.kısım controller ismini 2.kısım ise action method ismini temsil ediyor yani url de bizim method adımız geçiyor o method ile konuşmuş oluyoruz.Bu örnekte home controllerdaki Index isimli metodu çağır demek oluyor.
Başlangıçta hangi konuların öğrenilmesi gerekir diye bi sıralama yaparsak;
1) Yukarda bahsettiğim controller ve action methodların çalışma mantığı
2) Clienttan gelen verileri action methodda nasıl yakalarız ve action methoddan client a nasıl veri göndeririz. Controller - View arası iletişim. (model kavramı , viewbag kullanımı, razor nedir, razor syntax ı, helper metodlar falan filan vs vs.)
3) Entity Framework 6.0 fonksiyonel syntax - birde sorgu syntax ı var bence fonksiyonel syntax daha güzel. (entity framework database first yaklaşımı tercih edilmeli bence, code first ü kullanan çoğu kişi tam ayrıntısı ile code first bilmiyor ayrıntısı fazla biraz.)
4)Layout kavramı - tasarım yaparken kullanılacak. asp.net webformstaki adı masterpage idi. (rendersection, renderbody vs vs.Çok basit zaten bu layout konusu)
5) Authentication - Herkesin her fonksiyonla konuşmasını engellemek için authentication yapısını kullanıp tanımadığımız kullanıcıların bazı fonksiyonları kullanmasını engellememiz lazım.Mvc de klasör tabanlı bir yetki mekanizması falan yok(varsada ben bilmiyorum ama zaten olması sacma klasör kavramı yok pek). Sanırım php de var.Burda controller ve action method bazında engelleme yapıyoruz. Projeyi oluştururken default olarak bize bir üyelik mekanizması veriyor.Ancak kendimiz custom bir authentication da yapabiliriz. Asp.net filtreler konusunun öğrenilmesi lazım.Authentication geniş bir konu 3-4 farklı yöntem kullanılabilir.
6) Area kavramı - projeyi parçalara bölmemizi kolaylaştırıyor.
7) performans - cache kullanımı, data caching, outputcache vs vs. Belli başlı şeyleri partialview olacak şekilde cacheleme vs vs ...
Aklıma gelirse eklerim daha genel olarak bu konulara bakılabilir bence başlangıçta.
Çok teşekkür ederim hocam, emek verip çok değerli bir yazı yazmışsın benim için.
Söylediğin gibi kitaptan başlayarak bahsettiğin konuları inceleyerek devam edeceğim.
Zaten hali hazırda yazılı bir websitesi üzerinden gideceğim için, onların kodlarını inceleme fırsatım da olacak.
Hayatta microsofta bulaşmam derken, kendimi içinde buldum :)
IDE olarak visual studio mu kullanıyorsunuz ? Derleme olayı nasıl işliyor, bu konu hakkında ve sunucu hakkında da eğer vaktini almazsa ufak birşeyler paylaşabilir misin ?
Tekrar tekrar bu güzel yazın için teşekkür ederim sana.
Sitenin kodları henüz geçmedi elime, kitabı alarak başlayacağım. 1-2 hafta içinde bir yerlere getirmeye çalışacağım kendimi.
Ayrıca teşekkür ederim; @MhmdAlmz ve @Lightsaber
ozgunlu tarafından 11/Tem/16 06:56 tarihinde düzenlenmiştir -
Geç yazdım hocam kusura bakma.
IDE olarak visual studio kullanıyoruz.Alternatif vardır belki ama kim neden kullanmak ister orasını bilemem.Visual Studionun microsoft un yaptıgı en güzel seylerden birisi olduğunu düşünüyorum.
Zaten php de olduğu gibi sadece editör ihtiyacımız olmayacak.Ekstra araçlarda gerekecek.Visual Studio da bizim ihtiyaç duyduğumuz herşeyi barındırıyor içinde.
Derleme olayı şu şekilde oluyor;
.Net ile yazdığımız uygulamalar derlendiğinde arakod dediğimiz sanal bir kod a dönüşüyor.Yani içlerinde direk olarak mikroişlemcinin anlayabileceği makina kodları yok.(javadaki muhabbet gibi arakodlu çalışma sistemi)
Uygulamamızı çalıştırmak istediğimizde .net ortamına ihtiyaç duyuyoruz.Runtime esnasında arakodlar .net tarafından makina kodlarına dönüştürülüyor.
Bu yüzden .net için microsoft un uygulama geliştirme ve çalıştırma ortamı diyoruz zaten.
Projemizi her derlediğimizde yazdığımız c# kodları,sınıflarımız, methodlarımız vs vs. arakod a dönüştürülmüş bir şekilde .dll uzantılı bir dosya içinde saklanıyor. Windows ortamında uzantısı .dll olan dosyalara
"dinamik kütüphane dosyası" diyoruz.Yine windows ortamında uzantısı .Lib olan dosyalara statik kütüphane dosyası diyoruz.
.NET ortamında statik kütüphane kullanılmıyor, yalnızca dinamik kütüphane kullanılıyor.Yani asp.net mvc ile uğraşırken bizim işimiz .dll uzantılı dosyalarla olacak
Asp.net mvc projemiz üzerinde çalışırken C:\Users\kullaniciadin\Documents\Visual Studio 2015\Projects\ProjeAdin klasörüne bakarsan. Fazla sayıda klasör ve dosya göreceksin. Bin klasörü içerisinde projeadin.dll şeklinde
bir dosya var işte yazdığın c# kodları o dosya içerisinde arakod a dönüştürülmüş biçimde saklanıyor.
( http://ilspy.net/ adresindeki araç ile obfuscation işlemi yapılmamış .net dll dosyalarının içerisindeki kodları görüntüleyebilirsin.)
Şimdi sen paylaşımlı hosting,vps yada dedicated ne olursa olsun projeni server a atacağın zaman publish etmen gerekli.Yani .\Visual Studio 2015\Projects\ProjeAdin klasöründeki herşeyi sürükle bırak ftp ye atmıyoruz.Php de olduğu gibi.
Visual Studio içinde solution explorer dan projemize sağ tıklayıp çıkan context menüden publish i seçiyoruz.
1-) Bizden profil oluşturmamızı istiyor. Custom diyoruz.Bi isim verip gecelim.
2-) Connection sekmesine geldik. Publish method seçeceğiz şimdi. 4 tane var. Web Deploy, Web Deploy Package, FTP, File System. File system ı seçiyoruz. İstersek ftp de seçebilirdik ama visual studio kendisi ftp ile atınca arada
hata verıo falan ondan file system secelim. .dll dosyalarımızı kendi seçtiğimiz bir klasöre çıkartmıs olucaz. File system sectikten sonra target location seçeneginden klasör seçiyoruz.
3-) Settings sekmesine geldik. Configuration seçeneği mutlaka "release" olacak.
4-) Preview sekmesine geliyoruz.Publish diyoruz ve projemiz 2. aşamada belirttiğimiz klasöre çıkartıldı.
Şimdi bu projemizi çıkarttığımız klasöre bakarsak proje büyüklüğüne göre atıyorum 8-10 tane dosya klasör göreceğiz.İşte bunları filezilla ile server a attığın zaman tamamdır hocam.
Paylaşımlı hosting kullanırsan eğer;
Web.config dosyandan runtimeda oluşan hataları göster diyceksin.Gerçi bunun paylaşımlı hostingle alakası yok vps de olsa dedicated ta olsa oluşan hatalar göster diyeceğiz.
web.config e php.ini dosyasının karsılıgı diyebiliriz heralde. Eğer ufak tefek hatalar olursa (trust level seviyesi vs vs ) bunları bildiriceksin hosting firmana gerekli ayarları yapıcaklar.
Eğer vps yada dedicated server kullanırsan;
Windows Server 2012 kurman gerekiyor. Sonrada iis yapılandırması ve gerekli modüllerin kurulması var.Eğer vps falan kiralarsan ayrıntılı yazarım bunuda.
-
Hannibal_King bunu yazdı
Geç yazdım hocam kusura bakma.
IDE olarak visual studio kullanıyoruz.Alternatif vardır belki ama kim neden kullanmak ister orasını bilemem.Visual Studionun microsoft un yaptıgı en güzel seylerden birisi olduğunu düşünüyorum.
Zaten php de olduğu gibi sadece editör ihtiyacımız olmayacak.Ekstra araçlarda gerekecek.Visual Studio da bizim ihtiyaç duyduğumuz herşeyi barındırıyor içinde.
Derleme olayı şu şekilde oluyor;
.Net ile yazdığımız uygulamalar derlendiğinde arakod dediğimiz sanal bir kod a dönüşüyor.Yani içlerinde direk olarak mikroişlemcinin anlayabileceği makina kodları yok.(javadaki muhabbet gibi arakodlu çalışma sistemi)
Uygulamamızı çalıştırmak istediğimizde .net ortamına ihtiyaç duyuyoruz.Runtime esnasında arakodlar .net tarafından makina kodlarına dönüştürülüyor.
Bu yüzden .net için microsoft un uygulama geliştirme ve çalıştırma ortamı diyoruz zaten.
Projemizi her derlediğimizde yazdığımız c# kodları,sınıflarımız, methodlarımız vs vs. arakod a dönüştürülmüş bir şekilde .dll uzantılı bir dosya içinde saklanıyor. Windows ortamında uzantısı .dll olan dosyalara
"dinamik kütüphane dosyası" diyoruz.Yine windows ortamında uzantısı .Lib olan dosyalara statik kütüphane dosyası diyoruz.
.NET ortamında statik kütüphane kullanılmıyor, yalnızca dinamik kütüphane kullanılıyor.Yani asp.net mvc ile uğraşırken bizim işimiz .dll uzantılı dosyalarla olacak
Asp.net mvc projemiz üzerinde çalışırken C:\Users\kullaniciadin\Documents\Visual Studio 2015\Projects\ProjeAdin klasörüne bakarsan. Fazla sayıda klasör ve dosya göreceksin. Bin klasörü içerisinde projeadin.dll şeklinde
bir dosya var işte yazdığın c# kodları o dosya içerisinde arakod a dönüştürülmüş biçimde saklanıyor.
( http://ilspy.net/ adresindeki araç ile obfuscation işlemi yapılmamış .net dll dosyalarının içerisindeki kodları görüntüleyebilirsin.)
Şimdi sen paylaşımlı hosting,vps yada dedicated ne olursa olsun projeni server a atacağın zaman publish etmen gerekli.Yani .\Visual Studio 2015\Projects\ProjeAdin klasöründeki herşeyi sürükle bırak ftp ye atmıyoruz.Php de olduğu gibi.
Visual Studio içinde solution explorer dan projemize sağ tıklayıp çıkan context menüden publish i seçiyoruz.
1-) Bizden profil oluşturmamızı istiyor. Custom diyoruz.Bi isim verip gecelim.
2-) Connection sekmesine geldik. Publish method seçeceğiz şimdi. 4 tane var. Web Deploy, Web Deploy Package, FTP, File System. File system ı seçiyoruz. İstersek ftp de seçebilirdik ama visual studio kendisi ftp ile atınca arada
hata verıo falan ondan file system secelim. .dll dosyalarımızı kendi seçtiğimiz bir klasöre çıkartmıs olucaz. File system sectikten sonra target location seçeneginden klasör seçiyoruz.
3-) Settings sekmesine geldik. Configuration seçeneği mutlaka "release" olacak.
4-) Preview sekmesine geliyoruz.Publish diyoruz ve projemiz 2. aşamada belirttiğimiz klasöre çıkartıldı.
Şimdi bu projemizi çıkarttığımız klasöre bakarsak proje büyüklüğüne göre atıyorum 8-10 tane dosya klasör göreceğiz.İşte bunları filezilla ile server a attığın zaman tamamdır hocam.
Paylaşımlı hosting kullanırsan eğer;
Web.config dosyandan runtimeda oluşan hataları göster diyceksin.Gerçi bunun paylaşımlı hostingle alakası yok vps de olsa dedicated ta olsa oluşan hatalar göster diyeceğiz.
web.config e php.ini dosyasının karsılıgı diyebiliriz heralde. Eğer ufak tefek hatalar olursa (trust level seviyesi vs vs ) bunları bildiriceksin hosting firmana gerekli ayarları yapıcaklar.
Eğer vps yada dedicated server kullanırsan;
Windows Server 2012 kurman gerekiyor. Sonrada iis yapılandırması ve gerekli modüllerin kurulması var.Eğer vps falan kiralarsan ayrıntılı yazarım bunuda.
hocam canını yerim ya, ne kadar güzel anlatmışsın.
kafamdaki soruların hepsini tertemiz sildin, php tabanından gelen biri olarak benim :D
çok teşekkür ederim sana ve verdiğin emeğe.
çok değerli oldu benim için. baya bir fark var gibi duruyor php ile asp.net arasında