<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Asp.Net arşivleri - Mehmet Kirazlı</title>
	<atom:link href="https://www.mehmetkirazli.com/category/asp-net/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.mehmetkirazli.com/category/asp-net/</link>
	<description>Yazılımcı Notları</description>
	<lastBuildDate>Fri, 06 Apr 2018 12:41:09 +0000</lastBuildDate>
	<language>tr</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.10</generator>

<image>
	<url>https://www.mehmetkirazli.com/wp-content/uploads/2018/04/mehmetkirazlilogo.png</url>
	<title>Asp.Net arşivleri - Mehmet Kirazlı</title>
	<link>https://www.mehmetkirazli.com/category/asp-net/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SoapUI ile Web Servisi Test Etme</title>
		<link>https://www.mehmetkirazli.com/soapui-ile-web-servisi-test-etme/</link>
					<comments>https://www.mehmetkirazli.com/soapui-ile-web-servisi-test-etme/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Mon, 30 Sep 2013 18:18:43 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[.net web servis]]></category>
		<category><![CDATA[soap ui kullanımı]]></category>
		<category><![CDATA[soapUI]]></category>
		<category><![CDATA[soapui nedir]]></category>
		<category><![CDATA[web servis]]></category>
		<category><![CDATA[web servis nasıl yazılır]]></category>
		<category><![CDATA[web servis testi]]></category>
		<category><![CDATA[wsdl nedir]]></category>
		<category><![CDATA[xsd nedir]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=1712</guid>

					<description><![CDATA[<p>Merhaba. Bu derste, hazırladığımız bir .net web servisi nasıl test edeceğimizi anlatmaya çalışacağım. Sadece kendi hazırladığımızı değil, herhangi bir web servisi de test edebiliriz. Ben bunun için SoapUI kullanacağım. Bunun dışında başka araçlar da bulabilirsiniz. SoapUI Kullanarak .Net Web Servisi Çağırma Ben ilk olarak .Net de bir web servis oluşturdum. Klasik 4 işlem yapan ve &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/soapui-ile-web-servisi-test-etme/">SoapUI ile Web Servisi Test Etme</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhaba. Bu derste, hazırladığımız bir .net web servisi nasıl test edeceğimizi anlatmaya çalışacağım. Sadece kendi hazırladığımızı değil, herhangi bir web servisi de test edebiliriz. Ben bunun için <span style="color: #ff0000;">SoapUI</span> kullanacağım. Bunun dışında başka araçlar da bulabilirsiniz.</p>
<p><span style="color: #333333;"><span id="more-1712"></span></span></p>
<h3><strong>SoapUI Kullanarak .Net Web Servisi Çağırma</strong></h3>
<p>Ben ilk olarak <span style="color: #ff0000;">.Net</span> de bir web servis oluşturdum. Klasik 4 işlem yapan ve geriye sonucu döndüren bir web servis bu. İlk olarak yazdığım <span style="color: #ff0000;">.Net</span> servisinin kodlarını vereyim. Bunun nasıl yazıldığıyla ilgili detaylara girmeyeceğim. Bunu, Visual Studio IDE&#8217;sini kullanarak yazdım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/9.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1714 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/9-300x232.png" alt="soapui kullanımı" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/9-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/9.png 881w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bu projeyi <span style="color: #ff0000;">F5</span> e basıp çalıştıralım ve tarayıcımızda aşağıdaki gibi web servis açılacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/11.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1715 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/11-300x136.png" alt="soapui kullanımı" width="300" height="136" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/11-300x136.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/11.png 718w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bu bizim web servisimiz. Hangi fonksiyonlar olduğunu gösteriyor. Bize bunun <span style="color: #ff0000;">wsdl</span> dosyası lazım yani aldığı parametrelerin açık ayrıntılı olarak gösterilmiş hali. Adres çubuğundaki linkin sonuna <span style="color: #ff0000;">?WSDL</span> yazarsak bu servisin <span style="color: #ff0000;">wsdl</span> dosyasına erişebiliriz. Yazdığımızda aşağıdaki gibi görüntü elde edeceğiz.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/21.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1716 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/21-300x182.png" alt="soapui kullanımı" width="300" height="182" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/21-300x182.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/21.png 799w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">WSDL </span>dosyamızda fonksiyonlarımızın aldığı parametreler, tipleri gibi özellikler ayrıntılı olarak anlatılmıştır. Şimdi <span style="color: #ff0000;">SoapUI</span> programımızı açalım.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/31.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1717 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/31-300x247.png" alt="soapui kullanımı" width="300" height="247" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/31-300x247.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/31.png 890w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Soldaki <span style="color: #ff0000;">Projects</span> butonuna sağ tıklayın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/41.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1718 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/41-300x161.png" alt="soapui kullanımı" width="300" height="161" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/41-300x161.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/41-1024x551.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/41.png 1366w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p><span style="color: #ff0000;">New SoapUI</span> <span style="color: #ff0000;">Projects</span> dedikten sonra aşağıdaki ekran karşımıza gelecektir.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/51.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1719 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/51-300x174.png" alt="soapui kullanımı" width="300" height="174" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/51-300x174.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/51.png 698w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Önce <span style="color: #ff0000;">initial WSDL</span> kısmına bu bizim <span style="color: #ff0000;">WSDL</span> adresimizi yazdıktan sonra üstteki alan otomatik olarak dolacaktır. <span style="color: #ff0000;">OK</span> diyerek devam edelim ve web servisimizi ekleyelim. Bu aşamadan sonra ekranımız aşağıdaki gibi olacaktır.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/6.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1720 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/6-300x203.png" alt="soapui kullanımı" width="300" height="203" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/6-300x203.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/6.png 963w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Solda 2 adet <span style="color: #ff0000;">Tab</span> var. Bunlar 1.1 ve 1.2 sürümlerinin olduğunu anlatıyor. Siz ister üstteki ister alttaki ile deneyin. Ben yukarıdaki için çalıştırdım. Bakın 4 adet fonksiyonumuz listelendi. <span style="color: #ff0000;">&#8220;+&#8221;</span> işaretine tıkladıktan sonra <span style="color: #ff0000;">Request</span> butonuna çift tıklayarak bir <span style="color: #ff0000;">istek</span> oluşturalım. Tıkladıktan sonra <span style="color: #ff0000;">sağdaki</span> ekran çıkacaktır. Bu ekranda da <span style="color: #ff0000;">&#8220;topla&#8221;</span> fonksiyonumuzun aldığı parametreler var. İstediğiniz değerleri girin ve sol üstteki <strong><span style="color: #00ff00;">Yeşil</span> </strong>butona basın ve çalıştırın.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/71.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1721 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/71-300x162.png" alt="soapui kullanımı" width="300" height="162" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/71-300x162.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/71-1024x555.png 1024w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/71.png 1135w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>Bakın sağda sonucumuz, ilgili <strong>tag</strong> (etiket) içerisinde gösterildi. <span style="text-decoration: underline;">Web servisimizdeki fonksiyonun aldığı parametreler, bir xml tagı ile gösterilir. <span style="color: #ff0000; text-decoration: underline;">Bunu unutmayın.</span></span></p>
<p>Yani yukarıda .Net servisimizde yazdığımız metodların aldığı parametreler, WSDL dosyasında bir tag&#8217;e karşılık gelir.</p>
<p>Son olarak bir de <strong>çarpma</strong> yapan fonksiyonumuzu test edelim.</p>
<p><a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/81.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1722 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/81-300x192.png" alt="soapui kullanımı" width="300" height="192" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/81-300x192.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/81.png 997w" sizes="(max-width: 300px) 100vw, 300px" /></a> <a href="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/91.png"><img decoding="async" loading="lazy" class="alignnone wp-image-1723 size-medium" src="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/91-300x232.png" alt="soapui kullanımı" width="300" height="232" srcset="https://www.mehmetkirazli.com/wp-content/uploads/2013/09/91-300x232.png 300w, https://www.mehmetkirazli.com/wp-content/uploads/2013/09/91.png 881w" sizes="(max-width: 300px) 100vw, 300px" /></a></p>
<p>SoapUI kullanarak .Net web servisi nasıl çağırılır elimden geldiğince basit anlatmaya çalıştım. Bir sonraki derslerde görüşmek üzere&#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/soapui-ile-web-servisi-test-etme/">SoapUI ile Web Servisi Test Etme</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/soapui-ile-web-servisi-test-etme/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Asp.NET ile 3 Katmanlı Mimari</title>
		<link>https://www.mehmetkirazli.com/asp-net-ile-3-katmanli-mimari/</link>
					<comments>https://www.mehmetkirazli.com/asp-net-ile-3-katmanli-mimari/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Fri, 22 Jun 2012 13:18:12 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[3 katmanlı mimari nedir]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[asp.net ile 3 katmanlı mimari]]></category>
		<category><![CDATA[katmanlı mimari nedir]]></category>
		<category><![CDATA[üç katmanlı mimari nedir]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=859</guid>

					<description><![CDATA[<p>Hazırladığımız yazılımlarda bir, iki, üç veya daha fazla katmanı kullanarak programlar geliştiririz. Farkında olmadan bu katmanları kullanırız fakat nedir bu katmanlı mimari ? Bu makaleyi, Asp.NET ve MSSQL üzerinden anlatacağım. Diyelim ki bir basit öğrenci kayıt programı hazırladınız.Bunun için öncelikle bir veritabanınız ve arayüzünüz olmalı.Arayüz ile öğrenci kaydı, silme, listeleme gibi işlemler yaparsınız.Bunun için bir veritabanı &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-ile-3-katmanli-mimari/">Asp.NET ile 3 Katmanlı Mimari</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">Hazırladığımız yazılımlarda bir, iki, üç veya daha fazla katmanı kullanarak programlar geliştiririz. Farkında olmadan bu katmanları kullanırız fakat nedir bu katmanlı mimari ? Bu makaleyi, <span style="color: #ff6600;">Asp.NET</span> ve <span style="color: #ff6600;">MSSQL</span> üzerinden anlatacağım.<br />
<span id="more-859"></span></p>
<p style="text-align: justify;">Diyelim ki bir basit öğrenci kayıt programı hazırladınız.Bunun için öncelikle bir veritabanınız ve arayüzünüz olmalı.Arayüz ile öğrenci kaydı, silme, listeleme gibi işlemler yaparsınız.Bunun için bir veritabanı da gerekli.Ayrıca olmayan bir kaydı silmek, aynı 2 kişiyi eklemek gibi işlemler için kontrol yapacak olan bir birime de ihtiyacınız var.İşte biz buna üç katmanlı mimari diyoruz.Bu katmanlar;</p>
<p style="text-align: justify;">Kullanıcı ile etkileşimi sağlayacak olan <strong><span style="color: #ff6600;">Sunum Katmanı</span></strong>, veritabanı ile etkileşimi yapacak olan <strong><span style="color: #ff6600;">İş Katmanı</span></strong> ve verilerimizi saklayacak olan <strong><span style="color: #ff6600;">Veri Katmanı</span></strong>.Yazılımlar için yüksek performans ve yönetim kolaylığı sağlayan katmanlar bunlardır</p>
<p style="text-align: justify;">Eğer siz iş katmanı kullanmaz iseniz <span style="color: #ff0000;">arayüz</span> ve<span style="color: #ff0000;"> veritabanı</span>ndan oluşan mimarilere <strong>2 katmanlı mimari</strong> denir.Ayrıca isterseniz 3 den fazla katmana sahip mimarileri de kullanabilirsiniz.Bunlar gelişmiş uygulamalarda tercih edilir.Ben en sık kullanılan 3 katmanlı mimariden bahsedeceğim;</p>
<p style="text-align: justify;"><strong><span style="color: #ff0000;">***</span></strong>Peki bu 3 katmanlı mimariyi kullanmanın avantajı nedir?</p>
<p style="text-align: justify;">Bu mimariyi kullanarak yazılımımızı parçalara böleriz.Bunun tabiki en büyük avantajı yönetim kolaylığı sağlamasıdır.Yani eğer programımızda bir hata oluşursa, bunun hangi katmandan kaynaklandığını rahatlıkla anlayabiliriz.Ayrıca bir yerde değişiklik yapmak istediğimizde yazılımı baştan aşağı inceleyerek hatayı bulmak yerine, ayırdığımız katmanlarda oluşturduğumuz fonksiyonlara, sınıflara bakarak kolayca bulabiliriz.Bu sayede yüksek performans elde ederiz ve nesne yönelimli yaklaşımı da kullanarak gelişmiş yazılımlar elde edebiliriz.</p>
<p style="text-align: justify;">Şimdi biz bu makalemizde basit bir öğrenci ekleme çıkarma işlemi yapan bir programı kullanarak anlatımımıza başlayalım.</p>
<h3 style="text-align: justify;"><strong><span style="color: #ff0000;">Veri Katmanı</span></strong></h3>
<p style="text-align: justify;">Eğer veritabanı kullanan bir proje yapacaksanız,arayüzden önce veritabanını tasarlayın.Ben bunun için <span style="color: #ff0000;">MSSQL</span> &#8216;i kullanarak bir veritabanı oluşturacağım</p>
<p style="text-align: justify;">Veritabanımızın adını <span style="color: #ff0000;">ogrenci</span>, tablo adımızı ise <span style="color: #ff0000;">ogrenciler</span> olarak ayarlayalım.No kısmını <span style="color: #ff0000;">Primary key</span> olarak ayarlayalım ve <span style="color: #ff0000;">İdentity</span> özelliğini <span style="color: #ff0000;">Yes ve 1 yapalım</span>.Yani kendizi otomatik ve 1 er 1 er artsın.Biz bu No kısmına dokunamayız</p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/06/3-katmanlı-mimari-veritabanı1.png" alt="3 katmanlı mimari" /></p>
<p>Ve şimdi <span style="color: #ff0000;">veri katmanı</span>mız için <span style="text-decoration: underline;">ekleme işlemini yapacak olan</span> <span style="color: #ff0000;">stored procedure</span>&#8216;umuzu yazıyoruz.Ben sadece <span style="color: #ff6600;">ekleme</span> ve <span style="color: #ff6600;">silme</span> işlemini yapacak olan <span style="color: #33cccc;">stored procedure</span> yazacağım.Stored Procedure eklemeyi bilmiyorsanız eski yazılarımdan bakabilirsiniz</p><pre class="crayon-plain-tag">CREATE PROCEDURE ekle
(
 @ogr_ad nvarchar(30),
 @ogr_soyad nvarchar(30),
 @ogr_bolum nvarchar(50),
 @ogr_sinif nvarchar(10)
)
AS
INSERT INTO ogrenciler (ogr_ad,ogr_soyad,ogr_bolum,ogr_sinif)
VALUES (@ogr_ad,@ogr_soyad,@ogr_bolum,@ogr_sinif) 
GO</pre><p>
Bakın bu ekleme görevi yapan Stored Procedure&#8217;de <strong><span style="color: #ff6600;">ogr_no</span></strong> kısmını eklemedik çünkü o kendisi ekleyecek ve değerini 1 arttıracak (her öğrenci eklemede) . Şimdi ise silme görevi yapacak olan Stored Procedure yazıyoruz</p><pre class="crayon-plain-tag">CREATE PROCEDURE sil
 @ogrenci_no int
  AS
  DELETE FROM ogrenciler WHERE (ogr_no=@ogrenci_no)
 GO</pre><p>
Bu procedure, aldığı <span style="color: #ff6600;">ogrenci_no</span> değerini veritabanındaki<span style="color: #ff0000;"> ogr_no</span> değişkenine atar.Sadece <span style="color: #ff0000;">ogr_no</span> değerini kullanıcıdan alır.Ve bu numaraya eşit olan ogrenciyi siler (tüm bilgileriyle beraber)</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #ff0000;">İş Katmanı</span></strong></h3>
<p style="text-align: justify;">Bu katman, veritabanı ile arayüz arasında etkileşimi sağlar.Biz bunları <span style="color: #ff0000;"><strong>sınıflar</strong></span> ile yaparız.Bunun için iyi derecede <span style="color: #ff0000;">Nesneye yönelik programlama</span> bilmeniz gerekir.Bu katman sayesinde hataları kısa sürede bulabiliriz ve yazacağımız  kod satırları ile 2 katmanı birbirine bağlayabiliriz.Bu 3 katmanlı mimaride, sunum katmanına ise <span style="text-decoration: underline;">en az yükü</span> bırakırız.En önemlisi de budur</p>
<p style="text-align: justify;">Dediğimiz gibi bu katman için <strong><span style="color: #ff0000;">sınıflar</span></strong> oluşturmamız gerekir.Bu sınıflar, stored procedure&#8217;e değerler gönderir.Şimdi <span style="color: #ff0000;">Visual Studio</span> üzerinde <span style="color: #ff0000;">Solution Explorer</span>&#8216;de bulunan projemize sağ tıklayarak <span style="color: #ff6600;">Add New İtem</span> diyelim bir <span style="color: #ff6600;">Class</span> ekleyelim</p>
<p><span style="color: #333333;">Eklediğimiz class&#8217;a <span style="color: #ff0000;">veri ekle</span> diyelim ve aşağıdaki kodları yazalım</span></p><pre class="crayon-plain-tag">public class veriekle
{
 public string ogrenciAd, ogrenciSoyad, ogrenciBolum, ogrenciSinif;
 public void veriekleme()
 {
  SqlConnection con = new SqlConnection("Data source=.;Initial Catalog=ogrenci;Integrated Security=SSPI");
  con.Open();
  SqlCommand cmd = new SqlCommand();
  SqlParameter prm1 = new SqlParameter("@ogr_ad", SqlDbType.NVarChar, 30);
  SqlParameter prm2 = new SqlParameter("@ogr_soyad", SqlDbType.NVarChar, 30);
  SqlParameter prm3 = new SqlParameter("@ogr_bolum", SqlDbType.NVarChar, 50);
  SqlParameter prm4 = new SqlParameter("@ogr_sinif", SqlDbType.NVarChar, 10);
  prm1.Value = ogrenciAd;
  prm2.Value = ogrenciSoyad;
  prm3.Value = ogrenciBolum;
  prm4.Value = ogrenciSinif;
  cmd.Parameters.Add(prm1);
  cmd.Parameters.Add(prm2);
  cmd.Parameters.Add(prm3);
  cmd.Parameters.Add(prm4);
  cmd.CommandType = CommandType.StoredProcedure;
  cmd.CommandText = "ekleme";
  cmd.Connection = con;
  cmd.ExecuteNonQuery();
  con.Close();
 }
}</pre><p>
<span style="color: #ff0000;">verisil</span> adında aynı şekilde bir sınıf daha oluşturuyoruz ve aşağıdaki kodları sınıfın içerisine yazıyoruz</p><pre class="crayon-plain-tag">public class verisil
{
 public int ogrenciNo;
 public void verisilme()
 {
  SqlConnection con = new SqlConnection("Data source=.;Initial Catalog=ogrenci;Integrated Security=SSPI");
  con.Open();
  SqlCommand cmd = new SqlCommand();
  SqlParameter prm1 = new SqlParameter("@ogrenci_no", SqlDbType.Int);
  prm1.Value = Convert.ToInt32(ogrenciNo);
  cmd.Parameters.Add(prm1);
  cmd.CommandType = CommandType.StoredProcedure;
  cmd.CommandText = "silme";
  cmd.Connection = con;
  cmd.ExecuteNonQuery();
  con.Close();
 }
}</pre><p>
Görüldüğü gibi iş katmanı, <span style="text-decoration: underline;">aldığı değerleri işler ve veritabanındaki stored procedurlere</span> gönderir.Bu katman, yazılımlar için çok önemli göreve sahiptir.İş katmanında, <span style="color: #ff0000;">class&#8217;</span>larımızı da oluşturduktan sonra sıra geldi <span style="color: #ff0000;">sunum </span>katmanına.En basit katman burasıdır ve kod olarak fazla yüklenilmemesi gerekir.Yapacağımız örnekte, kod kısmına sadece birkaç satır yazacağız</p>
<p>&nbsp;</p>
<h3><strong><span style="color: #ff0000;">Sunum Katmanı</span></strong></h3>
<h3><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/06/3-katmanlı-mimari-2.png" alt="3 katmanlı mimari" /></h3>
<p><span style="color: #ff0000;">Ekle</span> butonumuzun <span style="color: #ff0000;">c</span><span style="color: #ff0000;">lick</span> olayına şunları yazalım;</p><pre class="crayon-plain-tag">protected void Button1_Click(object sender, EventArgs e)
{
 veriekle yeniogrenci = new veriekle();
 yeniogrenci.ogrenciAd = TextBox2.Text;
 yeniogrenci.ogrenciSoyad = TextBox3.Text;
 yeniogrenci.ogrenciBolum = TextBox4.Text;
 yeniogrenci.ogrenciSinif = TextBox5.Text;
 yeniogrenci.veriekleme();
}</pre><p>
<span style="font-family: 'Courier New';"><span style="color: #ff0000;">Sil</span> butonumuzun <span style="color: #ff0000;">click</span> olayına ise şu kodları yazalım;<br />
</span></p><pre class="crayon-plain-tag">protected void Button2_Click(object sender, EventArgs e)
{
 verisil silinen = new verisil();
 silinen.ogrenciNo = Convert.ToInt32(TextBox1.Text);
 silinen.verisilme();
}</pre><p>
<strong><span style="font-family: 'Courier New'; color: #ff0000;">Yapacağımız yazılımları bu mantığı kullanarak yaparsak, oluşacak hataları kolay sezeriz ve parçala yönet sistemi ile de hızlıca hataları bulabiliriz </span></strong></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-ile-3-katmanli-mimari/">Asp.NET ile 3 Katmanlı Mimari</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/asp-net-ile-3-katmanli-mimari/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Asp.Net Durum Yönetimi</title>
		<link>https://www.mehmetkirazli.com/asp-net-durum-yonetimi/</link>
					<comments>https://www.mehmetkirazli.com/asp-net-durum-yonetimi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Sat, 26 May 2012 15:25:53 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[asp.net durum yönetimi]]></category>
		<category><![CDATA[asp.net session kullanımı]]></category>
		<category><![CDATA[cookie]]></category>
		<category><![CDATA[cookine nedir]]></category>
		<category><![CDATA[hidden form field]]></category>
		<category><![CDATA[httpcookie]]></category>
		<category><![CDATA[querystring]]></category>
		<category><![CDATA[session kullanımı]]></category>
		<category><![CDATA[viewstate]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=515</guid>

					<description><![CDATA[<p>  Web sayfalarında sayfa ile server arasındaki iletişim ,  HTTP protokolü ile gerçekleştirilir. Bu protokolde sunucuya gönderdiğimiz bilgiler, kendi bilgisayarımızda kalıcı değildir. Biz bir istek gönderdiğimizde sunucuda sayfamızın bir örneği oluşturulur. Gönderdiğimiz bilgiler sunucuya gider ve orada işlenir. İşlendikten sonra sayfanın örneği, sunucudan silinir.Bu gönderdiğimiz verilere tekrar erişebilmek ve bunları taşıyabilmek için durum yönetimi kontrolleri geliştirilmiştir. &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-durum-yonetimi/">Asp.Net Durum Yönetimi</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">  Web sayfalarında sayfa ile server arasındaki iletişim ,  HTTP protokolü ile gerçekleştirilir. Bu protokolde sunucuya gönderdiğimiz bilgiler, kendi bilgisayarımızda kalıcı değildir.<span id="more-515"></span></p>
<p style="text-align: justify;">Biz bir istek gönderdiğimizde sunucuda sayfamızın bir örneği oluşturulur. Gönderdiğimiz bilgiler sunucuya gider ve orada işlenir. İşlendikten sonra sayfanın örneği, sunucudan silinir.Bu gönderdiğimiz verilere tekrar erişebilmek ve bunları taşıyabilmek için durum yönetimi kontrolleri geliştirilmiştir.</p>
<p style="text-align: justify;">  Yazdığımız masaüstü programlarda global değişkenler tanımlayarak, istediğimiz yerlerde atadığımız bilgilere erişebiliyorduk. Durum kontrolleri, masaüstü programlamadaki global değişkenlerin görevini üstlenir</p>
<p style="text-align: justify;">  Bu bilgiler istemci ve sunucu tarafında saklanabilir. Eğer istemci tabanlı durum yönetimlerini kullanırsak her istemci için sunucuda bir yer ayrılır. Bu sayfanın kullanıcısı çok olursa, bu bilgilerin server tarafında tutulması zorlaşacak ve belki de sunucu isteklere yanıt veremeyecektir. Ayrıca istemci taraflı kontrolleri kullanırsak güvenlik açısından sıkıntı oluşturur. Eğer Sunucu taraflı kontrolleri kullanırsak bu güvenlik sorunu en aza iner. Şimdi bu durum yönetimlerini inceleyelim;</p>
<p>&nbsp;</p>
<h4><strong> <span style="color: #ff0000;"> İstemci tabanlı durum yönetimleri;</span></strong></h4>
<ul>
<li>View State</li>
<li>Hidden Form Field</li>
<li>Cookie</li>
<li>Query String</li>
</ul>
<p>&nbsp;</p>
<h3><strong style="text-align: justify;">VİEWSTATE</strong></h3>
<p style="text-align: justify;"><span style="text-align: justify;">     ViewState nesnesi ASP.NET’te form düzeyinde verileri saklamak için kullanılır.Yani Sayfa geçişleri arasında verileri saklamak için kullanılır.Asp dilinde kod yazarken postback işlemi sonrasında veriler kayboluyordu.Bunun önüne geçmek için <span style="color: #ff0000;">viewstate</span> nesnesi kullanılmaya başlandı.Bu sayede sayfa postback olduğunda verilerin, form üzerinde saklanması sağlandı.Kısaca açıklayacak olursak tarayıcı ve sunucu arasında bilgi alışverişi yapar.Sunucuya gönderilen değerler viewstate içinde saklanır ve tarayıcıya dönen değerler, viewstate içerisine depo edilerek gönderilir.</span>Bu nesnenin olumsuz yönü,biliçsiz kullanıldığında kontrolün içi şişer ve performansı azalır</p>
<p style="text-align: justify;">  Bu kontrolün <span style="color: #008000;">EnableViewState</span> özelliği ile kontrolün özelliklerinin ViewState içerisinde taşınılıp taşınılmayacağı belirlenir ve varsayılan değeri <span style="color: #ff0000;">true</span> dur.Bu durumda sayfa postback olduğunda verilerimiz viewstate içerisinde saklanır.Bunu<span style="color: #ff0000;"> false</span> olarak ayarlarsak veriler viewstate içerisinde taşınmaz.Bu özellik,sayfanın load olayında false edilmek istenirse;</p>
<p><span style="color: #ff0000;">Page.EnableViewState = false;</span> olarak ayarlanmalıdır</p>
<p>Eğer uygulama düzeyince kapatmak istiyorsak <span style="color: #008000;">web.config</span> dosyasında <span style="color: #008000;">&lt;system.web&gt;</span> altında <span style="color: #ff0000;">&lt;pages enableviewstate=&#8221;false&#8221;&gt; &lt;/pages&gt;</span> yapılarak kapatılabilir.</p>
<h3><strong>QUERYSTRİNG</strong></h3>
<p style="text-align: justify;">    QueryString ile taşınacak olan veri,<span style="color: #ff0000;">URL</span> aracılığı ile diğer sayfalara taşınabilir. Taşınacak veriler, sayfanın adı yazıldıktan sonra <span style="color: #ff0000;"><strong>? </strong></span>işareti ile başlayan kısımda <span style="color: #ff0000;">anahtar-değer</span> şeklinde taşınmaktadır. Bu yöntem kullanım kolaylığı ve sunucuya getirdiği yükün az olması nedeni ile pek çok yazılımcının tercihi olmaktadır ve hemen hemen her site bu yöntemi kullanmaktadır.Fakat <span style="color: #ff0000;">QueryString</span> ile taşınan veriler kullanıcılar tarafından görüntülenebilmektedir ve dolayısıyla bir güvenlik açığı oluşturmaktadır. Kullanıcılar, bu verileri istedikleri şekilde değiştirip yönlendirilen forma farklı veriler gönderip farklı işlemler yapılmasını sağlayabilirler. Bu sorunu aşmak için veriler bir şekilde şifrelenerek gönderilse bile sonuçta verinin şifrelenmiş halini kullanıcılar görebileceklerdir. Bir takım yöntemlerle kullanılan şifreleme algoritması çözülüp yeniden şifrelenerek yine farklı bir veri gönderilebilir.Dolayısıyla, <span style="color: #ff0000;">QueryString’e</span> çok fazla güvenip çok önemli veriler taşımamak gerekir</p>
<p>Örnek verirsek ;</p><pre class="crayon-plain-tag">protected void Button1_Click(object sender, EventArgs e)
{
   Response.Redirect("Sayfa2.aspx?veri1=Mehmet&amp;veri2=Kirazlı");
}</pre><p>
</p><pre class="crayon-plain-tag">protected void Page_Load(object sender, EventArgs e)
{
   string metin= Request.QueryString["veri1"];
   string metin2 = Request.QueryString["veri2"];
   Response.Write(metin + "  " + metin2);
}</pre><p>
<p style="text-align: justify;">  Burada butona tıklandığında <span style="color: #ff0000;">Response.Redirect</span> içerisinde bulunan <span style="color: #ff0000;">veri1</span> ve <span style="color: #ff0000;">veri2</span> değişkenlerindeki bilgileri <span style="color: #008000;">sayfa2</span> ye yollar<span style="color: #008000;">.Sayfa2</span>.nin load olayında ise bu bilgiler alınarak değişkenlere atılır ve ekrana yazılır.<span style="color: #008000;">Sayfa1</span> de gönderilcek 2 parametre birbirinden <span style="color: #ff0000;">&amp;</span> simgesi ile ayrılır.Sayfa2 de veriler, <span style="color: #ff0000;">Request.QueryString</span> ile alınır.</p>
<h3><strong> COOKİE(ÇEREZLER)</strong></h3>
<p style="text-align: justify;">    İstemci bilgisayarda saklanan, kullanıcı bilgilerinden oluşan <span style="color: #ff0000;">.txt</span> uzantılı dosyalardır<span style="color: #ff0000;">.Cookie</span> adlı dizin altında tutulurlar.eğer kullanıcı isterse çerezlerin bilgisayarında saklanmasını engelleyebilir.Çerezler, genelde <span style="color: #ff0000;">4096</span> byttır.Cookie&#8217;lerin kullanıcı bilgisayarında ne kadar süre saklanacağı da belirtilebilir. Cookie nesnesinin en önemli avantajlarından biri uzun süre istemcinin bilgisayarında taşınabileceği için farklı zamanlarda erişilebilir olmasıdır.Asp.Nette Cookie ler <span style="color: #ff0000;">HttpCookies</span> sınıfından türetilirler.<span style="color: #ff0000;">HttpCookies</span> sınıfından oluşturulacak nesne örneği üzerinden istemcinin bilgisayarına Cookie bilgilerinin yazılması, okunması ve bu bilgilerin ne kadar süre boyunca aktif tutulacağı gibi işlemlerin yapılması sağlanabilir</p>
<p>Şimdi web sayfamızda tasarımı şu şekilde yapalım;<br />
<img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/cookies.jpg" alt="cookie" /></p>
<p><span style="color: #ff0000;">Cookie&#8217;e</span> at butonuna tıklayınca textbox&#8217;a girilen veriyi <span style="text-decoration: underline;">cookie &#8216; ye atar</span> ve <span style="color: #ff0000;">oku</span> okutonuna basılınca Label üzerinde gösterir</p><pre class="crayon-plain-tag">protected void Button1_Click(object sender, EventArgs e)
 {
  HttpCookie cerez = new HttpCookie("Cookie");
  cerez["ad"] = TextBox1.Text;
  cerez.Expires = DateTime.Now.AddDays(1);
  Response.Cookies.Add(cerez);
 }
protected void Button2_Click(object sender, EventArgs e)
 {
  HttpCookie cerezOku = Request.Cookies["Cookie"];
  Label1.Text = cerezOku["ad"];
 }</pre><p>
Buraki kodların birkaçını açıklayalım;</p>
<p><span style="color: #ff0000;">cerez[&#8220;ad&#8221;] = TextBox1.Text;</span> =&gt;ad ismindeki Cookie anahtarına girilen değer atar<br />
<span style="color: #ff0000;">cerez.Expires = DateTime.Now.AddDays(1);</span> =&gt;Cookie nesnesinin 1 gün boyunca geçerli olacağını belirtir<br />
<span style="color: #ff0000;">Response.Cookies.Add(cerez);</span>  =&gt; cerez içerisinde taşınan değerlerin bir Cookie olarak istemcinin bilgisayarına<br />
eklenmesini sağlar</p>
<p>Çıktı ise şu şekilde olur;<br />
<img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/cookie2.jpg" alt="cookies" /></p>
<p>&nbsp;</p>
<p><strong><span style="color: #ff0000;">Sunucu</span> <span style="color: #ff0000;">tabanlı durum yönetimleri;</span></strong></p>
<ul>
<li>Session</li>
<li>Application State</li>
</ul>
<h3><strong>SESSION (OTURUM)</strong></h3>
<p style="text-align: justify;">   Sunucudan bir sayfa talep edildiğinde, web sunucusu <span style="text-decoration: underline;">her kullanıcı için</span> bir oturum başlatır. Session nesneleri ile kullanıcı bilgilerini oturum boyunca sayfalar arasında taşıyabiliriz. <span style="color: #ff0000;">Örneğin</span> alışveriş sitelerinde sepete eklenenleri session ile sayfalar arasında taşıyabiliriz.Sessionda taşınan veriler  tüm sayfalardan erişilebilir.Yine alışveriş sitelerinde oturum kapatıldığında bu veriler silinir.Yani session nesnesinde saklanan veriler,sayfa kapatıldığında sona erer.Session daki veriler server tarafında tutulduğu için kullanıcı siteyi terk ettiğinde Session’daki bilgilerin temizlenmesi isteniyorsa <span style="text-decoration: underline;">muhakkak oturum sonlandırılmalıdır</span>.Session içerisinde çok kritik veriler saklanabilmektedir ve bu sebeple Session mutlaka sonlandırılmalıdır.</p>
<p>    <span style="color: #ff0000;">Session</span>; oturum zaman aşımına uğradığında, kullanıcı pencereyi kapattığında, kullanıcı oturumu kapattığında <span style="text-decoration: underline;">sonlanır</span></p>
<p style="text-align: justify;">  ASP.NET’te her kullanıcı için oturum başlatılır.Aynı bilgisayarda bile olsa siteye erişen her tarayıcı penceresi için bir oturum başlatılır.Oturum açan her kullanıcı için <span style="color: #ff0000;">SessionID</span> üretilir.Sessionda saklanan değerler,istemciye gönderilmez sadece sessionID değeri gönderilir.Bu yüzden bu yöntemler arasında performansı en yüksek olanlardan biridir</p>
<p>  Session&#8217;da veri aktarma yöntemi,<span style="color: #008000;">viewstate</span> ile benzerlik gösterir.<span style="color: #ff0000;">Session[“keyAdi”]=deger</span> veya <span style="color: #ff0000;">Session.Add(“keyAdi”,deger)</span> ile session nesnesine değerler atanır.Veri okurken de <span style="color: #ff0000;">Session[“keyAdi”]</span> ile okuma yapılır</p>
<p>&nbsp;</p>
<h4><strong>Session Örnek</strong></h4>
<p style="text-align: justify;"><span style="color: #008000;">   Oturum kontrolü</span> üzerinde örneğimizi anlatalım.Sayfamız ilk yüklendiğinde eğer oturum açmış bir kullanıcı yoksa sadece <span style="color: #3366ff;">hoşgeldin</span> yazsın.Eğer oturum açan biri ise <span style="color: #3366ff;">hoşgeldin &#8221; kullanıcının ad ı&#8221;</span> yazsın.Bunun için<span style="color: #ff0000;"> Default.aspx</span> sayfamıza <span style="text-decoration: underline;">1 label</span> <span style="text-decoration: underline;">1 textbox</span> ve <span style="text-decoration: underline;">1 buton</span> ekliyoruz.Eğer oturumu açık olan biri giriş yaptıysa Label üzerinde <span style="color: #3366ff;">hoşgeldin &#8220;kullanıcı adı&#8221;</span> yazacak.Eğer yok ise Textbox&#8217;a kullanıcı adı girilecek ve<span style="color: #ff0000;"> oturum aç</span> butonuna basılınca <span style="color: #ff0000;">Profil.aspx</span> sayfasına gidilecek.O sayfada ise <span style="color: #3366ff;">Hoşgeldin Mehmet</span> tarzında bir mesaj verilecek ve oturum kapatılacak yani session nesnesinin içerisi temizlenecek.<span style="color: #ff0000;">Default.aspx</span> sayfasının Page_Load olayına aşağıdaki kodları yazalım;</p>
<pre class="crayon-plain-tag">protected void Page_Load(object sender, EventArgs e)
{
    if (Session["Kullanici"]==null)
    {
       Label1.Text = "Hoşgeldiniz";
    }
    else
    {
       Label1.Text = "Hoşgeldin" + Session["Kullanici"].ToString();
    }
}</pre>
Şimdi de Default.aspx sayfamızdaki Oturum aç butonunun Click olayına aşağıdaki kodu yazalım;<br />
<pre class="crayon-plain-tag">Session.Add("Kullanici", TextBox1.Text);
 Response.Redirect("Profil.aspx");</pre>
Son olarak da Profil.aspx sayfamızın load olayına şunları yazalım;<br />
<pre class="crayon-plain-tag">protected void Page_Load(object sender, EventArgs e)
 {
   if (Session["Kullanici"] == null)
   {
      Response.Redirect("Default.aspx");
   }
   else
   {
      Response.Write("hoşgeldin " + Session["Kullanici"]);
      Session.Abandon();
   }
}</pre>
<p style="text-align: justify;">    Buradaki kodları şimdi anlatalım.İlk olarak <span style="color: #ff0000;">Default.aspx</span> sayfamız çalışacağı için ve burada hali hazırda bir kullanıcı oturumu olmadığı için sadece <span style="color: #008000;">Hoşgeldin</span> yazısı çıkacaktır.Textbox&#8217;a <span style="color: #008000;">Mehmet</span> yazısını yazıp oturum aç&#8217;a tıklayınca <span style="color: #ff0000;">Profil.aspx</span> sayfasına gidecek ve bu sayfanın Page_Load olayında oturum açmış bir kullanıcı olduğu için<strong><span style="color: #ff0000;"> else</span></strong> kısmına girecek ve ekrana <span style="color: #008000;">Hoşgeldin Mehmet</span> yazısını yazacaktır.Mehmet ismi ise <span style="color: #ff0000;">Session[Kullanici]</span> nesnesi ile taşınıyor.Daha sonra bu session&#8217;u <span style="color: #ff0000;">Session.Abandon();</span> ile kapatıyoruz.Çünkü proje tekrar çalıştırıldığında oturum açmış bir kullanıcı olacaktır.Biz örneğimizde bunun olmasını istemiyoruz</p>
<h3><strong>APPLICATION STATE</strong></h3>
<p style="text-align: justify;">   Sitenin genelini ilgilendiren bilgilerin tutulabildiği nesne Application nesnesidir. Application nesnesi global bir değişken gibi düşünülebilir. Siteye erişen her kullanıcı aynı bilgileri görüp değiştirebilmektedir. Application nesnesinde de veri saklanırken, tıpkı Session ve ViewState nesnelerinde olduğu gibi anahtar-değer çiftleri kullanılır. Session ve ViewState nesnelerinde her anahtarda tutulan değer kullanıcıya özgü bir değerken, Application nesnesinde tutulan değer tüm kullanıcılar için ortak olmaktadır.Application nesnesine veri eklerken <span style="color: #ff0000;">Application.Add(&#8220;key&#8221;, &#8220;deger&#8221;)</span> ya da <span style="color: #ff0000;">Application[&#8220;key&#8221;] = &#8220;deger&#8221;</span> sözdizimi kullanılırken, Application nesnesinden veri okumak için <span style="color: #ff0000;">Application[&#8220;key&#8221;]</span> sözdizimi kullanılmaktadır</p>
<p style="text-align: justify;">  <span style="color: #ff0000;">Global.asax</span> dosyasında 5 adet olay yakalayıcı metod bulunur.Bu metodlar,yanındaki olaylar olduğunda tetiklenir</p>
<p><span style="color: #008000;">Application_Start</span> =&gt;Uygulama ilk defa çalıştırılırken tetiklenir<br />
<span style="color: #008000;">Application_End</span> =&gt;Uygulama bilinçli bir şekilde kapatılırken tetiklenir<br />
<span style="color: #008000;">Application_Error</span> =&gt;Uygulamada bir hata oluştuğunda tetiklenir<br />
<span style="color: #008000;">Session_Start</span> =&gt;Web sitesinde yeni bir oturum açıldığında tetiklenir<br />
<span style="color: #008000;">Session_End</span> =&gt;Web sitesinde bir oturum sonlandığında tetiklenir</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-durum-yonetimi/">Asp.Net Durum Yönetimi</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/asp-net-durum-yonetimi/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Asp.Net Veritabanı Bağlantısı</title>
		<link>https://www.mehmetkirazli.com/asp-net-veritabani-baglantisi/</link>
					<comments>https://www.mehmetkirazli.com/asp-net-veritabani-baglantisi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 16 May 2012 12:25:58 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[asp.net veritabanı]]></category>
		<category><![CDATA[asp.net veritabanı bağlantısı]]></category>
		<category><![CDATA[asp.net veritabanı işlemleri]]></category>
		<category><![CDATA[connectionstrings]]></category>
		<category><![CDATA[visual studio veritabanı ekleme]]></category>
		<category><![CDATA[web.config]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=478</guid>

					<description><![CDATA[<p>  Hazırlayacağımız projeler için ilk olarak veritabanı kısmı hazırlanmalıdır.Bu, ileride projenizin gidişatı açısından önem taşımaktadır.Veritabanı hazırlanmadan projeye başlanırsa zaman kaybı yaşanır. Bu yazımda Asp.Net dilinde veritabanı bağlantısı nasıl yapılır konusuna değineceğim. İlk olarak Visual Studio içerisine veritabanı nasıl eklenir onu anlatayım.     Visual Studio İçerisine Veritabanı Ekleme   Visual Studio da yeni bir web &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-veritabani-baglantisi/">Asp.Net Veritabanı Bağlantısı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">  <span style="color: #000000;">Hazırlayacağımız projeler için ilk olarak veritabanı kısmı hazırlanmalıdır.Bu, ileride projenizin gidişatı açısından önem taşımaktadır.Veritabanı hazırlanmadan projeye başlanırsa zaman kaybı yaşanır. Bu yazımda Asp.Net dilinde veritabanı bağlantısı nasıl yapılır konusuna değineceğim. İlk olarak Visual Studio içerisine veritabanı nasıl eklenir onu anlatayım.</span><span id="more-478"></span></p>
<h4 style="text-align: justify;">  <strong>  <span style="color: #ff0000;">Visual Studio İçerisine Veritabanı Ekleme</span></strong></h4>
<p style="text-align: justify;"><span style="color: #000000;">  Visual Studio da yeni bir web site veya bir project oluşturduğumuzda sol tarafta <span style="color: #008000;">Server Explorer</span> bulunmaktadır.Eğer yoksa <span style="color: #ff0000;">View</span> Menüsünden açabilirsiniz.Daha sonra Server Explorer üzerinde <span style="color: #008000;">DataConnection</span>&#8216;a sağ tıklayarak <span style="color: #008000;">Add Connection</span>&#8216; geliyoruz</span></p>
<p style="text-align: justify;"><span style="color: #000000;">  Çıkan sayfada <span style="color: #008000;">Server Name</span> kısmına <span style="color: #008000;">.</span> koyuyoruz (kendi bilgisayarımızda çalışmak için)</span></p>
<p style="text-align: justify;"><span style="color: #000000;"><span style="color: #008000;">  Select or enter a database</span> name kısmına ise bir veritabanı adı giriyoruz veya SQLSERVER üzerinde hazır bulunan veritabanlarından birisini seçiyoruz ve OK butonuna basıyoruz. Böylece veritabanımız projemize eklenmiş oluyor. Yine Server Explorer üzerine gelen veritabanımızda <span style="color: #008000;">Tables</span>&#8216;a sağ tıklayıp <span style="color: #008000;">Add New Table</span> diyerek tablolar ekleyebilir , eklediğimiz tablolara sağ tıklayıp <span style="color: #008000;">Show Table Data</span> diyerek tablo içerisine veri girebiliriz</span></p>
<p style="text-align: justify;"><strong><span style="color: #ff0000;">Şimdi ise aşağıdaki adımları takip edelim;</span></strong></p>
<p style="text-align: justify;"><span style="color: #000000;">   Projemizde oluşturacağımız veritabanı için bir bağlantı gerekiyor.Bunun için birçok yol var.Fakat bunun en hızlı ve verimli olanını anlatacağım.Bu da, oluşturacağımız</span> <span style="color: #ff0000;">web.config</span> <span style="color: #000000;">dosyası içerisine bağlantı satırlarını yazmak ile oluyor</span></p>
<p style="text-align: justify;">   <span style="color: #000000;">İlk olarak projemizde eğer yoksa bir</span> <span style="color: #ff0000;">web.config</span><span style="color: #000000;"> dosyası oluşturalım.Web.config içerisinde</span> <span style="color: #ff0000;">&lt;configuration&gt;</span> <span style="color: #000000;">tagından sonra</span></p>
<p style="text-align: justify;"><span style="color: #ff0000;">&lt;connectionStrings&gt; &#8230;.   &lt;/connectionStrings&gt;</span>   <span style="color: #000000;">tagları arasına aşağıdaki gibi kullanacağımız veritabanı bağlantı satırlarını ekleyelim ;</span></p>
<pre class="crayon-plain-tag">&lt;add name="Veritabani"  connectionString="  Data Source=.;   Initial Catalog=veritabaniAdi;</pre>
<pre class="crayon-plain-tag">User ID=kullaniciAdi;  Password=kullaniciSifresi"  providerName="System.Data.SqlClient"/&gt;</pre>
<span style="color: #000000;">Öncelikle burada adı geçen bağlantı stringlerinin ne anlama geldiğini açıklayalım;</span></p>
<ul>
<li><span style="color: #ff0000;">Veritabani</span> : <span style="color: #000000;">Herhangi bir isim verebilirsiniz.Projemizde, veritabanı bağlantılarımızı bu isimle çağıracağız</span></li>
<li><span style="color: #ff0000;">Data Source</span> : <span style="color: #000000;">Buraya veritabanımızın bulunduğu server yazılır.Eğer kendi bilgisayarımızda çalışıyorsak  . (nokta) koyulur.Herhangi bir bilgisayardaki veritabanını kullanacaksak buraya, o bilgisayarın ip adresi yazılır</span></li>
<li><span style="color: #ff0000;">Initial Catalog</span> : <span style="color: #000000;">Buraya veritabanımızın ismi yazılır</span></li>
<li><span style="color: #ff0000;">User ID</span> : <span style="color: #000000;">Bu kısma bağlantı izni olacak olan kullanıcı adı yazılır</span></li>
<li><span style="color: #ff0000;">Password</span> : <span style="color: #000000;">Bu kısma bağlantı izni olacak olan kullanıcının şifresi yazılır</span></li>
<li><span style="color: #ff0000;">Provider Name</span> : <span style="color: #000000;">Bu kısımda ise kullanacağımız veritabanının</span> <span style="color: #008000;">SQLSERVER</span> <span style="color: #000000;">olduğu belirtilir</span></li>
</ul>
<p><span style="color: #000000;">  Web.config dosyasına bunları ekledikten sonra bu dosyamızın son hali aşağıdaki gibi olacaktır.</span></p>
<h4><strong>Ekran Görüntüsü</strong></h4>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/webconfig1.jpg" alt="veritabanibaglantisi" /></p>
<p style="text-align: justify;"><span style="color: #000000;">   Şimdi ise projemiz içerisinde bu veritabanı bağlantımızı çağıracağız.Bunun için, hangi sayfada çağıracaksak o sayfa için</span> <strong><span style="color: #008000;">using</span> <span style="color: #008000;">System.Data.SqlClient;</span> </strong><span style="color: #000000;">kütüphanesini eklememiz gerekiyor.Bilmeyenler için bunun sayfanın en üstünde bulunduğunu hatırlatalım.Ekledikten sonra veritabanı bağlantısı yapacağımız yerlerde aşağıdaki sözdizimini kullanacağız;</span></p>
<pre class="crayon-plain-tag">SqlConnection baglanti= new SqlConnection (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString);</pre>
<span style="color: #000000;">     Bu söz diziminde</span> <span style="color: #ff0000;">baglanti</span> <span style="color: #000000;">adında bir baglantı nesnesi oluşturduk ve gereken bağlantı sözcüklerini yazdık.Şimdi ise bu kurduğumuz bağlantıyı açmaya geldi.Bunun için de ;</span> <span style="color: #ff0000;">baglanti.Open();</span>  <span style="color: #000000;">yaparak veritabanımız ile bağlantımızı kuruyoruz</span></p>
<p><strong><span style="color: #ff0000;">Şimdi bu anlattıklarımı örnekleyelim;</span></strong></p>
<p><span style="color: #000000;">     Visual studio üzerinde yeni bir <span style="color: #008000;">Empty Web Site</span> oluşturuyoruz.Yukarıda anlattığımız gibi de bir veritabanı oluşturup projemize ekliyoruz daha sonra <span style="color: #008000;">Web.config</span> dosyasını aşağıdaki gibi düzenliyoruz;</span></p><pre class="crayon-plain-tag">&lt;?xml version="1.0"?&gt;
&lt;!--
 For more information on how to configure your ASP.NET application, please visit
 http://go.microsoft.com/fwlink/?LinkId=169433
 --&gt;
&lt;configuration&gt;
 &lt;connectionStrings&gt;
 &lt;add name="Veritabani" connectionString=" Data Source=.; Initial Catalog=deneme;
 Integrated Security=True;" providerName="System.Data.SqlClient"/&gt;
 &lt;/connectionStrings&gt;
 &lt;system.web&gt;
 &lt;compilation debug="true" targetFramework="4.0"/&gt;
 &lt;/system.web&gt;
&lt;/configuration&gt;</pre><p>
<span style="color: #000000;">Daha sonra</span> <span style="color: #ff0000;">Solution Explorer</span> <span style="color: #000000;">üzerinde projemize sağ tıklayarak</span> <span style="color: #ff0000;">Add New İtem</span> <span style="color: #000000;">&#8216; a tıklıyoruz.Buradan yeni bir</span> <span style="color: #ff0000;">webform</span> <span style="color: #000000;">oluşturuyoruz.Adı</span> <span style="color: #008000;">Default.aspx</span> <span style="color: #000000;">olarak kalsın.Default.aspx sayfasının yanındaki küçük ok&#8217;a tıklıyoruz ve kod sayfasına geçiyoruz.Kod sayfasına ise aşağıdaki kodları yazalım;</span></p><pre class="crayon-plain-tag">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
  public partial class _Default : System.Web.UI.Page
  {
   SqlConnection baglanti = new SqlConnection
   (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString);
   SqlCommand komut = new SqlCommand();
   SqlDataReader dr;
   protected void goster(string tablo)
   {
     komut.CommandText = "select * from " + tablo;
     komut.Connection = baglanti;
     baglanti.Open();
     dr = komut.ExecuteReader();
     GridView1.DataSource = dr;
     GridView1.DataBind();
     baglanti.Close();
   }
 protected void Page_Load(object sender, EventArgs e)
 {
   goster("kisi");
 }
}</pre><p>
<h4><strong>Kodun Açıklaması :</strong></h4>
<p><span style="color: #000000;">Şimdi yazdığımız bu kodları açıklayalım;</span></p><pre class="crayon-plain-tag">SqlConnection baglanti = new SqlConnection (System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Veritabani"].ConnectionString);</pre><p>
<span style="color: #000000;">SqlConnection tipinde baglanti adında bir nesne oluşturuyoruz.Bu nesne veritabanına bağlantıyı sağlar.En sağdaki parantezler içine ise  öğrendiğimiz bağlantı sözcüğümüzü yazıyoruz</span></p><pre class="crayon-plain-tag">SqlCommand komut = new SqlCommand();</pre><p>
<span style="color: #000000;">SqlCommand tipinde komut adında bir nesne oluşturuldu. Bu nesne üzerinden komutlarımızı çalıştıracağız</span><span style="color: #000000;">. </span></p><pre class="crayon-plain-tag">komut.CommandText = "select * from " + tablo; komut.Connection = baglanti;</pre><p>
<span style="color: #000000;">K</span><span style="color: #000000;">omut nesnemizin commandtext özelliğine, veritabanımızdan bütün kayıtları getirecek sorgumuzu yazıyoruz</span> <span style="color: #000000;">connection özelliğine ise kullanacağımız Connection nesnemizi yazıyoruz</span></p><pre class="crayon-plain-tag">SqlDataReader dr;</pre><p>
<span style="color: #000000;">Veritabanından çektiğimiz kayıtları okumak için bir değişken oluşturuldu</span></p><pre class="crayon-plain-tag">dr = komut.ExecuteReader();</pre><p>
<span style="color: #000000;">Burada komut nesnemiz çalıştırıldı. Veritabanımızdan gelen bütün kayıtlar dr değişkenine atandı</span></p><pre class="crayon-plain-tag">GridView1.DataSource = dr; GridView1.DataBind();</pre><p>
<span style="color: #000000;">Bu satırlarda ise Default.aspx sayfamıza eklediğimiz grid için bir kaynak belirtildi (dr) . Ve Grid, DataBind ile bağlandı.</span></p><pre class="crayon-plain-tag">goster("kisi");</pre><p>
<span style="color: #000000;">Sayfamızın Load olayına yazdığımız bu fonksiyon, doğrudan bağlantıyı sağlar.</span></p>
<p>Basit bir örnekle basitçe anlatmaya çalıştım. Kusurumuz varsa affola&#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-veritabani-baglantisi/">Asp.Net Veritabanı Bağlantısı</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/asp-net-veritabani-baglantisi/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title>Asp.Net Dosya ve Klasör Tipleri</title>
		<link>https://www.mehmetkirazli.com/asp-net-dosya-ve-klasor-tipleri/</link>
					<comments>https://www.mehmetkirazli.com/asp-net-dosya-ve-klasor-tipleri/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 09 May 2012 14:20:41 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[.asax]]></category>
		<category><![CDATA[.ascx]]></category>
		<category><![CDATA[.asmx]]></category>
		<category><![CDATA[.aspx]]></category>
		<category><![CDATA[.dll]]></category>
		<category><![CDATA[.skin]]></category>
		<category><![CDATA[asp.net dosya tipleri]]></category>
		<category><![CDATA[asp.net dosya türleri]]></category>
		<category><![CDATA[asp.net dosya ve klasör tipleri]]></category>
		<category><![CDATA[Asp.net masterpage]]></category>
		<category><![CDATA[global.asax]]></category>
		<category><![CDATA[localization]]></category>
		<category><![CDATA[sitemap]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=447</guid>

					<description><![CDATA[<p>      Visual Studio üzerinde bir Asp.Net projesi oluşturduğumuzda Sağ tarafta yer alan Solution Explorer içerisinde, projede yer alan dosyalar bulunur ve bunların kendine özel uzantıları vardır.Bu makalemizde Asp.Net&#8217;de bu dosya ve klasör tipleri konusunu, bunların uzantılarını inceleyeceğiz.     Asp.Net Dosya Tipleri .aspx   =&#62; HTML kodlarını, sunucu kontrollerini ve kullanıcı kontrollerini içerir.Metin tabanlı &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-dosya-ve-klasor-tipleri/">Asp.Net Dosya ve Klasör Tipleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #000000;">      Visual Studio üzerinde bir Asp.Net projesi oluşturduğumuzda Sağ tarafta yer alan Solution Explorer içerisinde, projede yer alan dosyalar bulunur ve bunların kendine özel uzantıları vardır.Bu makalemizde Asp.Net&#8217;de bu dosya ve klasör tipleri konusunu, bunların uzantılarını inceleyeceğiz.</span><span id="more-447"></span></p>
<h3><span style="color: #ff0000;"><strong>    Asp.Net Dosya Tipleri</strong></span></h3>
<p><span style="color: #000000;"><span style="color: #3366ff;">.aspx</span>   <strong><span style="color: #ff0000;">=&gt;</span></strong> HTML kodlarını, sunucu kontrollerini ve kullanıcı kontrollerini içerir.Metin tabanlı bir dosya biçimidir. Temel işlemlerin yapılacağı ve kullanıcıların görüntüleyebileceği dosyalardır.Web formlarının hazırlandığı dosya tipidir. HTML kısmında sayfa içerisindeki içeriklerin nerede ve nasıl bulunacağı belirlenir. </span><span style="color: #008000;">&lt;script&gt;</span><span style="color: #000000;"> kısımları içerisinde  .NET ortamındaki herhangi bir dil ile kodlar yazılabilir</span></p>
<p><span style="color: #3366ff;">.ascx</span>   <strong><span style="color: #ff0000;">=&gt;</span></strong> <span style="color: #000000;">Yapısı bir aspx dosyası ile benzerdir.Web sayfaları içerisindeki kullanıcı kontrolü dosyalarıdır..aspx dosyalarında bulunan &lt;html&gt;, &lt;head&gt; ve &lt;body&gt; gibi HTML elementleri ascx dosyalarında yer almamalıdır. Bu dosyalar tek başlarına çalıştırılamazlar, sadece aspx veya master uzantılı dosyaların içinde bir kontrol olarak kullanılabilirler</span></p>
<p><span style="color: #3366ff;">.asax</span>   <strong><span style="color: #ff0000;"> =&gt;</span></strong> <span style="color: #000000;">Uygulamanın ilk başlaması, Uygulamada hata oluşması olayları gibi yakalamak için kullanır. Yakalanan olaya göre işlemler yapılmasını sağlar. Uygulamalarda varsayılan olarak Global.asax dosyası kullanılır.</span></p>
<p><span style="color: #3366ff;">.asmx</span>   <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Web servisleri dosyalarıdır. XML kullanan dosyalar için kullanılırlar</span>.</p>
<p><span style="color: #3366ff;">.vb</span>       <strong><span style="color: #ff0000;">=&gt;</span></strong> <span style="color: #000000;">Visual Basic.Net kod  sayfalarının uzantısı .vb dir. Bu dosyalar .aspx sayfalarının içerisinde bulunur</span></p>
<p><span style="color: #3366ff;">.cs</span>       <strong><span style="color: #ff0000;">=&gt;</span></strong> <span style="color: #000000;">C# kod  sayfalarının uzantısı .cs dir. Bu dosyalar .aspx sayfalarının içerisinde bulunur</span></p>
<p><span style="color: #3366ff;">.skin</span>     <span style="color: #ff0000;"><strong>=&gt;</strong></span> <span style="color: #000000;">Site görünümlerinin ayarlanabileceği stil dosyalarıdır. Bu dosyalar,</span><span style="color: #008000;"> App_Themes</span> <span style="color: #000000;">adındaki  klasör içerisine oluşturulan tema      klasörlerinde saklanır</span></p>
<p><span style="color: #3366ff;">.dll</span>       <strong><span style="color: #ff0000;">=&gt;</span></strong> <span style="color: #000000;">Derlenmiş kütüphane dosyalarıdır. Derlenmiş kütüphaneler Bin dosyalarında saklanır</span></p>
<p><span style="color: #3366ff;">.resx</span>    <span style="color: #ff0000;"><strong>=&gt; </strong></span><span style="color: #000000;">Site içerisindeki metin, ikon, resim içerikli dosyaları saklayan XML formatındaki dosyalardır.Farklı diller için uygulama geliştirirken bu kaynak  dosyası kullanılmaktadır</span></p>
<p><span style="color: #3366ff;">.master</span> <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Aspx sayfaları için temel şablon olarak kullanılan dosyalardır.Temel şablon sayfalarına MasterPage adı verilir</span></p>
<p><span style="color: #3366ff;">web.config</span>   <span style="color: #ff0000;"><strong>=&gt;</strong></span> <span style="color: #000000;">Projedeki genel ayarları içerir.Xml tabanlıdır.</span></p>
<p><span style="color: #3366ff;">sitemap</span>         <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Menü kontrollerinin çalışması için gerekli bilgileri içeren XML tabanlı dosyalardır</span></p>
<p><span style="color: #3366ff;">Global.asax</span>  <span style="color: #ff0000;"><strong>=&gt;</strong></span> <span style="color: #000000;">Application ve session   ile ilgili modülleri barındırır</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3><span style="color: #ff0000;"><strong>     Asp.Net Klasör Tipleri</strong></span></h3>
<p><span style="color: #3366ff;">Bin</span>  <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">İçerisinde web uygulamasında kullanılacak derlenmiş  dll dosyalarını bulundurur. Bir web sayfası çalışırken, sunucu ilk olarak bu klasör içerisindeki kod kütüphanelerine bakarak sayfaları arar</span></p>
<p><span style="color: #3366ff;">App_Code</span>  <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Derlenmemiş kod dosyalarını içerisinde tutar. Bu klasörde</span><span style="color: #000000;"> <span style="color: #008000;">.cs, .vb</span> </span><span style="color: #000000;">gibi sınıf ve kod dosyaları  bulunabilir. Çalışma zamanında bu klasördeki kodlar derlenir ve sonraki isteklerde derlenmiş kodlar çalıştırılır</span></p>
<p><span style="color: #3366ff;">App_Themes</span>  <strong><span style="color: #ff0000;">=&gt;</span></strong>  <span style="color: #000000;">Web uygulaması içerisinde kullanılacak temaları saklar. Bu temaların içerisinde de</span><span style="color: #000000;"> <span style="color: #008000;">.skin</span> ve <span style="color: #008000;">.css</span> </span><span style="color: #000000;">dosyaları bulunur</span></p>
<p><span style="color: #3366ff;">App_Data</span>  <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Uygulama kullanılacak olan SQL Server veritabanları</span><span style="color: #000000;"> <span style="color: #008000;">(mdf)</span>, </span><span style="color: #000000;">Microsoft Access</span><span style="color: #000000;"> <span style="color: #008000;">(mdb veya accdb)</span> ve <span style="color: #008000;">XML</span></span> <span style="color: #000000;">gibi veri ile ilgili dosyaları içerir.</span></p>
<p><span style="color: #3366ff;">App_LocalResources</span>  <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Sayfa bazında kaynak  tanımlanırken kullanılan dosyaları saklar. Genellikle yerelleştirme işlemlerinin yapılacağı kaynak dosyalarını saklamak için kullanılır.</span></p>
<p><span style="color: #3366ff;">App_GlobalResources</span>  <strong><span style="color: #ff0000;">=&gt; </span></strong><span style="color: #000000;">Bir web uygulamasında bütün dosyalar tarafından erişilebilen global kaynakların saklanması için kullanılır.</span></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-dosya-ve-klasor-tipleri/">Asp.Net Dosya ve Klasör Tipleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/asp-net-dosya-ve-klasor-tipleri/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>IIS (Internet Information Services) Nedir?</title>
		<link>https://www.mehmetkirazli.com/iis-internet-information-services-nedir/</link>
					<comments>https://www.mehmetkirazli.com/iis-internet-information-services-nedir/#respond</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 09 May 2012 12:26:55 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[asp.net IIS]]></category>
		<category><![CDATA[IIS]]></category>
		<category><![CDATA[IIS (Internet Information Services) Nedir?]]></category>
		<category><![CDATA[IIS nedir]]></category>
		<category><![CDATA[IIS site ekle]]></category>
		<category><![CDATA[inetmgr.exe]]></category>
		<category><![CDATA[Yönetimsel araçlar]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=424</guid>

					<description><![CDATA[<p>   (IIS) Internet Information Services, windows işletim sistemlerinin web sunucusudur.Web uygulamalarının yayınlanması için bu uygulamaları barındırır ve dışarı sunar. Bu yazımda iis nedir konusundan bahsedeceğim.    ASP.NET uygulamaları da yayınlanmak için IIS içerisinde barındırılıyor olmalıdır. IIS dışarıdan gelen çağrıları yanıtlayabilmek için varsayılan olarak 80 nolu portu dinler ve gelen talepleri uygun altyapıya devreder.Bir ASP.NET uygulamasını IIS &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/iis-internet-information-services-nedir/">IIS (Internet Information Services) Nedir?</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">   (IIS) <span style="color: #000000;">Internet Information Services, windows işletim sistemlerinin web sunucusudur.Web uygulamalarının yayınlanması için bu uygulamaları barındırır ve dışarı sunar. Bu yazımda iis nedir konusundan bahsedeceğim.</span></p>
<p style="text-align: justify;"><span id="more-424"></span></p>
<p style="text-align: justify;"><span style="color: #000000;">   ASP.NET uygulamaları da yayınlanmak için IIS içerisinde barındırılıyor olmalıdır. IIS dışarıdan gelen çağrıları yanıtlayabilmek için varsayılan olarak 80 nolu portu dinler ve gelen talepleri uygun altyapıya devreder.Bir ASP.NET uygulamasını IIS üzerinden yayınlamak istiyorsak, IIS üzerinde sanal dizinleri kullanmalıyız.İstemci, HTTP protokolü üzerinden sunucuya istekte bulunduğunda, sunucu tarafında istemciyi ilk olarak IIS karşılamaktadır </span></p>
<p style="text-align: justify;"><span style="color: #000000;">  .NET Framework’ün 2.0 sürümünden itibaren, SDK (Software Development Kit) ile birlikte gelen ASP.NET Development Server, IIS’e bağımlı kalınmadan web uygulamalarının çalıştırılabilmesini sağlamaktadır</span></p>
<p><span style="color: #000000;">    IIS, sadece web sayfaları sunmaz, ayrıca uzaktaki bileşenler için bir geçit görevi görür.Aynı zamanda FTP Server olarak da kullanılabilir.</span></p>
<p>&nbsp;</p>
<p><strong><span style="color: #ff0000;">&#8211;&gt;</span></strong><span style="color: #000000;">Bilgisayarımızda IIS servislerini açmak için;</span></p>
<p><span style="color: #000000;">Program ekle kaldır</span><span style="color: #000000;"> <strong><span style="color: #ff0000;">&gt;</span></strong> </span><span style="color: #000000;">Windows özelliklerini aç veya kapat</span><span style="color: #000000;"> <strong><span style="color: #ff0000;">&gt;</span></strong></span> <span style="color: #000000;">Internet Information Services üzerine tıklanmalıdır.</span></p>
<p><span style="color: #ff0000;">&#8211;&gt;</span><span style="color: #000000;">IIS&#8217;i yönetmek için Başlat&#8217;tan Çalıştır&#8217;a</span>   <strong><span style="color: #ff0000;">inetmgr.exe</span></strong>  <span style="color: #000000;">yazarak yönetim arayüzünden ayarlayabilirsiniz.</span></p>
<p><span style="color: #000000;"><span style="color: #ff0000;">&#8211;&gt;</span>IIS&#8217; in çalışıp çalışmadığını denetlemek için tarayıcınızın adres çubuğuna  <span style="color: #ff0000;"><strong>localhost</strong></span> yazdığınızda IIS giriş sayfası geliyorsa IIS hizmetinin çalıştığına emin olabilirsiniz</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h4><span style="color: #ff0000;">       <strong>IIS Verisyonları</strong></span></h4>
<p>&nbsp;</p>
<p style="padding-left: 30px;"><span style="color: #000000;">Windows XP üzerinde IIS 5.1</span></p>
<p style="padding-left: 30px;"><span style="color: #000000;">Windows 2000 Server üzerinde IIS 5.0</span></p>
<p style="padding-left: 30px;"><span style="color: #000000;">Windows 2003 Server üzerinde IIS 6.0</span></p>
<p style="padding-left: 30px;"><span style="color: #000000;">Windows 2008 Server üzerinde IIS 7.0</span></p>
<p>&nbsp;</p>
<h4 style="text-align: justify;"><span style="color: #ff0000;"><strong>      IIS’te Sanal Dizinler</strong></span></h4>
<p style="text-align: justify;"><span style="color: #000000;">     Sanal Dizinler, aslında var olmayan ve web tabanlı bir uygulamanın dışarıya sunulduğu, IIS üzerinde bulunan yapılardır. ASP.NET uygulamaları da dışarıya sunulabilmek için bir sanal dizin içerisinde yer alıyor olmalıdır. Yeni bir Sanal Dizin oluşturma işlemi aşağıdaki gibi gerçekleştirilebilir.</span><br />
<span style="color: #ff0000;">   </span></p>
<h4><span style="color: #ff0000;">    <strong>Yeni Bir Sanal Dizin Oluşturmak</strong></span><br />
<span style="color: #000000;">   </span></h4>
<p><span style="color: #000000;">Yeni bir sanal dizin oluşturmak için ilk olarak Denetim Masası’ndan Yönetimsel Araçlar bölümünde Internet Information  Services (IIS) kısayoluna tıklanarak IIS’in yönetim penceresi açılmalıdır.</span></p>
<p><span style="color: #000000;"> <img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/IIS1.jpg" alt="IIS" /></span></p>
<p style="text-align: justify;"><span style="color: #000000;">    Yönetimsel Araçlar bölümünden IIS’e çift tıklandığında IIS’in yönetim penceresi açılıyor olacaktır. Bu pencere aracılığı ile IIS üzerinde bulunan siteler görülüp, özellikleri ayarlanabilir ya da yeni bir site eklenebilir. Bir siteye yeni bir sanal dizin eklemek için site üzerinde mouse’ın sağ tuşu ile tıklanıp açılan menüden Web Sitesi Ekle seçeneği seçilmelidir.</span></p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/IIS-site-ekle1.jpg" alt="IIS site ekle" /></p>
<p style="text-align: justify;"><span style="color: #000000;">    Yukarıdaki işlemden sonra sanal dizinin takma adı (alias) ve fiziksel dosyaların saklanacağı yer soruluyor olacaktır. Takma isim, sanal dizinin dışarıdan görülecek olan ismidir. Takma isim bölümüne istediğimiz ismi yazdıktan sonra fiziksel yol bölümünden de fiziksel dosyalarımızın, yani ASP.NET dosyalarımızın bulunduğu yeri seçiyoruz.</span></p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/05/IIS-site-ekle-21.jpg" alt="IIS Site ekle" /></p>
<p style="text-align: justify;">  <span style="color: #000000;">  İçeriğin fiziksel olarak depolanacak olduğu klasör seçildikten sonra sihirbaz sonlandırılır.Bundan sonra, fiziksel dizine istenilen ASP.NET dosyaları eklenip çalıştırılabilir</span></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/iis-internet-information-services-nedir/">IIS (Internet Information Services) Nedir?</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/iis-internet-information-services-nedir/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Dinamik Ve Statik Web Siteleri</title>
		<link>https://www.mehmetkirazli.com/dinamik-ve-statik-siteler/</link>
					<comments>https://www.mehmetkirazli.com/dinamik-ve-statik-siteler/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 09 May 2012 11:14:09 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[dinamik site statik site nedir]]></category>
		<category><![CDATA[dinamik siteler]]></category>
		<category><![CDATA[dinamik ve statik sitenin farkı]]></category>
		<category><![CDATA[dinamik ve statik web siteleri]]></category>
		<category><![CDATA[statik siteler]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=420</guid>

					<description><![CDATA[<p>   Web Uygulamaları statik, yani sabit içerikli olabileceği gibi içeriği dinamik de olabilir. Bu yazımda dinamik ve statik siteleri anlatacağım. Sabit içerikli siteler belli aralıklarla yazılımcı tarafından güncellenir. Dinamik içerikli web sayfalarının kullanıcılara sunmuş olduğu içerikler ise belli kriterlere göre ya da kullanıcıya göre değişiklik gösterip kullanıcı ile etkileşime girebilir.     Dinamik ve statik web &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/dinamik-ve-statik-siteler/">Dinamik Ve Statik Web Siteleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #000000;">   Web Uygulamaları statik, yani sabit içerikli olabileceği gibi içeriği dinamik de olabilir. Bu yazımda dinamik ve statik siteleri anlatacağım.</span><span id="more-420"></span></p>
<p><span style="color: #000000;">Sabit içerikli siteler belli aralıklarla yazılımcı tarafından güncellenir. Dinamik içerikli web sayfalarının kullanıcılara sunmuş olduğu içerikler ise belli kriterlere göre ya da kullanıcıya göre değişiklik gösterip kullanıcı ile etkileşime girebilir. </span></p>
<p><span style="color: #000000;">   Dinamik ve statik web sitelerini bir konferansa benzetebiliriz. Konuşmacı gelir, konu ile ilgili fikirlerini anlatır, sunumları gösterir; buraya kadar her şey statik olarak ilerler. Konferans sonunda bizden soru istemesini ya da bizim de düşüncelerimizi öğrenme isteğini de dinamik olarak düşünebiliriz.</span></p>
<p><span style="color: #000000;">   Başka bir örnek verecek olursak Facebook&#8217;u düşünelim.Üyeler giriş yaptıklarında Anasayfa&#8217;da olan değişiklikleri görebiliyor,diğer üyelere mesaj atabiliyor,izin verilen profilleri ziyaret edebiliyor.Facebook&#8217;un tam anlamıyla dinamik bir yapıya sahip olduğunu söyleyebiliriz. Bir de gözümüzün önüne köşedeki bakkalımızın sitesini getirelim. Sitede sadece satılan ürünler,sabit fiyatlar,iletişim bilgisi gibi yerler bulunuyor. Bu sitede yazılımcı güncelleme yapmadığı sürece,her ziyaretimizde aynı içerik ile karşılaşıyor oluruz. Buradan da anlaşılacağı gibi bu site statik bir sitedir.Statik siteler için siteyi yapan yazılımcı ile görüşülür.Yazılımcı, gerekli değişiklikleri yaptıktan sonra siteyi tekrar Ftp ye atar.Bu da maliyet açısından sorun oluşturur.Dinamik sitelerde ise kendimiz yeni yazılar yazabilir, yeni fiyatlar verebilir, anketler oluşturabiliriz.Bu da genelde e-ticaret siteleri için tercih edilen bir yöntemdir</span></p>
<p>&nbsp;</p>
<p><span style="color: #000000;">Bir sonraki yazımda görüşmek üzere&#8230;</span></p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/dinamik-ve-statik-siteler/">Dinamik Ve Statik Web Siteleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/dinamik-ve-statik-siteler/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Asp.Net Validation Kontrolleri</title>
		<link>https://www.mehmetkirazli.com/asp-net-validation-kontrolleri/</link>
					<comments>https://www.mehmetkirazli.com/asp-net-validation-kontrolleri/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 25 Apr 2012 19:42:19 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[asp.net validation kontrolleri]]></category>
		<category><![CDATA[Compare Validator]]></category>
		<category><![CDATA[Custom Validator]]></category>
		<category><![CDATA[DisplayMode]]></category>
		<category><![CDATA[Range Validator]]></category>
		<category><![CDATA[Regular Expression Validator]]></category>
		<category><![CDATA[Required Field Validator]]></category>
		<category><![CDATA[SetFocusOnError]]></category>
		<category><![CDATA[Validation Summary]]></category>
		<category><![CDATA[ValidationGroup]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=393</guid>

					<description><![CDATA[<p>   Bu derste Asp.Net için önemli bir konu olan validation kontrollerini, kullanımını anlatmaya çalışacağım. Hazırladığınız web sitelerinde, bir alanın boş girilmemesi, belirli bir değerden fazlasının verilememesi gibi koşullar oluşturmak istiyorsak Validation kontrollerini kullanmamız gerekir.Validation (doğrulama) kontrolleri istemci tarafında çalışırlar.Validation kontrollerine, Toolbox penceresinde Validation sekmesi altından erişebilirsiniz Şimdi bu validation kontrollerini inceleyelim; Required Field Validator Kullanıcıdan &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-validation-kontrolleri/">Asp.Net Validation Kontrolleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><span style="color: #000000;">   Bu derste Asp.Net için önemli bir konu olan validation kontrollerini, kullanımını anlatmaya çalışacağım.</span><span id="more-393"></span></p>
<p><span style="color: #000000;">Hazırladığınız web sitelerinde, bir alanın boş girilmemesi, belirli bir değerden fazlasının verilememesi gibi koşullar oluşturmak istiyorsak Validation kontrollerini kullanmamız gerekir.Validation (doğrulama) kontrolleri istemci tarafında çalışırlar.Validation kontrollerine, Toolbox penceresinde Validation sekmesi altından erişebilirsiniz</span></p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/validation.jpg" alt="validation" /></p>
<p>Şimdi bu validation kontrollerini inceleyelim;</p>
<h3><span style="color: #ff0000;"><strong>Required Field Validator</strong></span></h3>
<p><span style="color: #000000;">Kullanıcıdan bir veri almak istendiğinde, kullanıcının o alanı boş geçmesi durumunda kullanılacak olan kontroldür.Bu kontrol ile,belirtilen alana veri girilmediğinde bir uyarı mesajı oluşturulur.Böylece, veriler sunucuya gitmeden hata üretilir</span></p>
<p>Bu kontrol, Toolbox&#8217;tan sürükle bırak yöntemi ile form üzerine bırakılarak kullanılabilir.F4 tuşuna basarak property penceresinden ;</p>
<p><span style="color: #008000;">ControlToValidate</span> ile boş olup olmadığı kontrol edilecek olan alan belirtilir.Alttaki örnekte textbox&#8217;ın boş olup olmadığı kontrol edildi</p>
<p><span style="color: #008000;">ErrorMessage</span> ile hata oluştuğunda verilecek olan hata mesajı belirtilir (<span style="color: #ff0000;">Örn</span>: Bu alan boş girilemez )</p>
<p><span style="color: #008000;">ForeColor</span> ile hata mesajının rengi belirtilir</p>
<p>&nbsp;</p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/requiredfield.jpg" alt="RequiredFieldValidator" /></p>
<p>&nbsp;</p>
<p>Eklediğimiz Kontrolün kodu ise şu şekilde olacaktır</p><pre class="crayon-plain-tag">&lt;asp:TextBox ID="TextBox1" runat="server"&gt;&lt;/asp:TextBox&gt;
&lt;asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="TextBox1" ErrorMessage="Boş Girilemez"&gt;
&lt;/asp:RequiredFieldValidator&gt;
&lt;br /&gt;</pre><p>
&nbsp;</p>
<h3><span style="color: #ff0000;"><strong>Range Validator</strong></span></h3>
<p><span style="color: #000000;">Kullanıcının girdiği değerin belirli bir aralıkta olması isteniyorsa bu kontrol kullanılır.Örneğin bizden vize notunu girmemizi istiyorsa, 100 den fazla ve 0 dan az not girilmemesine izin verilmemelidir.Burada kontrolün üzerine gelip F4 tuşuna basarak property penceresinden;</span></p>
<p><span style="color: #008000;">MinimumValue</span> ile girilebilecek en düşük değer belirtilir</p>
<p><span style="color: #008000;">MaximumValue</span> ile girilebilecek en yüksek değer belirtilir</p>
<p><span style="color: #008000;">Type</span> ile kontrolün hangi veri tipine göre yapılacağı belirtilir.Bu sadece sayı (int) olmak zorunda değildir</p>
<p><span style="color: #008000;">ErrorMessage</span> ile, bir hata oluştuğunda gösterilecek mesaj belirlenir.</p>
<p><span style="color: #008000;">ControlToValidate</span> ile aralığı kontrol edilecek olan araç belirtilir</p>
<p>&nbsp;</p>
<p>Property Penceresindeki görünümü;</p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/rangevalidator.jpg" alt="Range Validator" /></p>
<p>&nbsp;</p>
<p>Kod kısmı ise şöyle olacaktır</p><pre class="crayon-plain-tag">&lt;asp:RangeValidator ID="RangeValidator1" runat="server"
ControlToValidate="TextBox2"
ErrorMessage="Belirtilen Aralıkta Değil"
MaximumValue="100"
MinimumValue="0"
Type="Integer"&gt;
&lt;/asp:RangeValidator&gt;</pre><p>
&nbsp;</p>
<h3><strong><span style="color: #ff0000;">Regular Expression Validator</span></strong></h3>
<p><span style="color: #000000;">Kullanıcının girdiği değerlerin belirli bir sözdizimine uyup uymadığını kontrol eder.Örneğin bir e-mail adresi girilmesi isteniyorsa @ işareti girilmediyse uyarı verilmesi sağlanır.Burada kontrolün üzerine gelip F4 tuşuna basarak property penceresinden;</span></p>
<p><span style="color: #008000;">Validation Expression</span> ile belirtilen sözdizimi ayarlanır</p>
<p><span style="color: #008000;">Error Message</span> ile gösterilecek hata mesajı belirlenir</p>
<p><span style="color: #008000;">ControlToValidate</span> ile kontrol edilecek olan alan belirlenir.</p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/regularexpression.jpg" alt="regularexpressionvalidator" /></p>
<p>&nbsp;</p>
<h3><strong><span style="color: #ff0000;">Compare Validator</span></strong></h3>
<p><span style="color: #000000;">Kullanıcının girdiği değerlerin karşılaştırılmasında kullanılır.Örneğin üyeliklerde girilen şifrenin tekrar girilmesi istendiğinde kullanılırlar.Girilen 2 değer farklı olduğunda bir hata mesajı verilir.Burada kontrolün üzerine gelip F4 tuşuna basarak property penceresinden;</span></p>
<p><span style="color: #008000;">ControlToCompare</span> ile belirtilen alana girilen değer,  başka bir alanın içindeki değer ile karşılaştırılacaksa kullanılır</p>
<p><span style="color: #008000;">ControlToValidate</span> ile karşılaştırılacak 2.alan belirtilir</p>
<p><span style="color: #000000;"><span style="color: #008000;">ValueToCompare</span> ile sabit bir değer karşılaştırılacaksa bu alana belirtilir</span></p>
<p><span style="color: #008000;">ErrorMessage</span> ile hata olduğunda gösterilecek mesaj belirlenir</p>
<p><span style="color: #008000;">Type</span> ile karşılaştırılacak değerlerin tipi belirlenir<br />
<img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/comparevalidator.jpg" alt="CompareValidator" /></p>
<p>&nbsp;</p>
<h3><span style="color: #ff0000;"><strong>Custom Validator</strong></span></h3>
<p>Bu kontrol, var olan doğrulama kontrollerinin ihtiyaca cevap vermediği durumlarda, kendi kodumuzu kendimiz yazmamızı sağlar.</p>
<h3><strong><span style="color: #ff0000;">Validation Summary</span></strong></h3>
<p><span style="color: #000000;">Yukarıdaki kontrollerin ürettiği hata mesajlarını, toplu olarak tek bir yerde göstermek istiyorsak bu kontrol kullanılır.Doğrudan sayfaya eklenerek bir ayar yapmadan kullanılır.Bir hata oluştuğunda, hata üreten doğrulama kontrolünün hata mesajı, ValidationSummary içerisinde görüntüleniyor olacaktır. Ancak, herhangi bir ayarlama yapılmadı ise hata mesajı hem ValidationSummary hem de doğrulama kontrolünün bulunduğu alanda görüntülenecektir.Aynı hata mesajını iki yerde görüntülemek iyi bir tasarım yapmak adına pek de olumlu bir davranış değildir. Text özelliğine * işareti gibi tek karakterli bir değer atanarak sadece hatanın o alanda oluştuğunu gösteriyor olmak, daha iyi olur.</span></p>
<p>Validation Summary kontrolünün <span style="color: #008000;">DisplayMode</span> özelliği ile toplu gösterilecek olan uyarıların en altta çıkması sağlanabilir</p>
<p>&nbsp;</p>
<p>Son olarak Yaptığım örneğin bir resmini gösterelim.Burada Gönder Butonuna basınca, Boş girilen yerler olursa, e-mail söz dizimine uygun olmayan bir ifade olursa veya şifreler uyuşmazsa Kırmızı ile gösterilen alanlarda uyarı mesajı verilecek.</p>
<p><img decoding="async" src="https://www.mehmetkirazli.com/wp-content/uploads/2012/04/form1.jpg" alt="Form" /><br />
Son olarak da ek bilgi olarak şunları söyleyelim<br />
<span style="color: #ff0000;">-&gt;</span>Eğer bir alanda hem boş geçilmemesi hem de düzenli ifade kontrolü yapılmaması isteniyorsa bu kontroller yanyana eklenebilir<br />
<span style="color: #ff0000;">-&gt;</span>Doğrulama kontrollerinde bir hata oluştuğunda imlecin,hatanın olduğu yere konumlanması isteniyorsa <span style="color: #ff0000;">SetFocusOnError</span> özelliği<span style="color: #008000;"> true</span> yapılmalıdır.</p>
<p>-&gt;Bu anlattığımız kontrollerin hataları butona tıklandığında çıkmaktadır.Fakat 2 tane butonumuz olursa hangisi için bu kontrolü yapacak? Bunun için <span style="color: #ff0000;">Validation Group</span> özelliğini kullanmalıyız.<span style="color: #ff0000;">ValidationGroup</span> özelliği ile aynı sayfa içerisinde farklı doğrulama grupları kurularak, bu gruplardaki doğrulama kontrollerinden diğer grubun etkilenmesinin önüne geçilir</p>
<p>&nbsp;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/asp-net-validation-kontrolleri/">Asp.Net Validation Kontrolleri</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/asp-net-validation-kontrolleri/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title>İstemci &#8211; Sunucu Mimarisi Nedir?</title>
		<link>https://www.mehmetkirazli.com/istemci-sunucu-mimarisi/</link>
					<comments>https://www.mehmetkirazli.com/istemci-sunucu-mimarisi/#comments</comments>
		
		<dc:creator><![CDATA[Mehmet Kirazlı]]></dc:creator>
		<pubDate>Wed, 25 Apr 2012 16:49:53 +0000</pubDate>
				<category><![CDATA[Asp.Net]]></category>
		<category><![CDATA[istemci mimarisi]]></category>
		<category><![CDATA[istemci nedir]]></category>
		<category><![CDATA[istemci sunucu mimarisi]]></category>
		<category><![CDATA[sunucu mimarisi]]></category>
		<category><![CDATA[sunucu nedir]]></category>
		<guid isPermaLink="false">http://www.mehmetkirazli.com/?p=384</guid>

					<description><![CDATA[<p>Merhabalar. Bu yazımda sizlere istemci sunucu mimarisinden bahsedeceğim. Öncelikle istemci ve Sunucu nedir onları açıklayalım İstemci Sunucu Kavramları İstemci dediğimiz şey, sunucudan istekte bulunan, sunucudaki verileri kullanabilen yapılardır.Örnek olarak bir web sayfasını verebiliriz.İstemci konumundaki web sayfası, sunucu(server) dan bir istekte bulunur ve bunun sonucunda sunucu,istenen verileri istemciye ulaştırır Sunucu ise bu bilgileri tutan bilgisayarlardır.Bunların donanımlı,yüksek &#8230;</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/istemci-sunucu-mimarisi/">İstemci &#8211; Sunucu Mimarisi Nedir?</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Merhabalar. Bu yazımda sizlere istemci sunucu mimarisinden bahsedeceğim.<span id="more-384"></span></p>
<p>Öncelikle <span style="color: #ff0000;">istemci</span> ve <span style="color: #ff0000;">Sunucu</span> nedir onları açıklayalım</p>
<h3><strong>İstemci Sunucu Kavramları</strong></h3>
<p><span style="color: #008000;">İstemci</span> dediğimiz şey, sunucudan istekte bulunan, sunucudaki verileri kullanabilen yapılardır.Örnek olarak bir web sayfasını verebiliriz.İstemci konumundaki web sayfası, sunucu(server) dan bir istekte bulunur ve bunun sonucunda sunucu,istenen verileri istemciye ulaştırır</p>
<p><span style="color: #008000;">Sunucu</span> ise bu bilgileri tutan bilgisayarlardır.Bunların donanımlı,yüksek performanslı çalışmaları gerekir.Tanımını özet olarak yaparsak <span style="color: #008000;">Sunucu</span>, bir ağdaki bilgiyi kullanıcılara (bilgisayarlara) paylaştıran, üzerinde birçok yazılım çalıştıran, yüksek performansa sahip bilgisayarlardır.Bankalarda ve benzeri büyük şirketlerde sunucu üzerinde bilgiler tutulur.Şirketler için bu, hem zaman hem de maliyet açısından önemli yer tutar.</p>
<p>Bir web sayfası içerisinde bazı olaylar <span style="text-decoration: underline;">sunucu</span> tarafında bazı olaylar ise <span style="text-decoration: underline;">istemci (client)</span> tarafında gerçekleşir.Örnek verecek olursak ; Bir üyelik işlemi gerçekleştirildiğinde girdiğimiz değerler Sunucu&#8217;ya bildirilir.İstemciden sunucuya gönderilen kodlar, sunucu tarafındaki bazı programlar ile çalıştırılır ve sonuç tekrar istemciye html kodu olarak gönderilir.Bu sunucu tarafında gerçekleşen bir eylemdir.Fakat web sitemizde bir butona bastığımızda bize bir uyarı mesajı veriliyor ise bu istemci tarafında çalışan bir olaydır.Yani olaylar, server tarafına hiç ulaşmadan doğrudan tarayıcımız üzerinde gerçekleşir.</p>
<p><span style="color: #ff0000;">&#8211;&gt;</span>İstemci tarafında çalışan en önemli diller <span style="color: #ff0000;">Html</span>,<span style="color: #ff0000;">Css</span> ve <span style="color: #ff0000;">Javascript</span> tir.İstemci tarafında sayfa oluşturmanın en önemli dezavantajı, yazılan kodun saklanamamasıdır.Örneğin html ile yazılmış bir sayfada, sağ tuş yapıp kaynağı görüntüle dediğimizde yazılan bütün kodları görebiliriz.Yazılan kodların görülmesi, güvenlik açıklarına sebep olabilir</p>
<p><span style="color: #ff0000;">&#8211;&gt;</span>Sunucu tarafında çalışan bazı diller ise <span style="color: #ff0000;">Asp.Net</span>,<span style="color: #ff0000;">Php,Ruby</span> ve <span style="color: #ff0000;">Jsp</span> dir.</p>
<p>İstemci sunucu mimarisinden, istemci sunucu ilişkisinden kısaca bahsettim. Umarım yararlı olmuştur.</p>
<p>The post <a rel="nofollow" href="https://www.mehmetkirazli.com/istemci-sunucu-mimarisi/">İstemci &#8211; Sunucu Mimarisi Nedir?</a> appeared first on <a rel="nofollow" href="https://www.mehmetkirazli.com">Mehmet Kirazlı</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.mehmetkirazli.com/istemci-sunucu-mimarisi/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
	</channel>
</rss>
