<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4071857482116442561</id><updated>2026-03-04T12:07:56.151-08:00</updated><category term="C#"/><category term="C# Gdi kullanımı"/><category term="C# Gdi sınıfı"/><category term="C# Gdi örnekleri"/><category term="C# gdi anlatımı"/><category term="C# da Gdi"/><category term="C# da çizim işlemleri"/><category term="C# da çizim yapmak"/><category term="C# da grafik çizmek"/><category term="C# da for döngüsü"/><category term="C# Karar Yapıları"/><category term="C# OOP"/><category term="C# da GDI ile Resmi Siyah Beyaz Yapma"/><category term="C# resim işlemek"/><category term="CefSharp .net"/><category term="CefSharp cookies"/><category term="Entity Framework"/><category term="Gdi ile açılı çizim örneği"/><category term="for döngüsü"/><category term="&quot;Database Diagram Support objects cannot be installed&quot;  Çözümü"/><category term=".exe"/><category term=".exe açmak"/><category term="A potentially dangerous Request.Form value was detected from the client"/><category term="Aforge"/><category term="Aggregate Functions"/><category term="Algoritma"/><category term="Asp.Net Web Sitemde Routing Çalışmıyor. Asp.Net Routing Ayarları"/><category term="C # da Checked ve Unchecked"/><category term="C# &#39;da Try Catch Finally"/><category term="C# &#39;da Try Catch Finally Anlatımı"/><category term="C# &#39;da Try Catch Finally Nedir"/><category term="C# Captcha Decoding"/><category term="C# Default Parameter"/><category term="C# Default Parameter Anlatımı"/><category term="C# Default Parameter Kullanımı"/><category term="C# Default Parameter Nasıl Kullanılır"/><category term="C# Default Parameter Nedir"/><category term="C# Design Pattern Chains of Responsibility (CoR)"/><category term="C# Design Patterns"/><category term="C# Design Patterns Chains of Responsibility"/><category term="C# Design Patterns Chains of Responsibility anlatımı"/><category term="C# Design Patterns Chains of Responsibility nedir?"/><category term="C# Design Patterns Singleton"/><category term="C# Değer Döndüren Methodlar"/><category term="C# Methodlar"/><category term="C# OOP (Object Oriented Programming) Giriş"/><category term="C# OOP (Object Oriented Programming) Inheritance"/><category term="C# OOP Encapsulation"/><category term="C# OOP anlatımı"/><category term="C# OOP inheritance anlatımı"/><category term="C# OOP inheritance nedir"/><category term="C# OOP kullanımı"/><category term="C# OOP nedir"/><category term="C# Object Oriented Interface"/><category term="C# Object Oriented Interface anlatımı"/><category term="C# Object Oriented Interface kullanımı"/><category term="C# Timer"/><category term="C# Void"/><category term="C# Void Methodlar"/><category term="C# bitmap sınıfı kullanımı"/><category term="C# da .exe Çalıştırmak"/><category term="C# da FlowLayoutPanel Kullanımı ve Özellikleri"/><category term="C# da For Döngüsü Algoritma Örneği"/><category term="C# da For Döngüsü ile A-Z ye kadar harfleri yazma örneği"/><category term="C# da GDI ile Resmi Yeniden Boyutlandırma"/><category term="C# da If Else"/><category term="C# da If Else kullanımı"/><category term="C# da Methodlar Void ve Değer Döndüren Methodlar"/><category term="C# da Switch Case"/><category term="C# da Timer Kullanımı"/><category term="C# da adam asmaca"/><category term="C# da adam asmaca oyunu"/><category term="C# da asal sayı bulma"/><category term="C# da daire çizmek"/><category term="C# da design pattern kullanılımı"/><category term="C# da dikdörtgen çizmek"/><category term="C# da elips çizmek"/><category term="C# da köstebek oyunu"/><category term="C# da oyun"/><category term="C# da pasta dilimi çizmek"/><category term="C# da timer nasıl kullanılır. C# timer örneği"/><category term="C# da yazı çizmek"/><category term="C# da çarpım tablosu"/><category term="C# design pattern nedir?"/><category term="C# inheritance anlatımı"/><category term="C# kalıtım"/><category term="C# oyun örneği"/><category term="C# resim işlemleri"/><category term="C# resim üstüne yazı yazmak"/><category term="C# resmi siyah beyaz yapma"/><category term="C# run time"/><category term="C# run time nesne oluşturma"/><category term="CAS"/><category term="CAS Asp.net"/><category term="CAS Mimarisi"/><category term="CAS Nedir ?"/><category term="Cannot find the object &quot;QueryNotificationErrorsQueue&quot; because it does not exist or you do not have permissions."/><category term="Captcha Decoding"/><category term="Caspol.exe"/><category term="CefSharp"/><category term="CefSharp DeleteCookie"/><category term="CefSharp SetCookie"/><category term="CefSharp example"/><category term="CefSharp user agent"/><category term="CefSharp windows form"/><category term="Central Authentication Service Entegrasyonu"/><category term="Change user agent"/><category term="Checked"/><category term="Checked ve Unched Nedir ?"/><category term="Chromium Embeded Framework .Net C# Windows Forms"/><category term="Chromium Embeded Framework Cookie İşlemleri (SetCookie"/><category term="Chromium Embeded Framework User Agent"/><category term="Commit tran"/><category term="DML Trigger"/><category term="DML Trigger anlatımı"/><category term="DML Trigger kullanımı"/><category term="DML Trigger nedir"/><category term="Ddl  Trigger nedir"/><category term="Ddl Trigger"/><category term="Ddl Trigger anlatımı"/><category term="Ddl Trigger kullanımı"/><category term="DeleteCookie)"/><category term="Design Pattern Singleton anlatımı"/><category term="Design Pattern Singleton nedir"/><category term="EmptyInterceptor"/><category term="Encapsulation"/><category term="Encapsulation anlatımı"/><category term="Encapsulation kullanımı"/><category term="Encapsulation nedir"/><category term="Entity FrameWork .Net Framework 4.5 Projelerinde Transaction Kullanımı"/><category term="Entity Framework Linq"/><category term="Entity Framework Tablo Bağımsız CRUD İşlemleri"/><category term="Entity Framework anlatımı"/><category term="Entity Framework nedir"/><category term="Field nedir"/><category term="Finally"/><category term="FlowLayoutPanel"/><category term="FlowLayoutPanel Kullanımı"/><category term="FlowLayoutPanel özellikleri"/><category term="For"/><category term="Gdi ile açılı çizim"/><category term="HTML asp.net"/><category term="IIS wcf hatası"/><category term="IIS wcf kurulumu"/><category term="IInterceptor  kullanımı"/><category term="IPermission"/><category term="If Else"/><category term="Index anlatımı"/><category term="Index kullanımı"/><category term="Index nedir"/><category term="Inheritance"/><category term="Interface anlatımı"/><category term="Interface nedir ?"/><category term="Linq"/><category term="Linq giriş"/><category term="Linq join"/><category term="Linq kullanımı"/><category term="Linq to sql"/><category term="MSSQL Select İfadesi (T-Sql)"/><category term="Mean Filter"/><category term="Median Filter"/><category term="Method not found: &#39;System.Data.Entity.DbSet`1 Entitiy.get_Markas()&#39;. Hatası"/><category term="Mssql"/><category term="Mssql Server Express Kurulum Hata code 29506"/><category term="Mssql Server Kurulum"/><category term="Mssql hata code 29506"/><category term="NHiberNate"/><category term="NHiberNate ile EmptyInterceptor ve IInterceptor Kullanarak Loglama Nasıl Yapılır"/><category term="Nhibernate Loglama"/><category term="OOP anlatımı"/><category term="OOP nedir ?"/><category term="ORM Nedir"/><category term="ORM anlatımı"/><category term="Object Oriented Programming"/><category term="Property nedir"/><category term="Property ve Field kavramları"/><category term="QueryNotificationErrorsQueue"/><category term="Read uncommited"/><category term="Real Time Notification"/><category term="Rollback nedir"/><category term="SQL Pagging anlatımı"/><category term="SQL Pagging kullanımı"/><category term="SQL Pagging nedir"/><category term="Select nedir ? Sql select kullanımı"/><category term="SignalR"/><category term="Singleton nedir ?"/><category term="Sql Server Index"/><category term="Sql Server Index anlatımı"/><category term="Sql Server Index kullanımı"/><category term="Sql Server Index nedir"/><category term="Sql Server Transaction Isolation Levels"/><category term="Sql String Fonksiyonlar Anlatımı"/><category term="Sql String Fonksiyonlar Kullanımı"/><category term="Sql String Fonksiyonlar Nedir"/><category term="Sql Tablo Owner Değiştirme ( How to change ownership table Sql)"/><category term="Sql Transaction anlatımı"/><category term="Sql Transaction nedir"/><category term="Sql between kullanımı"/><category term="Sql like kullanımı"/><category term="Sql select anlatımı"/><category term="Sql select sorgusu"/><category term="Sql where kullanımı"/><category term="SqlDependency"/><category term="String Fonksiyonlar"/><category term="Switch Case"/><category term="System.Data.Entity.DbContext"/><category term="System.Diagnostics.Process.Start"/><category term="T-SQL ile SQL Pagging"/><category term="T-SQL ile SQL Pagging anlatımı"/><category term="T-SQL ile SQL Pagging kullanımı"/><category term="T-SQL ile SQL Pagging nedir"/><category term="T-Sql Aggregate Functions - String Fonksiyonlar"/><category term="T-Sql Transaction"/><category term="The remote server returned an unexpected response: (405) Method Not Allowed."/><category term="Timer Kullanımı"/><category term="Timer Nesnesi"/><category term="Timer nedir ?"/><category term="Transaction Isolation Level anlatımı"/><category term="Transaction Isolation Level nedir"/><category term="Transaction anlatımı"/><category term="Transaction kullanımı"/><category term="Transaction nedir"/><category term="TransactionScope"/><category term="Trigger anlatımı"/><category term="Trigger kullanımı"/><category term="Trigger nedir"/><category term="Try Catch"/><category term="Unable to update the EntitySet &#39;Slider&#39; because it has a DefiningQuery and no lt;InsertFunction gt; element exists in the lt;ModificationFunctionMapping gt; element to support the current operation."/><category term="Unchecked"/><category term="Using System.Transactions"/><category term="Wcf"/><category term="Web config"/><category term="What is the ORM ?"/><category term="Windows Form Application System Security Exception"/><category term="adam asma"/><category term="adam asmaca oyunu"/><category term="adam asmaca oyunu kodları"/><category term="alter authorization database diagram"/><category term="asp.net html güvenlik"/><category term="asp.net routing"/><category term="change owner sql"/><category term="change table owner dbo"/><category term="change user agent on cefSharp"/><category term="code 29506"/><category term="code 29506 sql"/><category term="code 29506 sql kurulum"/><category term="commit tran nedir"/><category term="dbContext.Entry(Entity).State = System.Data.EntityState.Added;"/><category term="dirty reads"/><category term="do not run Rouitng"/><category term="emgucv"/><category term="has image"/><category term="hata"/><category term="hosting routing"/><category term="koray düzgün"/><category term="köstebek"/><category term="köstebek oyunu"/><category term="read commited"/><category term="repeatable read"/><category term="resmi siyah beyaz yapmak"/><category term="rollback"/><category term="serializable"/><category term="sql de trigger anlatımı"/><category term="sql de trigger kullanımı"/><category term="sql tablo dbo değiştirme"/><category term="sql tablo user değiştirme"/><category term="sql trigger anlatımı"/><category term="sql trigger kullanımı"/><category term="sql trigger nedir"/><category term="system security exception"/><category term="tesseract"/><category term="user agent on Cef"/><category term="web service parser error could not create type .net framework 4.0"/><title type='text'>Yazılımcı Klavyesinden Dökülenler ...</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>59</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-4591267154542950666</id><published>2018-03-07T10:30:00.002-08:00</published><updated>2018-03-07T10:30:58.750-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cannot find the object &quot;QueryNotificationErrorsQueue&quot; because it does not exist or you do not have permissions."/><category scheme="http://www.blogger.com/atom/ns#" term="QueryNotificationErrorsQueue"/><category scheme="http://www.blogger.com/atom/ns#" term="Real Time Notification"/><category scheme="http://www.blogger.com/atom/ns#" term="SignalR"/><category scheme="http://www.blogger.com/atom/ns#" term="SqlDependency"/><title type='text'>SignalR ve SqlDependency ile Real Time Notification (Cannot find the object &quot;QueryNotificationErrorsQueue&quot; because it does not exist or you do not have permissions.)</title><content type='html'>Merhabalar,&lt;br /&gt;
&lt;br /&gt;
Asp.Net MVC ile geliştirdiğiniz uygulama üzerinde SignalR ve SqlDependency kullanarak veri tabanınızdaki herhangi bir tablo üzerindeki verilerde herhangi bir değişiklik olduğunda real time olarak notification almak için gerekli tüm işlemler yaptığınızı, yazdığınız kodların local makinazında çalıştığını fakat veri tabanı connection bilgisini hosting üzerinde bulunan veri tabanı olarak ayarladığınızda aşağıdaki hatayı alıyorsanız eğer ;&lt;br /&gt;
&lt;br /&gt;
&quot;Cannot find the object &quot;QueryNotificationErrorsQueue&quot; because it does not exist or you do not have permissions.&quot;&lt;br /&gt;
&lt;br /&gt;
yapmanız gereken aşağıdaki sql komutlarını çalıştırıp, oluşan SqlDependenct Role üne bağlantıda kullandığınız database user ı eklemeniz sorunu çözümlemenize yardımcı olacaktır.&lt;br /&gt;
&lt;br /&gt;
CREATE ROLE [SQLDependency] AUTHORIZATION [dbo]&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
CREATE SCHEMA [SQLDependency] AUTHORIZATION [SQLDependency]&lt;br /&gt;
GO&lt;br /&gt;
&lt;br /&gt;
--Database level permissions&lt;br /&gt;
GRANT CREATE PROCEDURE to [SQLDependency];&lt;br /&gt;
GRANT CREATE QUEUE to [SQLDependency];&lt;br /&gt;
GRANT CREATE SERVICE to [SQLDependency];&lt;br /&gt;
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [SQLDependency];&lt;br /&gt;
GRANT VIEW DEFINITION TO [SQLDependency];&lt;br /&gt;
GRANT SELECT to [SQLDependency]&lt;br /&gt;
&lt;br /&gt;
--Service Broker permissions&lt;br /&gt;
GRANT REFERENCES ON CONTRACT::[http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification] TO [SQLDependency];&lt;br /&gt;
GRANT RECEIVE ON QueryNotificationErrorsQueue TO [SQLDependency];&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Umarım faydalı olmuştur. Görüşmek üzere.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/4591267154542950666/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2018/03/signalr-ve-sqldependency-ile-real-time.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/4591267154542950666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/4591267154542950666'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2018/03/signalr-ve-sqldependency-ile-real-time.html' title='SignalR ve SqlDependency ile Real Time Notification (Cannot find the object &quot;QueryNotificationErrorsQueue&quot; because it does not exist or you do not have permissions.)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-2071664106994203111</id><published>2017-02-21T03:34:00.001-08:00</published><updated>2017-02-21T03:34:09.431-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IIS wcf hatası"/><category scheme="http://www.blogger.com/atom/ns#" term="IIS wcf kurulumu"/><category scheme="http://www.blogger.com/atom/ns#" term="The remote server returned an unexpected response: (405) Method Not Allowed."/><category scheme="http://www.blogger.com/atom/ns#" term="Wcf"/><title type='text'>IIS Server Üzerinde WCF Service Yayınlamak İçin (The remote server returned an unexpected response: (405) Method Not Allowed.)</title><content type='html'>Merhabalar ,&lt;br /&gt;
&lt;br /&gt;
Wcf service&#39;inizi web site a dönüştürdükten sonra eğer server üzerinde daha önceden wcf service yayınlanmadıysa aşağıdaki konutu command prompt üzerinde çalıştırmanız gerekmektedir.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;default prettyprint prettyprinted&quot; style=&quot;background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &amp;quot;Lucida Console&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Bitstream Vera Sans Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;c&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;\Windows\Microsoft&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;NET\Framework\v&lt;/span&gt;&lt;span class=&quot;lit&quot; style=&quot;border: 0px; color: #7d2727; margin: 0px; padding: 0px;&quot;&gt;3.0&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;\Windows &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Communication&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;typ&quot; style=&quot;border: 0px; color: #2b91af; margin: 0px; padding: 0px;&quot;&gt;Foundation&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;\ServiceModelReg&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;exe &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: #303336; margin: 0px; padding: 0px;&quot;&gt;i&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/2071664106994203111/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2017/02/iis-server-uzerinde-wcf-service.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2071664106994203111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2071664106994203111'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2017/02/iis-server-uzerinde-wcf-service.html' title='IIS Server Üzerinde WCF Service Yayınlamak İçin (The remote server returned an unexpected response: (405) Method Not Allowed.)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-2044456241829083362</id><published>2016-09-22T02:03:00.001-07:00</published><updated>2016-09-22T02:03:30.249-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Caspol.exe"/><category scheme="http://www.blogger.com/atom/ns#" term="IPermission"/><category scheme="http://www.blogger.com/atom/ns#" term="system security exception"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows Form Application System Security Exception"/><title type='text'>Windows Form Application System Security Exception</title><content type='html'>Merhaba değerli okurlar,&lt;br /&gt;
&lt;br /&gt;
Bu makalemde sizlere bir hafta öncesinde karşılaştığım bir sorunun senaryosunu ve çözümünü anlatacağım. Dilerim böyle bir senaryo ile karşılaştığınızda bu makaleye kolay ulaşmış ve sorunu hızlı bir şekilde çözmüş olursunuz.&lt;br /&gt;
&lt;br /&gt;
Senaryomuz şu şekilde ;&lt;br /&gt;
&lt;br /&gt;
Bir tane windows form uygulaması yazdınız ve bu uygulama gerek server makinada gerekse herhangi bir pc üzerinde kurulu çalışmaya hazır olsun. Fakat bu uygulamayı bir çok sağladığı avantajlardan dolayı bu pc/server üzerinden paylaşıma açıyorsunuz ve client pc ler paylaşımda olan exe yi kendi makinaları üzerinde kısayol olarak ayarlayıp çalıştırıyorlar. Buraya kadar herşey çok güzel. Ne var ki bunda çalıştıramazlar mı yani ? Elbette ki çalıştırabilirler. Fakat eğer bu uygulama üzerinde reflection kullanarak başka bir uygulamayı (gene kendi yazdığınız uygulamayı) ayağa kaldırmaya çalıştığınız zaman bizim karşılaştığımız hatayı &quot;System security exception&quot; alabilirsiniz. Böyle bir durumda iki farklı yoldan çözüme ulaşabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Çözümler ise şu şekildedir ;&lt;br /&gt;
&lt;br /&gt;
1-) AppDomain kavramını çok iyi anlamanız gerekiyor. Malesef bu makalede bu konuyu anlatmayacağım. Bir çok kaynaktan bu bilgiye rahatlıkla ulaşabilirsiniz. AppDomain&#39;i iyi bir şekilde öğrendikten sonra &amp;nbsp;reflection kullanarak açtığını uygulamayı yeni bir appDomain oluşturup onun üzerinden açabilir ve o oluşturulan appDomain&#39;e istediğiniz şekilde Permission&#39;lar set edebilirsiniz. Bu yöntem biraz sancılı ve çok iyi bir şekilde tasarlanıp kodlanması gerekmektedir. Diğer yöntem daha kolay olduğu için ben aşağıda anlatacağım çözüm yoluna gittim.&lt;br /&gt;
&lt;br /&gt;
2-) Bu senaryo da daha önceden çözüm olarak Yönetimsel Araçlar da bulunan .Net Configuration Tool u üzerinden Intranet,Computer ve diğer sekmelerde Full Trust yetkisi veriyorduk. Windows 10 üzerinde bu tool (.net 3.5 için) bulunmamaktadır. Bu yüzden tool kullanarak Full Trust veremedik. Yaptığım araştırmalar sonucunda Command Promt kullanarak da bu işlemi yapabildiğimizi öğrendim. Yapılması gerekenler sırasıyla şu şekildedir ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Command Promt&#39;u yönetici olarak çalıştırın ve aşağıdaki kodları sırasıyla yazıp çalıştırın.&lt;/li&gt;
&lt;li&gt;cd %windows un kurulu olduğu disk adı
%:\Windows\Microsoft.NET\Framework\v2.0.50727&lt;/li&gt;
&lt;li&gt;&amp;nbsp;caspol.exe -m -ag 1 -url &quot;file://\\%Belediyenet klasorunun
bulunduğu serverın ip si%\BelediyeNet\*&quot; FullTrust&lt;/li&gt;
&lt;li&gt;Eğer windows 64 bit ise aşağıdaki kodları da çalıştırmanız gerekiyor&lt;/li&gt;
&lt;li&gt;cd %windows un kurulu olduğu disk adı
%:\Windows\Microsoft.NET\Framework64\v2.0.50727&lt;/li&gt;
&lt;li&gt;&amp;nbsp;caspol.exe -m -ag 1 -url &quot;file://\\%Belediyenet klasorunun
bulunduğu serverın ip si%\BelediyeNet\*&quot; FullTrust&lt;/li&gt;
&lt;/ul&gt;
Bu işlemlerden sonra uygulamayı yeniden çalıştırdığımızda sorun ortadan kalktı. Umarım sizin sorununuza da çözüm olur.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Bir sonraki makalede görüşmek dileğiyle.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/2044456241829083362/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2016/09/windows-form-application-system.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2044456241829083362'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2044456241829083362'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2016/09/windows-form-application-system.html' title='Windows Form Application System Security Exception'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-1571067965848607507</id><published>2016-02-22T01:58:00.000-08:00</published><updated>2016-02-22T01:58:22.602-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CAS"/><category scheme="http://www.blogger.com/atom/ns#" term="CAS Asp.net"/><category scheme="http://www.blogger.com/atom/ns#" term="CAS Mimarisi"/><category scheme="http://www.blogger.com/atom/ns#" term="CAS Nedir ?"/><category scheme="http://www.blogger.com/atom/ns#" term="Central Authentication Service Entegrasyonu"/><title type='text'>Central Authentication Service Entegrasyonu (CAS)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;Central
Authentication Service Entegrasyonu (CAS)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #c0504d; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-themecolor: accent2;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;CAS Nedir ?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-left: 35.4pt;&quot;&gt;
CAS Single Sign-On hizmetini
sağlayan open source bir sistemdir.Birden fazla sistemi CAS ile entegre edip
merkezi bir authentication sağlayabilirsiniz. Böylelikle n tane sistem tek bir
yerden authentication işlemi yapar ve n tane sistemi tek bir kez authentication
işleminden sonra kullanabilirsiniz.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;color: #c0504d; font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol; mso-themecolor: accent2;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;CAS Mimarisi&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;
Aşağıdaki Şekil 1 resminde de detaylı
incelendiğinde CAS mimarisinin adımları aşağıdaki maddelerde anlatıldığı gibi
olduğu görülebilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Uygulama Get olarak server dan user tarafından
çağırılır,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Sunucu response olarak CAS ın bulunduğu linkin
login sayfasını service parametresi ile birlikte çağırır. Bu service
parametresinde kullanıcı CAS üzerinden login olduktan sonra CAS’ın gelen isteği
hangi sayfaya yönlendireceğinin bilgisi olmalıdır,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Kullanıcının karşısına CAS login ekranı gelir ve
kullanıcı login olur,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Login işleminden sonra CAS authentication
işlemini yapar ,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bir sonraki adım olarak service parametresi
olarak verilen linke GET olarak sonuna ticket queryString ini ekleyerek
yönlendirme yapar. Bu yonlendırmeden once yapılacak olan isteğin içerisine
CASTGC cookie’sini ekler,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Daha sonra CAS’ın yönlendirme yaptığı sayfa
içerisinde istek ile gelen ticket querystring i ile birlikte CAS’a Get olarak
“casserverlink/serviceValidate?ticket=…&amp;amp;service=…”&amp;nbsp; istek yapılır ve CAS üzerinden gelen ticket
bilgisinin validation işlemi yapılır.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bu işlemden sonra CAS’dan xml olarak gelen
kullanıcı bilgileri içerisindeki bilgiler alınır ve Cookie lere JSESSIONID
olarak asp sessionID atılır,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bu aşamadan sonra artık kullanıcının
authentication işlemi tamamlanır. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Bir başka uygulamaya ilk erişiminde ise
5.aşamada cookie’ye atılan CASTGC bilgisi request’in cookie bilgisine eklenerek
CAS uzerınde validate yapılır ve CAS yeni bir ticket üretir ve querystring ile bizim
querystring olarak verdiğimiz service bilgisindeki linke yönlendirme yapar,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto; mso-list: l0 level2 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; mso-fareast-font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;o&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Yeni oluşan ticket bu şekilde alındıktan sonra
6. Aşama tekrarlanır,&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 72.0pt; mso-add-space: auto;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBOB0t9BsuNHOE_S9wSD4P53ZjtYAUiPvD6uKCqEhthTHO0IBfdK0X_JL0wHkCjL1RWvIutzvNNYNpmvdXppmkrHazH8Li3itFg6Y6p9w8pqgHUZ5D7tfw_-1pwUsTR1TJXN6rGmYK1GFr/s1600/cas_flow_diagram.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;640&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBOB0t9BsuNHOE_S9wSD4P53ZjtYAUiPvD6uKCqEhthTHO0IBfdK0X_JL0wHkCjL1RWvIutzvNNYNpmvdXppmkrHazH8Li3itFg6Y6p9w8pqgHUZ5D7tfw_-1pwUsTR1TJXN6rGmYK1GFr/s640/cas_flow_diagram.png&quot; width=&quot;387&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;Şekil 1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: #c0504d; mso-themecolor: accent2;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
Asp.Net web form projelerinde CAS 2.0 entegrasyonu çok sıkıntılı bir süreçtir. Asp.Net web form uygulamalarında bulunan page life cycle nedeni ile kullanıcının ilk yaptığı istek CAS&#39;a yapılan yönlendirmeden sonra kaybolmaktadır. Bu durum CAS&#39;ın hazırladığı .Net Library kullanıldığında oluşur. Bu nedenle eğer Asp.Net web form uygulaması ile CAS entegrasyonu yapıyorsanız malesef yapamayacaksınız. İnternet üzerinde CASP.cs class&#39;ına rahatlıkla erişip onun üzerinden işlemlerinizi yapabilirsiniz. Bu class içerisindeki Authenticate methodunu kullanarak authentication işlemini gerçekleştirebilirsiniz. Fakat CAS&#39;ın resmi sitesindeki dökümanları incelediğinizde de göreceksiniz ki CAS tarafından oluşturulan ticket sadece 1 kez validate ettirilir. Bu nedenle bir kez validate işlemi yapıldıktan sonra asp.net uygulamnızda kullanıcı bilgilerini session üzerinde tutarsanız CAS üzerinden kullanıcı login ve validation işlemini yapmış olursunuz. Fakat Bu senaryoda ise kullanıcı CAS uzerınden logout olduğunda , sizin uygulama üzerinde kullanıcı bilgileri session da tutulduğu için single sign out olarak ayarlayamacaksınız. Malesef bu durumu göze almak zorundasınız.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
Uygulamanız üzerinden logout olunduğunda CAS üzerinde de logout olması için tek yapmanız aşağıdaki link&#39;e redirect yapmanız yetecektir.&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
casserverlinki/logout&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;text-align: left;&quot;&gt;
Umarım faydalı olmuştur. Bir sonraki makalemizde görüşmek üzere.&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/1571067965848607507/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2016/01/central-authentication-service.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1571067965848607507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1571067965848607507'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2016/01/central-authentication-service.html' title='Central Authentication Service Entegrasyonu (CAS)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBOB0t9BsuNHOE_S9wSD4P53ZjtYAUiPvD6uKCqEhthTHO0IBfdK0X_JL0wHkCjL1RWvIutzvNNYNpmvdXppmkrHazH8Li3itFg6Y6p9w8pqgHUZ5D7tfw_-1pwUsTR1TJXN6rGmYK1GFr/s72-c/cas_flow_diagram.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5640892528206183955</id><published>2015-02-12T07:15:00.001-08:00</published><updated>2015-02-12T07:15:57.699-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="EmptyInterceptor"/><category scheme="http://www.blogger.com/atom/ns#" term="IInterceptor  kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="NHiberNate"/><category scheme="http://www.blogger.com/atom/ns#" term="NHiberNate ile EmptyInterceptor ve IInterceptor Kullanarak Loglama Nasıl Yapılır"/><category scheme="http://www.blogger.com/atom/ns#" term="Nhibernate Loglama"/><title type='text'>NHiberNate ile EmptyInterceptor ve IInterceptor Kullanarak Loglama Nasıl Yapılır ? </title><content type='html'>&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Merhabalar değerli okurlar,&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Bugün sizlere NHibernate kullanarak Logging işlemini nasıl yapılabileceğini anlatacağım. Senaryomuzdan hemen bahsetmek istiyorum. Var olan herhangi bir database içerisinde dilediğimiz bir tablo üzerinde yapılan işlemi ve işlemdeki verileri loglamak istediğimizi düşünelim. Alacağımız log bilgilerinde hangi kullanıcının hangi tablo içindeki hangi veri üzerinde hangi işlemi yaptını ve işlem sonucundaki verinin kaydını tuttuğumuzu düşünelim. Oluşturduğumuz senaryo loglama sistemi için şuan yeterli görünmekte. Dilerseniz siz log kayıt bilgilerine istediğiniz bilgiyi ekleyebilirsiniz.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
İlk olarak eğer yapılan işlemi database üzerine yansıtılmadan yakalamak ve ona göre işlem yapmak istiyorsak , ki senaryomuz gereği bunu yapmamız gerekir. Çünkü yapılan işlemi application katmanında her işlemde parametre olarak almaktansa bu şekilde işlem database üzerine yansıtılmadan araya girip yapılan işlemi ve veriyi yakalamak çok daha mantıklı ve profesyonelce durmaktadır.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Eğer orm olarak NHibernate kullanıyorsak ve yukarıda tanımladığım işlemi yapmak istiyorsak, NHibernate içerisinde bulunan&amp;nbsp;IInterceptor inteface ini incelemek ve bu interface i kendine implemente etmiş olan&amp;nbsp;EmptyInterceptor class ını iyi anlamamız gerekmektedir.&amp;nbsp;IInterceptor interface i içerisindeki methodları incelecek olursak ,&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
void AfterTransactionBegin(ITransaction tx); // Kullanılan session içerisindeki transaction başladıktan sonra tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
void AfterTransactionCompletion(ITransaction tx); //&amp;nbsp;Kullanılan session içerisindeki transaction tamamlandıktan&amp;nbsp;sonra tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
void BeforeTransactionCompletion(ITransaction tx); //Kullanılan session içerisindeki transaction tamamlanmadan önce tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
....&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
....&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
....&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Methodların isimlerinden ne zaman tetiklendiği zaten belli olmaktadır. Bizim senaryomuz gereği kullanacağımız methodlar ise ;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
void OnDelete(object entity, object id, object[] state, string[] propertyNames, IType[] types); // Entity nin silinmeden önce tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
bool OnFlushDirty(object entity, object id, object[] currentState, object[] previousState, string[] propertyNames, IType[] types);&amp;nbsp;// Entity nin güncellenmeden&amp;nbsp;önce tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types);&amp;nbsp;// Entity nin eklenmeden&amp;nbsp;önce tetiklenen method&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
EmptyInterceptor class&#39;ına bakacak olursak,&amp;nbsp;IInterceptor interface ini implemente ettiğini ve bu interface içerisindeki methodları virtual olarak hazırladığını görmekteyiz. Bu şu anlama gelmektedir. Eğer ben bu class üzerinden miras alarak kendi class&#39;ımı oluşturursam, OOP mantığı ile hem&amp;nbsp;IInterceptor interface indeki tüm methodları yapabilir hale gelmiş oluyorum, hem de minimum istekleri karşılayıp sadece kendi özel olarak kodlamak istediğim methodları ezerek, yapmak istediğim işleri yapabilir hale geliyorum. OOP&#39;ın bu güzel nimetlerini kullanarak kendi&amp;nbsp;Interceptor class&#39;ımı oluşturup onu adeta bir log class&#39;ı haline sokabilirim. Aynen şu şekilde ,&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
[Serializable]&lt;br /&gt;public class MyInterceptor : EmptyInterceptor&lt;br /&gt;{&lt;br /&gt;public string _databaseName = &quot;&quot;;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
public string _kullaniciAdi = &quot;&quot;;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
public string _sifre = &quot;&quot;;&lt;br /&gt;public MyInterceptor(string databaseName,string kullaniciAdi,string sifre)&lt;br /&gt;{&lt;br /&gt;_databaseName = databaseName;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
_kullaniciAdi =&amp;nbsp;kullaniciAdi;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
_sifre =&amp;nbsp;sifre;&lt;br /&gt;}&lt;br /&gt;public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types)&lt;br /&gt;{&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
// &amp;nbsp;yapılan işlem insert işlemidir ve insert yapılan nesne, property isimleri, tipleri gelmektedir. Bu bilgilerden faydalanarak şu tablo üzerinde şu veri üzerinde şu işlem yapıldı. diyebiliyoruz. Constructure methodunda da kullanıcı adı ve şifre bilgisini alıyorum. İsterseniz sadece kullanıcı bilgisini alabilirsiniz. Tamamen size kalmış bir durum. Tüm bilgileri aldıktan sonra loglama işlemini dilediğimiz gibi yapabiliriz.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br /&gt;return true;&lt;br /&gt;&lt;br /&gt;}&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br /&gt;public override void OnDelete(object entity, object id, object[] state, string[] propertyNames, IType[] types)&lt;br /&gt;{&lt;br /&gt;// &amp;nbsp;yapılan işlem&amp;nbsp;delete&amp;nbsp;işlemidir ve&amp;nbsp;delete&amp;nbsp;yapılan nesne, property isimleri, tipleri gelmektedir. Bu bilgilerden faydalanarak şu tablo üzerinde şu veri üzerinde şu işlem yapıldı. diyebiliyoruz. Constructure methodunda da kullanıcı adı ve şifre bilgisini alıyorum. İsterseniz sadece kullanıcı bilgisini alabilirsiniz. Tamamen size kalmış bir durum. Tüm bilgileri aldıktan sonra loglama işlemini dilediğimiz gibi yapabiliriz.&lt;br /&gt;}&lt;br /&gt;public override bool OnFlushDirty(object entity, object id, object[] currentState, object[] previousState, string[] propertyNames, IType[] types)&lt;br /&gt;{&lt;br /&gt;// &amp;nbsp;yapılan işlem&amp;nbsp;update&amp;nbsp;işlemidir ve&amp;nbsp;update&amp;nbsp;yapılan nesnenin güncellenmek istenen değerleri ve veri tabanında kayıtlı olan değerleri, property isimleri, tipleri gelmektedir. Bu bilgilerden faydalanarak şu tablo üzerinde şu veri üzerinde şu işlem yapıldı. diyebiliyoruz. Constructure methodunda da kullanıcı adı ve şifre bilgisini alıyorum. İsterseniz sadece kullanıcı bilgisini alabilirsiniz. Tamamen size kalmış bir durum. Tüm bilgileri aldıktan sonra loglama işlemini dilediğimiz gibi yapabiliriz.&lt;br /&gt;return true;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Evet değerli okurlar, artık&amp;nbsp;Interceptor class&#39;ımız hazır. Tek yapmamız gereken&amp;nbsp;Interceptor class&#39;ımızı session üzerinde tutturmak ve configuration bilgilerine eklemek. Bunun için aşağıdaki kodları yazmamız yeterli olacaktır.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Configuration cfg = new Configuration();&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
public&amp;nbsp;MyInterceptor ins = new&amp;nbsp;MyInterceptor (&quot;myLogDatabaseName&quot;);&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
cfg.SetInterceptor(ins);&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
ISessionFactory factory ;&lt;br /&gt;ISession session;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
factory = cfg.BuildSessionFactory();&lt;br /&gt;session = factory.OpenSession(ins);&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
kodlar yeterli olacaktır. Umarım faydalı olmuştur değerli okurlar.&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Bir sonraki makalemde görüşmek üzere.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
&lt;br data-mce-bogus=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;div style=&quot;color: #333333; font-family: Georgia, &#39;Times New Roman&#39;, &#39;Bitstream Charter&#39;, Times, serif; font-size: 16px; line-height: 24px;&quot;&gt;
Koray Düzgün. MCTS&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5640892528206183955/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2015/02/nhibernate-ile-emptyinterceptor-ve.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5640892528206183955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5640892528206183955'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2015/02/nhibernate-ile-emptyinterceptor-ve.html' title='NHiberNate ile EmptyInterceptor ve IInterceptor Kullanarak Loglama Nasıl Yapılır ? '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-8345190263660608538</id><published>2015-01-27T01:19:00.000-08:00</published><updated>2015-01-27T01:19:52.485-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="code 29506"/><category scheme="http://www.blogger.com/atom/ns#" term="code 29506 sql"/><category scheme="http://www.blogger.com/atom/ns#" term="code 29506 sql kurulum"/><category scheme="http://www.blogger.com/atom/ns#" term="Mssql"/><category scheme="http://www.blogger.com/atom/ns#" term="Mssql hata code 29506"/><category scheme="http://www.blogger.com/atom/ns#" term="Mssql Server Express Kurulum Hata code 29506"/><category scheme="http://www.blogger.com/atom/ns#" term="Mssql Server Kurulum"/><title type='text'>MSSQL Kurulumunda Hata ( code 29506 sql )</title><content type='html'>Merhabalar arkadaşlar ,&lt;br /&gt;
&lt;br /&gt;
Mssql expres sürümlerinden kurulum yaparken &quot;code 29506&quot; hatası alıyorsanı yapmanız gereken adımlar şunlar olmalıdır ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;C:\Windows\System32 içerisinde bulunan cmd.exe yi yönetici olarak çalıştırın ,&lt;/li&gt;
&lt;li&gt;Sonrasında cd\&quot;kurulum dosyasının bulunduğu dizin&quot; yazıp Enter&#39;a basın&lt;/li&gt;
&lt;li&gt;Daha sonra kurulum dosyasının tam adını yazın ve Enter&#39;a basın.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;&lt;br /&gt;
Tekrardan kurulum ekranı açılacaktır. Sonrasındaki standart kurulum aşamalarını yaparak kurulumu başarılı bir şekilde tamamlayabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Umarım faydalı olmuştur.&lt;br /&gt;
&lt;br /&gt;
Bir sonraki makalede görüşmek üzere.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/8345190263660608538/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2015/01/mssql-kurulumunda-hata-code-29506-sql.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8345190263660608538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8345190263660608538'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2015/01/mssql-kurulumunda-hata-code-29506-sql.html' title='MSSQL Kurulumunda Hata ( code 29506 sql )'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-1764919887536799094</id><published>2015-01-02T05:17:00.000-08:00</published><updated>2015-01-02T05:17:56.875-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Aforge"/><category scheme="http://www.blogger.com/atom/ns#" term="C# Captcha Decoding"/><category scheme="http://www.blogger.com/atom/ns#" term="Captcha Decoding"/><category scheme="http://www.blogger.com/atom/ns#" term="emgucv"/><category scheme="http://www.blogger.com/atom/ns#" term="has image"/><category scheme="http://www.blogger.com/atom/ns#" term="koray düzgün"/><category scheme="http://www.blogger.com/atom/ns#" term="Mean Filter"/><category scheme="http://www.blogger.com/atom/ns#" term="Median Filter"/><category scheme="http://www.blogger.com/atom/ns#" term="tesseract"/><title type='text'>C# ile Captcha Decoding - Mean ve Median Filtre Kullanımı</title><content type='html'>&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Merhabalar değerli okurlar ,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;bugün sizlerle birlikte biraz resim işleme durumlarını inceleyeceğiz. Senaryomuz, hepimizin bildiği captcha yani resim doğrulama kodlarını otomatik olarak çözümleyip içerisindeki karakterlerin neler olduğunu bize veren bir uygulama hazırlamak olacak. İlk olarak sonuca ulaşmamız için captcha resmindeki kirliliği temizlememiz gerekecek. Kirlilik derken aslında resim içerisindeki karakterlerin zor okunması için hazırlanan desenlerden bahsediyorum. Desen dediğim için gözünüz korkmasın sakın, çünkü aslında desen dediğimiz şey temelinde pixel. Peki aslında her şey resim üzerinde pixel ise, harfler de pixeldir. Harf ve desenleri nasıl ayıracağız ? Bu sorunun çözümü aslında kişiden kişiye değişir. Bunun sebebi de bu soruna çözüm algoritmik olarak verilmektedir. Belirli hazır olan algoritmalar var elbet, fakat her captcha için geçerli değil. Peki bizim yapacağımız da her captcha için geçerli olacak mı ? Ağırlıklı olarak evet geçerli olacak. Çünkü zor bir captcha üzerinde çalıştım. Ama çözümlemeye çalıştığımız captcha&#39;dan daha zor bir captcha verirseniz çözemeyebilir. Baştan söyleyim hazırlıklı olun :)&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Gelelim resim üzerindeki deseni nasıl temizleyeceğiz ? Bu duruma çözüm olarak benim kurmuş olduğum algoritma şu şekildedir.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;1-) Resmi siyah beyaz yap&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;2-) Resmin 0,0 noktasından başlayarak 3*3 pixel (yani her bir zıplamada 9 pixel) tara.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;3-) Alınan 3*3 pixellerin ortalaması belirli bir ortalamadan küçük ise tüm hepsini beyaz yap&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;4-) Büyük ise orjinal pixel değerlerini koru.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Bu algoritmada şu sonuç ortaya çıkıyor. Resmi tamamen tarıyorum ve aslında benim için önemli olarak bir mean belirliyorum. Eğer pixellerin ortalama değeri benim belirlediğim ortalama değerden düşük ise o bölgeyi beyaza çevirerek temizlemiş oluyorum. Bu yönteme Image Processing alanı içerisinde Mean Filtering deniliyor. Farklı filtreleme yöntemleri de mevcut. Siz farklı şekilde uygulayabilirsiniz.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Peki gelelim kod kısmına. Resmi siyah beyaz yapan kod parçacıklarını rahatlıkla bulabilirsiniz. Fakat ben gene de sizinle paylaşıyorum .&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;using (var original = new Bitmap(pb1.Image))&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (var resized = new Bitmap(original/*, new Size(pb1.Image.Width * 8, pb1.Image.Height * 8)*/))&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; original.Dispose();&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (var bmp = new Bitmap(resized))&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int y = 0; y &amp;lt; bmp.Height; y++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int x = 0; x &amp;lt; bmp.Width; x++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Color eski = bmp.GetPixel(x, y);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int ortalama = (eski.R + eski.G + eski.B) / 3;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Color yeni = eski;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ortalama &amp;gt; 213)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yeni = Color.White;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yeni = Color.Black;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bmp.SetPixel(x, y, yeni);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Resmi siyah beyaz yaptıktan sonra sıra geldi kurmuş olduğumuz algoritmanın kodlarına. İşte bu kodlar ,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp;private void Maskeleme(Image image, string filename, int size, int ortalama)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (var bmp = new Bitmap(image))&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; using (var yenibmp = new Bitmap(bmp.Width, bmp.Height, PixelFormat.Format32bppRgb))&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int y = 0; y &amp;lt; bmp.Height; y++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var baslangicy = y;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var bitisy = y + size;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bmp.Height &amp;lt; bitisy)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bitisy = bmp.Height;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int x = 0; x &amp;lt; bmp.Width; x++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var baslangicx = x;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var bitisx = x + size;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bmp.Width &amp;lt; bitisx)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; bitisx = bmp.Width;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var kucukbmp = bmp.Clone(new Rectangle(baslangicx, baslangicy, bitisx - baslangicx, bitisy - baslangicy), System.Drawing.Imaging.PixelFormat.Format32bppRgb);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int ortalamaKucuk = 0, toplamRenk = 0;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; kucukbmp.Width; i++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j = 0; j &amp;lt; kucukbmp.Height; j++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; toplamRenk += (kucukbmp.GetPixel(i, j).R + kucukbmp.GetPixel(i, j).G + kucukbmp.GetPixel(i, j).B) / 3;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ortalamaKucuk = toplamRenk / (kucukbmp.Height * kucukbmp.Width);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (ortalamaKucuk &amp;gt; ortalama)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; kucukbmp.Width; i++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j = 0; j &amp;lt; kucukbmp.Height; j++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yenibmp.SetPixel(baslangicx + i, baslangicy + j, Color.White);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int i = 0; i &amp;lt; kucukbmp.Width; i++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for (int j = 0; j &amp;lt; kucukbmp.Height; j++)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yenibmp.SetPixel(baslangicx + i, baslangicy + j, kucukbmp.GetPixel(i, j));&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; x += (size - 1);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bitisx == bmp.Width)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //renkler.Add(bmp.GetPixel(x, y));&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; y += (size - 1);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (bitisy == bmp.Height)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; yenibmp.Save(Application.StartupPath + &quot;\\&quot; + filename);&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Maskeleme methodumuzu uyguladıktan sonra bir de Median Filtre uygularsak eğer daha temiz sonuç alırız. Bunun için Aforge kütüphanesi içerisinde bulunan Median filtresini uygulayacağız. Kodlar ;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp;private void MedianFilterUygula(string sourceFile, string destinationFile)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Drawing.Bitmap imageX = new Bitmap(Image.FromFile(sourceFile));&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.Drawing.Bitmap image = AForge.Imaging.Image.Clone(imageX, System.Drawing.Imaging.PixelFormat.Format24bppRgb);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AForge.Imaging.Filters.Median filter = new Median();&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bitmap newImage = filter.Apply(image);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newImage.Save(destinationFile);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pb1.Image = newImage;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Peki şimdi resmi siyah beyaz yaptık, maskeleme methodumuz ile desenleri de temizledik. Peki harfleri resim içerisinden nasıl tanıyacağız ? Bu durumda kullanılan en yaygın yöntem her bir karakterin 1 ve 0 olarak haritası ile resim içerisinde eşleştirme yapmak. Fakat bu yöntem ile resim içerisinde karakterler yatay oldukça, sonuç alma ihtimali de azalıyor. Fakat bir çok hazır kütüphane bu yöntemi kullandığı için ve Amerika&#39;yı yeniden keşfetmemek için biz de bu yöntemi kullanacağız.Bu yöntemi kullanan hazır kütüphaneler ise , Aforge , Microsoft Office Document Imaging (MODI) , tesseract , ... Daha gelişmiş olarak ise EmguCV&#39;yi kullanabilirsiniz.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Biz bu kütüphaneler içerisinden tesseract&#39; ı kullanacağız. Bunun için kodlar aşağıdaki şekilde olmalıdır.&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;public Form1()&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; InitializeComponent();&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // aşağıdaki kod ile indirmiş olduğumuz tessdata klasörü ile tesseract engine i başlatıyoruz.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _ocr.Init(&quot;tessdata&quot;, &quot;eng&quot;, Tesseract.OcrEngineMode.OEM_DEFAULT);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _ocr.SetVariable(&quot;tessedit_char_whitelist&quot;, &quot;0123456789&quot;);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp;private void DoOcr(string file)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var result = &quot;&quot;;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Image&amp;lt;Bgr, Byte&amp;gt; image = new Image&amp;lt;Bgr, byte&amp;gt;(file);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; _ocr.Recognize(image);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var characters = _ocr.GetCharactors();&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; foreach (var c in characters)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result += c.Text;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; image.Dispose();&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; result = Regex.Replace(result, &quot;[^0-9]+&quot;, &quot;&quot;).Replace(&#39;o&#39;, &#39;0&#39;);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (Exception exception)&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; MessageBox.Show(exception.Message);&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; label1.Text = result;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Yukarıdaki DoOcr fonksiyonumuz , verilen captcha resim yolundaki resim içerisindeki harfler detect edip sonuç olarak verir.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Tüm işlemler tamamlandıktan sonra kırmaya çalıştığımız captcha resmi ;&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/4442.captcha.png&quot; style=&quot;background-color: white; color: #00749e; cursor: pointer; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-05/4442.captcha.png&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Siyah beyaz yaptıktan ve maskeleme methodunu uyguladıktan sonra ki hali&amp;nbsp;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/3482.deneme.jpg&quot; style=&quot;background-color: white; color: #00749e; cursor: pointer; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-05/3482.deneme.jpg&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Median filtre uyguladıktan sonraki hali ,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1680.denemeMedian.jpg&quot; style=&quot;background-color: white; color: #00749e; cursor: pointer; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1680.denemeMedian.jpg&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Programın çalışmış ve sonucu vermiş hali ise ,&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/1172.sonuc.png&quot; style=&quot;background-color: white; color: #00749e; cursor: pointer; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/350x0/__key/communityserver-wikis-components-files/00-00-00-00-05/1172.sonuc.png&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Referans etmeniz gereken kütüphaneler ise ;&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/3005.kutuphaneler.png&quot; style=&quot;background-color: white; color: #00749e; cursor: pointer; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/3005.kutuphaneler.png&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;span style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Umarım faydalı olmuştur değerli okurlar. Bir sonraki makalede görüşmek dileğiyle esen kalın, teknoloji ile kalın.&lt;/span&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;strong style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;Koray Düzgün&amp;nbsp;&lt;/strong&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;br style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot; /&gt;&lt;strong style=&quot;background-color: white; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 16.9545593261719px;&quot;&gt;MCTS&amp;nbsp;&lt;/strong&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/1764919887536799094/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2015/01/c-ile-captcha-decoding-mean-ve-median.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1764919887536799094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1764919887536799094'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2015/01/c-ile-captcha-decoding-mean-ve-median.html' title='C# ile Captcha Decoding - Mean ve Median Filtre Kullanımı'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-8301487303655106208</id><published>2014-09-03T06:04:00.003-07:00</published><updated>2014-09-03T06:04:50.458-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dbContext.Entry(Entity).State = System.Data.EntityState.Added;"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework Tablo Bağımsız CRUD İşlemleri"/><category scheme="http://www.blogger.com/atom/ns#" term="System.Data.Entity.DbContext"/><title type='text'>Entity Framework Tablo Bağımsız CRUD İşlemleri -  dbContext.Entry(Entity).State = System.Data.EntityState.Added;</title><content type='html'>&lt;h1 class=&quot;post-name&quot; style=&quot;background-color: white; clear: both; color: #707070; font-family: &#39;Segoe UI Light&#39;, &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 36px; font-weight: 100; line-height: 1.3; margin: 0px;&quot;&gt;
Entity Framework Tablo Bağımsız CRUD İşlemleri tr-TR&lt;/h1&gt;
&lt;div class=&quot;post-content user-defined-markup&quot; style=&quot;background-color: white; border: 0px; color: #2a2a2a; font-family: &#39;Segoe UI&#39;, &#39;Lucida Grande&#39;, Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 1.4; max-width: 100%; overflow: hidden; padding: 10px 0px; position: relative;&quot;&gt;
&lt;strong&gt;Merhabalar ,&lt;br /&gt;&lt;br /&gt;Entity Framework kullanarak database uygulaması geliştirirken herhangi bir tablo üzerinde Crud(Create-Update-Delete) işlemleri yaparken ilk olarak hangi tablo üzerinde işlem yapılacağının bilinmesi gerekir. Daha sonra Update ve Delete işlemlerinde silinecek veya düzenlenecek olan kaydı bulup hangi tabloda ise gerekli işlemleri yapmamız gerekir.Geniş çaplı bir projeniz olduğunu düşünün ve tüm bu işlemleri her bir tablo işlemi için yaptığınızı düşünün. Tüm bu işlemleri tablo ayırt etmeden tek bir class içerisinde yaptığımızda kazanılacak zaman ve hız ciddi anlamda önem kazanmaktadır. Hoş genelde bu tarz klasik ve kolay olan işlemleri genelde junior developper lar yapar ama olsun :)&lt;br /&gt;&lt;br /&gt;Şimdi tablo farketmeksizin CRUD işlemlerini nasıl yapacağımızı görelim.&amp;nbsp;&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 12.1px;&quot;&gt;&lt;strong&gt;İlk olarak tabi ki Entity Database Model&#39;imizi oluşturmamız gerekmektedir.&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 12.1px;&quot;&gt;&lt;strong&gt;Daha sonrasında kodlarını hazır olarak vereceğim class&#39;ın kullanılacağı projenin içerisine Entity Framework 5.0.0.0 versiyonunu kurmamız gerekmektedir. Bunun için yapmamız gereken ise ilk olarak resimdeki yerden Package Manager Console&#39;u açmamız gerekir.&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 12.1px;&quot;&gt;&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 12.1px;&quot;&gt;&lt;strong&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/508362.1.jpg&quot; style=&quot;color: #00749e; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;&quot;&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/508362.1.jpg&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/a&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Daha sonra açılan pencerede :&amp;nbsp;&lt;span style=&quot;color: #548dd4;&quot;&gt;install-package entityframework -version 5.0.0.0&lt;/span&gt;&amp;nbsp;yazıp, entity framework paketinin hangi projeye yukleneceği secildikten sonra Enter&#39;a basıp yüklemeyi tamamlayabiliriz.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/8738.2.jpg&quot; style=&quot;color: #00749e; cursor: pointer; outline: none; text-decoration: none;&quot;&gt;&lt;strong&gt;&lt;img alt=&quot; &quot; src=&quot;http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/8738.2.jpg&quot; style=&quot;border-style: solid; border-width: 0px; height: auto !important; max-width: 100%; overflow: hidden;&quot; /&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Entity Framework kurulumlarını yaptıktan sonra bir Class oluşturup aşağıdakı kodları kullanabiliriz.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;br /&gt;&lt;strong&gt;&lt;em&gt;&lt;span style=&quot;color: #548dd4; font-size: 13px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public string Add(System.Data.Entity.DbContext dbContext,object Entity)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.Entry(Entity).State = System.Data.EntityState.Added;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.SaveChanges();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Başarılı&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Hatalı&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public string Edit(System.Data.Entity.DbContext dbContext, object Entity)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.Entry(Entity).State = System.Data.EntityState.Modified;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.SaveChanges();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Başarılı&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Hatalı&quot;;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public string Delete(System.Data.Entity.DbContext dbContext, object Entity)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;try&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.Entry(Entity).State = System.Data.EntityState.Deleted;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;dbContext.SaveChanges();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Başarılı&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;catch&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return &quot;Hatalı&quot;;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Son olarak da aşağıda bu methodları nasıl kullanacağımızın kodları mevcuttur.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;strong&gt;&lt;em&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #548dd4; font-size: 13px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var service = new Service.BaseCrudService();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;var kategori = new Data.Category&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CategoryID = 11,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CategoryName = &quot;deneme1&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Description = &quot;acıklama1&quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Picture = null&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; service.Add(new Data.NorthwindEntities(), kategori);&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Yapacağımız işlemlerin hepsi bu kadar. Böylelikle CRUD işlemlerini tek bir Class içerisinde sadece bir kez yazmış olduk ve daha güzel olan tüm tablo ve tüm modeller için geçerli oldu.&lt;br /&gt;&lt;br /&gt;Şuan Dynamic Lambda Expression üzerinde çalışıyorum.Her türlü search işlemlerini kabul eden ve gene model ve tablo bağımsız çalışan bir Class yazmayı hedefliyorum.Bitti anda hemen sizlerle paylaşacağım.&lt;br /&gt;&lt;br /&gt;Görüşmek üzere.&lt;br /&gt;&lt;br /&gt;Koray Düzgün.&lt;/strong&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/8301487303655106208/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/09/entity-framework-tablo-bagmsz-crud.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8301487303655106208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8301487303655106208'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/09/entity-framework-tablo-bagmsz-crud.html' title='Entity Framework Tablo Bağımsız CRUD İşlemleri -  dbContext.Entry(Entity).State = System.Data.EntityState.Added;'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5001966935882538764</id><published>2014-08-26T04:46:00.000-07:00</published><updated>2014-08-26T04:46:48.447-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="change owner sql"/><category scheme="http://www.blogger.com/atom/ns#" term="change table owner dbo"/><category scheme="http://www.blogger.com/atom/ns#" term="sql tablo dbo değiştirme"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Tablo Owner Değiştirme ( How to change ownership table Sql)"/><category scheme="http://www.blogger.com/atom/ns#" term="sql tablo user değiştirme"/><title type='text'>Sql Tablo Owner Değiştirme ( How to change ownership table Sql)</title><content type='html'>Merhaba arkadaşlar,&lt;br /&gt;
&lt;br /&gt;
Bugün sizlere database üzerinde önceden farklı kullanıcı bilgileri ile oluşturduğumuz tabloların kullanıcı owner bilgisini nasıl değiştireceğimizi göstereceğim. Tek yapmamız gereken ilgili database üzerinde çalışacak yeni bir query penceresi açıp içerisine,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9DttRofq9gPUYAOg5KJHwVBX05F74Ns0i1eeYHlrCYQWjJjaU5_fcOM6W_rGzcbNjLorQ5Nm4v8tjCw92wZVpAg3bP6k2FcPGLhSYdnuA8HTePqfB6fbk7QRUImXJ_7DbfB6Ca1xIaOy2/s1600/sp_changeobjectowner.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9DttRofq9gPUYAOg5KJHwVBX05F74Ns0i1eeYHlrCYQWjJjaU5_fcOM6W_rGzcbNjLorQ5Nm4v8tjCw92wZVpAg3bP6k2FcPGLhSYdnuA8HTePqfB6fbk7QRUImXJ_7DbfB6Ca1xIaOy2/s1600/sp_changeobjectowner.png&quot; height=&quot;24&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
sql komutunu yazıp çalıştırmak. Bu komutla sadece tablo owner bilgisini değil database üzerinde var olan nesnelerin owner bilgilerini de değiştirebilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Bir sonraki makale veya ipuçlarında görüşmek dileğiyle.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5001966935882538764/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/08/sql-tablo-owner-degistirme-how-to.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5001966935882538764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5001966935882538764'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/08/sql-tablo-owner-degistirme-how-to.html' title='Sql Tablo Owner Değiştirme ( How to change ownership table Sql)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9DttRofq9gPUYAOg5KJHwVBX05F74Ns0i1eeYHlrCYQWjJjaU5_fcOM6W_rGzcbNjLorQ5Nm4v8tjCw92wZVpAg3bP6k2FcPGLhSYdnuA8HTePqfB6fbk7QRUImXJ_7DbfB6Ca1xIaOy2/s72-c/sp_changeobjectowner.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-2965705215987922026</id><published>2014-06-17T07:48:00.000-07:00</published><updated>2014-06-17T07:48:08.838-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp .net"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp cookies"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp DeleteCookie"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp SetCookie"/><category scheme="http://www.blogger.com/atom/ns#" term="Chromium Embeded Framework Cookie İşlemleri (SetCookie"/><category scheme="http://www.blogger.com/atom/ns#" term="DeleteCookie)"/><title type='text'>Chromium Embeded Framework Cookie İşlemleri (SetCookie,DeleteCookie)</title><content type='html'>Merhabalar arkadaşlar CEF ( Chromium Embeded Framework) ile ilgili önceki makalelerimde embed yapmayı ve User agent bilgisinin değiştirilmesini paylaşmıştım.Bu makalemde ise Cef kullanarak Cookie oluşturma ve silme işlemlerinin nasıl yapıldığından bahsedeceğim.&lt;br /&gt;
&lt;br /&gt;
Cef kullanarak Cookie oluşturmak için ,&lt;br /&gt;
&lt;br /&gt;
CefSharp.CEF.SetCookie(&quot;Cookie oluşturan url&quot;, &quot;Cookie oluşturan url in domaini&quot;, &quot;cookie name&quot;, &quot;cookie value&quot;,CookieExpriedTime);&lt;br /&gt;
&lt;br /&gt;
Cef kullanarak Cookie silmek için ise ,&lt;br /&gt;
&lt;br /&gt;
CefSharp.CEF.DeleteCookies(&quot;Oluşturulan cookienin url i&quot;, &quot;cookie name&quot;);&lt;br /&gt;
&lt;br /&gt;
Sadece bu kadar. Bir sonraki makalemde görüşmek üzere.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/2965705215987922026/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-cookie.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2965705215987922026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2965705215987922026'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-cookie.html' title='Chromium Embeded Framework Cookie İşlemleri (SetCookie,DeleteCookie)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5079907208677969540</id><published>2014-06-17T07:35:00.000-07:00</published><updated>2014-06-17T07:35:09.404-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp user agent"/><category scheme="http://www.blogger.com/atom/ns#" term="Change user agent"/><category scheme="http://www.blogger.com/atom/ns#" term="change user agent on cefSharp"/><category scheme="http://www.blogger.com/atom/ns#" term="Chromium Embeded Framework User Agent"/><category scheme="http://www.blogger.com/atom/ns#" term="user agent on Cef"/><title type='text'>Chromium Embeded Framework User Agent Değiştirme(Change)</title><content type='html'>Merhabalar arkadaşlar ,&lt;br /&gt;
&lt;br /&gt;
Bir önceki makalemde sizlerle .net ortamında windows form application içerisine Chromium Embeded Framework&#39;u nasıl embed edildiğini paylaşmıştım. Bu makalemde ise embed ettiğimiz CEF üzerinden bağlantı sağlanırken User-Agent bilgisini nasıl değiştirildiğini paylaşacağım.&lt;br /&gt;
&lt;br /&gt;
CEF&#39;i başarılı bir şekilde embed ettikten sonra yapmanız gereken global değişken olarak ,&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;private readonly CefSharp.WinForms.WebView CefBrowser;&lt;br /&gt;
&amp;nbsp;CefSharp.Settings ayar = new CefSharp.Settings();&lt;br /&gt;
&lt;br /&gt;
tanımlamak.Daha sonrasında ise&amp;nbsp;IRequestHandler interface ini formunuza implemente etmeniz gerekmektedir.Ve son olarak Form&#39;unuzun constructure kısmına aşağıdaki kodları yazmanız yeterli olacaktır.&lt;br /&gt;
&lt;br /&gt;
ayar.UserAgent = &quot;Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)&quot;;&lt;br /&gt;
CEF.Initialize(ayar);&lt;br /&gt;
CefBrowser= new WebView();&lt;br /&gt;
CefBrowser.Dock = DockStyle.Fill;&lt;br /&gt;
CefBrowser.RequestHandler = this;&lt;br /&gt;
CefBrowser.Address = &quot;www.google.com&quot;;&lt;br /&gt;
this.Controls.Add(CefBrowser);&lt;br /&gt;
&lt;br /&gt;
Umarım faydali olmuştur.Bir sonraki makalemde görüşmek üzere.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5079907208677969540/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-user-agent.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5079907208677969540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5079907208677969540'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-user-agent.html' title='Chromium Embeded Framework User Agent Değiştirme(Change)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-7684539073906221284</id><published>2014-06-17T00:55:00.000-07:00</published><updated>2014-06-17T00:55:48.471-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp .net"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp cookies"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp example"/><category scheme="http://www.blogger.com/atom/ns#" term="CefSharp windows form"/><category scheme="http://www.blogger.com/atom/ns#" term="Chromium Embeded Framework .Net C# Windows Forms"/><title type='text'>Chromium Embeded Framework .Net C# Windows Forms</title><content type='html'>Merhabalar arkadaşlar,&lt;br /&gt;
&lt;br /&gt;
Bugün sizlere windows form application içerisine chrome&#39;u nasıl embed edeceğimizi anlatacağım.İnternet üzerinde araştırma yaptığımda ingilizce kaynaklarda bir kaç tane yapılmış örnek uygulamalar mevcut fakat indirip denediğimde hiç biri çalışmıyor ya da ben yapamadım :D. Türkçe kaynak ise doğru düzgün bulamadığım için paylaşmak istedim.&lt;br /&gt;
&lt;br /&gt;
İlk başta aşağıdaki linkte gerekli olan .dll dosyaları mevcuttur.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.dropbox.com/s/dl4d4ht1xmysnaf/CefSharp-1.25.0.7z&quot; target=&quot;_blank&quot;&gt;https://www.dropbox.com/s/dl4d4ht1xmysnaf/CefSharp-1.25.0.7z&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Benim yapmış olduğum örnek uygulama ise ,&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://www.dropbox.com/s/jw5gvhtafvin3wq/chromeEmbed.rar&quot; target=&quot;_blank&quot;&gt;https://www.dropbox.com/s/jw5gvhtafvin3wq/chromeEmbed.rar&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Kendi uygulamanıza direk eklemek istiyorsanız yapmanız gereken adımlar şu şekilde olmalıdır ,&lt;br /&gt;
&lt;br /&gt;
1.) Vermiş olduğu ilk linkteki .dll leri indirin.&lt;br /&gt;
2.)&amp;nbsp;CefSharp.dll ,&amp;nbsp;CefSharp.Example.dll ve&amp;nbsp;CefSharp.WinForms.dll projenize referans olarak ekleyin.&lt;br /&gt;
3.) İndirmiş olduğunuz .dll dosyalarının hepsini projenizin ../Debug/bin/ klasörü içerisine kopyalayın.&lt;br /&gt;
4.)&amp;nbsp;using CefSharp.WinForms; kodu ile namespace i using tag ına ekleyin.&lt;br /&gt;
5.) &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CefSharp.WinForms.WebView wb = new WebView();&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wb.Dock = DockStyle.Fill;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wb.Address = &quot;www.google.com&quot;;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.Controls.Add(wb);&lt;br /&gt;
kodları ile formunuza ekleyebilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Yapmanız gerekenler sadece bu kadar. Eğer cookie oluşturmak istiyorsanız ,&lt;br /&gt;
&lt;br /&gt;
CefSharp.CEF.SetCookie(); kodunu kullanmanız gerekmektedir.&lt;br /&gt;
&lt;br /&gt;
Umarım faydalı olur. Bir sonra ki makalemde görüşmek üzere.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/7684539073906221284/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-net-c.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7684539073906221284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7684539073906221284'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/06/chromium-embeded-framework-net-c.html' title='Chromium Embeded Framework .Net C# Windows Forms'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-7584416355446506068</id><published>2014-04-05T01:38:00.002-07:00</published><updated>2014-04-05T01:41:19.591-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="&quot;Database Diagram Support objects cannot be installed&quot;  Çözümü"/><category scheme="http://www.blogger.com/atom/ns#" term="alter authorization database diagram"/><title type='text'>&quot;Database Diagram Support objects cannot be installed&quot;  Çözümü</title><content type='html'>Merhaba arkadaşlar,&lt;br /&gt;
&lt;br /&gt;
MSSQL üzerinde bulunan databse&#39;inizde ilişki oluşturmak istiyorsanız ve aşağıdaki hatayı alıyorsanız eğer ,&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtC9CCkNDqBuu2zzfgCZDZZGQaD8DlBh2e9-qth4ZEYlUaIv9jrCsycnRPkdA2-kK2wYcMEEoup3GAEIhQ56YrpLW39_a-6LJsxBfnG6y7qW1FBvBmhyphenhyphenBnvjT9IGTM-fkQq_I1_SmUFSH8/s1600/aut.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtC9CCkNDqBuu2zzfgCZDZZGQaD8DlBh2e9-qth4ZEYlUaIv9jrCsycnRPkdA2-kK2wYcMEEoup3GAEIhQ56YrpLW39_a-6LJsxBfnG6y7qW1FBvBmhyphenhyphenBnvjT9IGTM-fkQq_I1_SmUFSH8/s1600/aut.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
yapmanız gereken yeni bir query sayfası açıp aşağıdaki query&#39;i yazıp çalıştırmanız yeterli olacaktır.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ALTER&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ON&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DATABASE&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DatabaseIsmi &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TO&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;KullaniciAdi&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;];&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Kullanici adi bölümüne sql server üzerinde var olan kullanıcıları direk olarak yazabilirsiniz. Eğer windows authorization ile işlem yapmak ve bu kullanıcının yetkisini düzenlemek istiyorsanız yapmanız gereken ,&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;lang-sql prettyprint prettyprinted&quot; style=&quot;background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; font-size: 14px; line-height: 17.804800033569336px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;&quot;&gt;&lt;code style=&quot;border: 0px; font-family: Consolas, Menlo, Monaco, &#39;Lucida Console&#39;, &#39;Liberation Mono&#39;, &#39;DejaVu Sans Mono&#39;, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;&quot;&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ALTER&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;AUTHORIZATION&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;ON&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DATABASE&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;DatabaseIsmi &lt;/span&gt;&lt;span class=&quot;kwd&quot; style=&quot;background-color: transparent; border: 0px; color: darkblue; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;TO&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;PcAdi\PcKullaniciAdi&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;];&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;br /&gt;
Umarım faydalı olur. Görüşmek dileğiyle ...</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/7584416355446506068/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2014/04/database-diagram-support-objects-cannot.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7584416355446506068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7584416355446506068'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2014/04/database-diagram-support-objects-cannot.html' title='&quot;Database Diagram Support objects cannot be installed&quot;  Çözümü'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtC9CCkNDqBuu2zzfgCZDZZGQaD8DlBh2e9-qth4ZEYlUaIv9jrCsycnRPkdA2-kK2wYcMEEoup3GAEIhQ56YrpLW39_a-6LJsxBfnG6y7qW1FBvBmhyphenhyphenBnvjT9IGTM-fkQq_I1_SmUFSH8/s72-c/aut.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-4171230660329049819</id><published>2013-07-10T06:16:00.003-07:00</published><updated>2013-07-10T06:16:53.835-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web service parser error could not create type .net framework 4.0"/><title type='text'>web service parser error could not create type .net framework 4.0</title><content type='html'>Merhaba arkadaşlar ,&lt;br /&gt;
&lt;br /&gt;
bugün web servisler ile ilgili yaşadığım sorunu ve çözümü sizlerle paylaşacağım . Öncelikle durum şudur ; E-Ticaret sisteminin içerisinde Web Service projesi oluşturdum. Gerekli kodları yazdım . Yayında olan E-Ticaret sisteminin ftp server ına servislerimi yukleyecektim. Web Servis projeme sağ tıklayıp Publish dedikten sonra oluşturduğu dosyaları ftp nin içerisine attım . Ftp nin içerisinde Web Projem de olduğu için bu projenin bin klasorü de mevcut idi. Daha sonra bir klasor altına Web Service projemin publish dosyalarını upload ettim. Ornegin : http://www.xxx.com/Servisler/servisadi.asmx olarak browser a girdiğimde karşıma ;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;lt;%&lt;/span&gt;&lt;span style=&quot;border: 0px; color: blue; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #a31515; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;WebService&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: red; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Language&lt;/span&gt;&lt;span style=&quot;border: 0px; color: blue; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&quot;C#&quot;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: red; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;CodeBehind&lt;/span&gt;&lt;span style=&quot;border: 0px; color: blue; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&quot;&lt;span style=&quot;color: black; font-family: &#39;Times New Roman&#39;; font-size: small; line-height: normal;&quot;&gt;servisadi&lt;/span&gt;.asmx.cs&quot;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: red; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;Class&lt;/span&gt;&lt;span style=&quot;border: 0px; color: blue; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&quot;BHI.Rats.&lt;span style=&quot;color: black; font-family: &#39;Times New Roman&#39;; font-size: small; line-height: normal;&quot;&gt;servisadi&lt;/span&gt;&quot;&lt;/span&gt;&lt;span style=&quot;border: 0px; color: #2b91af; font-family: &#39;Segoe UI&#39;, Tahoma, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18.203125px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;nbsp;%&amp;gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
şeklinde bir hata çıktı. Bu hatanın sebebi ise , ftp nin içerisinde Web Projemin oluşturduğu var olan bin klasörü ile Servisler klasörünün içinde bulunan bin klasörünün karışıklık oluşturmasıdır. Yani ben http://www.xxx.com/Servisler/servisadi.asmx olarak ilgili servisi çağırdığımda ilk olarak ana dizindeki bin klasörünün içerisinde servis projemin dll dosyasını arayıp bulamadı için bu şekilde bir hata meydana gelmektedir.&lt;br /&gt;
&lt;br /&gt;
Çözüm ise çok basit . Ana dizindeki bin klasörüne web service projenizin .dll dosyasını atmanı ve çalıştırmanız yeterli olacaktır.Yani kısaca class property sinde yazdığınız classı bu bin klasöründe bulunan dll dosyasında aramasıdır.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/4171230660329049819/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/07/web-service-parser-error-could-not.html#comment-form' title='12 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/4171230660329049819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/4171230660329049819'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/07/web-service-parser-error-could-not.html' title='web service parser error could not create type .net framework 4.0'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5727003091190286422</id><published>2013-07-06T02:11:00.000-07:00</published><updated>2013-07-06T02:11:42.656-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="asp.net routing"/><category scheme="http://www.blogger.com/atom/ns#" term="Asp.Net Web Sitemde Routing Çalışmıyor. Asp.Net Routing Ayarları"/><category scheme="http://www.blogger.com/atom/ns#" term="do not run Rouitng"/><category scheme="http://www.blogger.com/atom/ns#" term="hosting routing"/><category scheme="http://www.blogger.com/atom/ns#" term="Web config"/><title type='text'>Asp.Net Web Sitemde Routing Çalışmıyor. Asp.Net Routing Ayarları</title><content type='html'>Merhaba arkadaşlar. Bugün sizlere ASP.NET ile web sitesi geliştirdiğiniz projelerinizde eğer Routing kullanırsanız yüksek ihtimalle karşılaşacağınız sorunun çözümünü paylaşacağım. İlk olarak routing yapısını kullandıysanız hosting panelinizden ASP.NET ayarlarından Pipeline Mode ayarını Classic den INTEGRATED olarak kaydetmeniz gerekecektir. Gerekli olan hosting ayarını yaptıktan sonra ise Web Site projeniz içerisinde bulunan Web.config dosyanıza Configuration tag ları arasına aşağıdaki configuration satırlarını eklemeniz gerekecektir.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;system.webServer&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;modules runAllManagedModulesForAllRequests=&quot;true&quot;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;remove name=&quot;UrlRoutingModule&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add name=&quot;UrlRoutingModule&quot; type=&quot;System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&quot; /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/modules&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;handlers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name=&quot;UrlRoutingHandler&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; preCondition=&quot;integratedMode&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; verb=&quot;*&quot; path=&quot;UrlRouting.axd&quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; type=&quot;System.Web.HttpForbiddenHandler, System.Web,&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version=2.0.0.0, Culture=neutral,&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PublicKeyToken=b03f5f7f11d50a3a&quot;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/handlers&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/system.webServer&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tüm yapmanız gereken bu kadar. Eğer hosting panelinizde bahsettiğim ayarı bulamazsanız mutlaka hosting firmanızla iletişime geçiniz. Bu ayarı yapmazsanız eğer sisteminiz tekrar 404 hatası verecektir.&lt;br /&gt;
&lt;br /&gt;
Umarım faydalı olmuştur.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5727003091190286422/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/07/aspnet-web-sitemde-routing-calsmyor.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5727003091190286422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5727003091190286422'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/07/aspnet-web-sitemde-routing-calsmyor.html' title='Asp.Net Web Sitemde Routing Çalışmıyor. Asp.Net Routing Ayarları'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-8780564262238398863</id><published>2013-05-27T14:27:00.001-07:00</published><updated>2013-05-29T14:47:02.924-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="A potentially dangerous Request.Form value was detected from the client"/><category scheme="http://www.blogger.com/atom/ns#" term="asp.net html güvenlik"/><category scheme="http://www.blogger.com/atom/ns#" term="hata"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML asp.net"/><title type='text'>&quot;A potentially dangerous Request.Form value was detected from the client&quot; Hatası ve Çözümleri</title><content type='html'>Merhaba arkadaşlar. Bugün proje geliştirirken aldığım hatanın sebebini ve çözümlerini sizlerle paylaşacağım. Hatanın sebebi web projenizde herhangi bir sayfanızda herhangi bir yerinden girdi olarak HTML girdisi alınıyorsa direk olarak bu hatayı fırlatıyor. Asp.Net kendisi bu şekilde bir nebze de olsa güvenlik sağlamaya çalışıyor. Fakat bazen öyle durumlar oluyor ki kullanıcan HTML içerikli girdi almak durumunda kalıyorsunuz. Bu durumlar da yapılması gereken ilk şey farklı bir editör kullanmak. Örneğin CKEditor gibi. Fakat benim şuan geliştirdiğim uygulamda kullanıcıdan Google Map embed linki almam gerekiyor. Bunun için CkEditörü sayfaya import edip yüklenmesini sağlayıp sayfayı yavaşlatmak saçma ve gereksiz olur. Bu nedenle klasik ve düz TextBox kullanıyorum. Bu durumda da html girdi olduğu için direk bu hatayı fırlatıyordu. Bu sorunun birden fazla çözümü mevcuttur .&lt;br /&gt;
&lt;br /&gt;
1-) Web.config dosyamıza &amp;lt;system.web&amp;gt; tag ının altına &amp;lt;pages validateRequest=&quot;false&quot;/&amp;gt; tag ı eklenir.&lt;br /&gt;
&lt;br /&gt;
2-) Bu şekilde veri girdisi sadece o page de olacaksa daha özele inip , ilgili page in &amp;lt;%@Page tagına &amp;nbsp;&lt;b&gt;validateRequest=&quot;false&quot; &lt;/b&gt;eklenir.&lt;br /&gt;
&lt;br /&gt;
3-)Eğer bunları yapıp hala aynı hatayı alıyorsanız muhtemelen Visual Studio 2010 ve 4.0 ile projenizi geliştiriyorsunuz demektir. Bu durumda ise Web.config dosyamıza &amp;lt;system.web&amp;gt; tag ının altına &amp;nbsp; &amp;lt;httpRuntime requestValidationMode=&quot;2.0&quot; /&amp;gt; tag ı eklenir.&lt;br /&gt;
&lt;br /&gt;
Umarım faydalı olmuştur arkadaşlar. Bir sonraki makalemde görüşmek üzere.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/8780564262238398863/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/a-potentially-dangerous-requestform.html#comment-form' title='2 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8780564262238398863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/8780564262238398863'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/a-potentially-dangerous-requestform.html' title='&quot;A potentially dangerous Request.Form value was detected from the client&quot; Hatası ve Çözümleri'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-2378656367233073979</id><published>2013-05-22T10:50:00.000-07:00</published><updated>2013-05-22T10:50:21.256-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entity FrameWork .Net Framework 4.5 Projelerinde Transaction Kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="TransactionScope"/><category scheme="http://www.blogger.com/atom/ns#" term="Using System.Transactions"/><title type='text'>Entity FrameWork .Net Framework 4.5 Projelerinde Transaction Kullanımı</title><content type='html'>Merhaba arkadaşlar ,&lt;br /&gt;
&lt;br /&gt;
Geliştirmekte olduğum projemin içerisinde database işlemlerini yaptığım methodlarda transaction kullanmam gerekti.Daha önce .Net Framework 4.0 ile geliştirdiğim projelerimde Transaction yapısını kullanmıştım. Fakat şuan ki projemi .Net 4.5 ile geliştiriyorum.Transaction işlemi için .Net 4.0 da kullanmış olduğum ,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
using (TransactionScope scope = new TransactionScope())&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bloğunu tekrar kullanmam gerekiyordu. Fakat bu şekilde yazında TransactionScope Class ının içerisinde bulunduğu Library &#39;i görmedi. Bunun için uyguladığım çözüm ise ;&lt;br /&gt;
&lt;br /&gt;
Solution içerisinde transaction uygulanacak sınıfın ait olduğu project teki references kısmına sağ tıklayıp Add Reference dedim . Çıkan listede System.Transactions olması gerekiyor.Bu listenin içerisinde göremiyorsanız siz de benim gibi , penceredeki Browse butonuna tıklayın ve aşağıdaki dizine konumlanın .&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 18px;&quot;&gt;C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: #eeeeee; font-family: Arial, &#39;Liberation Sans&#39;, &#39;DejaVu Sans&#39;, sans-serif; font-size: 14px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
Daha sonra bu klasörün içerisinde System.Transactions.dll dosyasını seçin ve Ok butonuna basın. Bu şekilde referas olarak ekledikten sonra transaction uygulanacak sınıfınıza geri dönün. Ve&lt;br /&gt;
&lt;br /&gt;
Using System.Transactions;&lt;br /&gt;
&lt;br /&gt;
satırını ekleyin. Artık&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
using (TransactionScope scope = new TransactionScope())&lt;br /&gt;
{&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
scope larının içerisine yazacağınız tüm database işlemlerine transaction uygalanacaktır.Yani bir işlem başarısız olursa eğer , bu scope içerisindeki tüm database işlemleri geri alınacaktır.&lt;br /&gt;
&lt;br /&gt;
Umarım faydalı olmuştur. Görüşmek üzere.&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/2378656367233073979/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/entity-framework-net-framework-45.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2378656367233073979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2378656367233073979'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/entity-framework-net-framework-45.html' title='Entity FrameWork .Net Framework 4.5 Projelerinde Transaction Kullanımı'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-1573050039282061952</id><published>2013-05-09T10:41:00.000-07:00</published><updated>2013-05-09T10:41:06.557-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Unable to update the EntitySet &#39;Slider&#39; because it has a DefiningQuery and no lt;InsertFunction gt; element exists in the lt;ModificationFunctionMapping gt; element to support the current operation."/><title type='text'>Unable to update the EntitySet &#39;Slider&#39; because it has a DefiningQuery and no  element exists in the  element to support the current operation. Hatasının Çözümü</title><content type='html'>Merhaba arkadaşlar. Bugün proje geliştirirken karşıma çıkan hatanın çözümünü sizinle paylaşacağım.Öncelikle hatayı Entity Framwork kullanarak veri tabanındaki bir tabloya kayıt eklerken aldım. Daha sonra bu hatanın çözümü için uyguladığım seçenekler ise ,&lt;br /&gt;
&lt;br /&gt;
1-) Projemdeki modeli güncellemek ,&lt;br /&gt;
2-) Veri tabanındaki ilişkileri kontrol etmek ,&lt;br /&gt;
3-) Projemdeki modeldeki ilişkileri kontrol etmek ,&lt;br /&gt;
4-) Google &#39; a sormak :)&lt;br /&gt;
&lt;br /&gt;
ve 4. seçenekte www.stackoverflow.com sitesinde karşıma çıkan öneriyi denedikten sonra sorunum çözüldü. Sorun aslında yapılmaması gereken bir hatadan kaynaklanıyormuş. Veri ekleme işlemi yaptığım tabloyu oluşturduğumda Primary Key belirtmediğimden dolayı hata alıyormuşum.&lt;br /&gt;
&lt;br /&gt;
Yani kısaca sorunu ilgili tabloma Primary Key alanı ekleyerek , daha sonra da projemdeki modeli güncelleyerek çözmüş bulunmaktayım.&lt;br /&gt;
&lt;br /&gt;
Umarım yardımcı olmuştur.</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/1573050039282061952/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/unable-to-update-entityset-slider.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1573050039282061952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1573050039282061952'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/05/unable-to-update-entityset-slider.html' title='Unable to update the EntitySet &#39;Slider&#39; because it has a DefiningQuery and no &lt;InsertFunction&gt; element exists in the &lt;ModificationFunctionMapping&gt; element to support the current operation. Hatasının Çözümü'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5729894025835289785</id><published>2013-04-11T13:13:00.000-07:00</published><updated>2013-04-11T13:13:38.151-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Method not found: &#39;System.Data.Entity.DbSet`1 Entitiy.get_Markas()&#39;. Hatası"/><title type='text'>Method not found: &#39;System.Data.Entity.DbSet`1 Entitiy.get_Markas()&#39;. Hatası</title><content type='html'>Merhabalar arkadaşlar. Bu makalemde tam 3 saatimi alan ve aklıma gelen her yolu denediğim internetten de pek çözüm bulamadım&amp;nbsp;&lt;b&gt;Method not found: &#39;System.Data.Entity.DbSet`1&amp;lt;Entitiy&amp;gt; Entitiy.get_Markas()&#39;. &lt;/b&gt;Hatasının çözümünü anlatacağım. Umarım karşılaşmazsanız ve umarım internette aradığınızda benim sayfama çabuk ulaşırsınız :)&lt;br /&gt;
&lt;br /&gt;
Çözüm için denediklerim ,&lt;br /&gt;
&lt;br /&gt;
- Hatayı fırlatan methodun içinde bulunduğu projedeki entity framework paketini güncellemek.&lt;br /&gt;
- Model içerisindeki entity i kontrol etmek ,&lt;br /&gt;
- model.edmx.diagram dosyasını incelemek ,&lt;br /&gt;
- modeli update etmek ,&lt;br /&gt;
- modeli silip yeniden kaldırmak ,&lt;br /&gt;
- Hatayı fırlatan methodun içinde bulunduğu projedeki config dosyasındaki connection string i güncellemek ....&lt;br /&gt;
&lt;br /&gt;
Ama tüm bunların hiç biri işe yaramadı . En son sinirlenip Visual Studio 2012 IDE sini kapattım. 2 dk sonra tekrar proje açtığımda ise her şey tıkır tıkır çalışıyordu.&lt;br /&gt;
&lt;br /&gt;
Yani ya bu üstteki yaptıklarımdan dolayı çözüme ulaştım ama bana yansımadı ya da bu hatanın tek bir çözümü var &lt;b&gt;KAPAT - AÇ ...&amp;nbsp;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
Şaka gibi ama gerçek :)&lt;br /&gt;
&lt;br /&gt;
Kolay gelsin...</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5729894025835289785/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/04/method-not-found-systemdataentitydbset1.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5729894025835289785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5729894025835289785'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/04/method-not-found-systemdataentitydbset1.html' title='Method not found: &#39;System.Data.Entity.DbSet`1&lt;Entitiy&gt; Entitiy.get_Markas()&#39;. Hatası'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-1243066282461364710</id><published>2013-02-22T09:43:00.002-08:00</published><updated>2013-02-22T09:45:27.942-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq giriş"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq join"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Linq to sql"/><title type='text'>LINQ Nedir ? (Giriş) </title><content type='html'>&lt;br /&gt;
Merhaba arkadaşlar , daha önceki makalelerimde sizlere Entity Framework ve ORM hakkında giriş bazlı bilgi vermiştim. Bu makalemde sizlere entity framework kullanarak var olan database üzerinden nasıl sorgulama yapacağımızı anlatmaya çalışacağım.Peki nasıl sorgulama yapacağım ? Veri tabanı üzerinde sorgulama yapabilmem için benim programım ile veri tabanı arasında bir bağ oluşturmam gerekir.Bu bağı da ya ADO.NET mimarilerinden biri ile ya da herhangi bir ORM tool u ile sağlayabilirim veya third party component ile sağlayabilirim.Bu makalemde ise ORM kullanarak var olan bir veri tabanı üzerinde sorgulama işlemi yapacağız.&lt;br /&gt;
&lt;br /&gt;
Eğer ADO.NET mimarilerinden biri ile bağlantı sağlayacak olsaydık , mutlaka o veri tabanı üzerinde sorgulama işlemi yapmak için SQL kullanmak zorunda kalacaktık.&lt;br /&gt;
&lt;br /&gt;
Peki ORM yani Microsoft tarafındaki ORM tool olan Entity Framework ile sorgulama işlemini nasıl yapacağız ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Elimizde bu işlem için uygun çok güzel bir teknoloji var :)&lt;br /&gt;
&lt;br /&gt;
Tekrar SQL mi kullacağız ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Tabi ki Hayır.&lt;br /&gt;
&lt;br /&gt;
Peki nedir bu teknoloji ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; - LINQ.&lt;br /&gt;
&lt;br /&gt;
Bana sağlayacağı sadece Sql yazma derdinden mi kurtarmak ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; - Tabi ki de hayır. Şimdi entity framework kullanırsanız eğer , veri tabanı modelinizi projenize import ettikten sonra model üzerinde bulunan her bir tablo bize object olarak sunuluyor.Ben oop ile harmanlayarak sorgulama yapmak istediğim tablolar arasından ilgili alanlar için bir class içerisine property tanımlayarak , istediğim şekilde verileri çeker alırım.Böylelikle hem veri tabanımın güvenliği artmış olur hem benim kod yazmam hızlanır , hem projem daha düzgün gözükür , gereksiz bir çok tür dönüşümü ile uğraşmam , gereksiz veriler arasında dolanıp durmam ... Daha bir çok faydası mevcuttur.&lt;br /&gt;
&lt;br /&gt;
Peki tüm bu sunulanlar çok güzel. Fakat ya hız ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Ado.Net daha verimli çalışmakta.&lt;br /&gt;
&lt;br /&gt;
LINQ &#39; i sadece veri tabanı sorgulama işlemlerinde mi kullanabilirim ?&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Hayır. Object List &#39; lerin hepsinde kullanabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Umarım giriş bölümünden kafanızda LINQ &#39; i oluşturabilmişimdir.Niçin kullanılır ? Faydaları nelerdir ? SQL yerine neden LINQ kullanırım ? Nerelerde kullanırım ? gibi soruların cevabını verdikten sonra isterseniz LINQ &#39; in syntax ini inceleyelim.&lt;br /&gt;
&lt;br /&gt;
Aslında Linq syntax i eğer sql komutları yazdıysanız daha önceden size hiç de yabancı gelmeyecektir.Çünkü linq yazımında kullanılan keyword ler sql keyword leri ile neredeyse aynı.Basit bir örnek üzerinde syntax i görelim.&lt;br /&gt;
&lt;br /&gt;
Mesela veri tabanımızdan çalışanlar ile ilgili tüm verileri tek bir tablo üzerinden çekecek olursak ,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;var &lt;/span&gt;TumCalisanlar = &lt;span style=&quot;color: blue;&quot;&gt;from &lt;/span&gt;calisanlar &lt;span style=&quot;color: blue;&quot;&gt;in &lt;/span&gt;calisanListesi&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;select &lt;/span&gt;calisanlar;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Evet arkadaşlar ben bu sorgulama işlemini eğer sql kullanarak yapacak olsaydım eğer ,&lt;br /&gt;
&lt;br /&gt;
select * from calisanListesi &amp;nbsp; &amp;nbsp;şeklinde bir sql komutu yazmam gerekecekti. Farkettiyseniz &quot;from&quot; ve &quot;select&quot; keyword leri aynı şekilde kullanılmıştır.Tek fark &quot;in&quot; keyword u.Lınq syntax i ile aslında biz şu şekilde emir veriyoruz ; &quot;calisanListesi içerisindeki tüm verileri calisanlar diye bir değişkene aktar ve bu değişkenin içerisindeki tüm herşeyi seç ve TumCalisanlar değişkenine bu seçitiklerini ata.&quot; diyoruz. Böylelikle bana son derece esnek bir yapı sağlanmış oluyor.Ben linq kullanarak C# yapısında bulunan türleri , kendi oluşturduğum class ları , objeleri aslında Sql komutları ile birleştiriyorum.Böylelikle bir tarafta sql yazayım sonucunu alayım sonra C# üzerinde işlemler yapayım dönüşümleri sağlayım falan filan gibi gereksiz bir çok işlemden kurtulmuş oluyorum.&lt;br /&gt;
&lt;br /&gt;
Peki bir tablodan veri çekerken ben bir filtreleme işlemi gerçekleştirmek istiyorum.Nasıl yaparım ?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Bu sorunun cevabını hem sql ile hem de linq ile vereceğim . Sql kullanırsak eğer ;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;select * from calisanListesi where yas&amp;gt;30 (gibi bir filtreleme işlemi olsun)&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Bu işlemin linq tarafı ise şu şekilde ;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;var&amp;nbsp;&lt;/span&gt;TumCalisanlar =&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;from&amp;nbsp;&lt;/span&gt;calisanlar&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;in&amp;nbsp;&lt;/span&gt;calisanListesi &lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; calisanlar.Yas&amp;gt;30&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;select&amp;nbsp;&lt;/span&gt;calisanlar;&lt;br /&gt;
&lt;br /&gt;
Görüldüğü gibi her iki sorgulama işleminde de filtreleme işlemi için &quot;where&quot; keyword u kullanılıyor.&lt;br /&gt;
&lt;br /&gt;
Peki bir tablodan sadece bir kolondaki tüm verileri nasıl çekerim ?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Sql kullanarak : &amp;nbsp; select adi from calisanListesi&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;- Linq kullanarak : &amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;from&amp;nbsp;&lt;/span&gt;calisanlar&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;in&amp;nbsp;&lt;/span&gt;calisanListesi&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;select&amp;nbsp;&lt;/span&gt;calisanlar.adi;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Peki bir tablodan birden çok kolondaki bilgileri nasıl çekerim ?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;- Sql tarafında select ifadesinden sonra istediğiniz kolon isimlerini virgül ile yan yana yazarak alabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp;- Linq tarafında ise &amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;from&amp;nbsp;&lt;/span&gt;calisanlar&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;in&amp;nbsp;&lt;/span&gt;calisanListesi&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;select new &amp;nbsp;&lt;/span&gt;{ calisanlar.adi , calisanlar.yasi};&lt;br /&gt;
&lt;br /&gt;
olarak istediğiniz kolonları alabilirsiniz.Bu sayede bu sorgudan çıkan sonuç yeni bir tür olarak tutulur.Bu veri kümesini istediğiniz gibi kullanabilirsiniz.&lt;br /&gt;
&lt;br /&gt;
Peki birden çok tabloyu birleştirerek sorgulama işlemi nasıl yaparım ?&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; -Sql tarafında : select * from calisanListesi join Yetkiler on calisanListesi.ID = Yetkiler.CalisanListesiID&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; -Linq tarafında ise&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;from&amp;nbsp;&lt;/span&gt;calisanlar&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;in&amp;nbsp;&lt;/span&gt;calisanListesi&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;join &lt;/span&gt;yetkiListesi&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;in&amp;nbsp;&lt;/span&gt;Yetkiler&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;on &lt;/span&gt;calisanlar.ID&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;equals&amp;nbsp;&lt;/span&gt;yetkiListesi&amp;nbsp;.CalisanListesiID&lt;br /&gt;
&lt;br /&gt;
Evet arkadaşlar basit anlamda Linq sorgulama işlemini anlatmaya çalıştım.Mümkün olduğu kadar sql ile kıyaslamalı örnekler vermemin nedeni zaten sql yazıyorsunuz , linq i görüp kaçmamanızı sağlamaktı :) Umarım faydalı olmuştur . Linq üzerinde bu makalede sadece sorgulama işlemi yaptık. Insert Update ve Delete işlemlerini başka bir makalemde anlatacağım.Linq i lambda expressions la kullanırsanız çok daha fayalı olacaktır.Lambda expressions ı da fırsat bulursam anlatacağım .&lt;br /&gt;
&lt;br /&gt;
Şimdilik bu kadar görüşmek dileğiyle ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/1243066282461364710/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2013/02/merhaba-arkadaslar-daha-onceki.html#comment-form' title='1 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1243066282461364710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1243066282461364710'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2013/02/merhaba-arkadaslar-daha-onceki.html' title='LINQ Nedir ? (Giriş) '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-7274737200735642597</id><published>2012-05-16T12:01:00.000-07:00</published><updated>2014-07-07T01:02:53.996-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Entity Framework nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="ORM anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="ORM Nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="What is the ORM ?"/><title type='text'>Entity Framework Giriş ORM Nedir ?</title><content type='html'>Merhaba arkadaşlar.Bu makaleyi şuan okuduğunuza göre daha önce ado.net ile uygulama geliştirmiş veya en kötü ihtimalle ado.net in ne olduğunu nasıl çalıştığını bir veri tabanına nasıl bağlantı yapıldığını ve uygulama içerisinden nasıl veri tabanı işlemleri yapıldığını biliyor olduğunuzu düşünüyorum arkadaşlar.Şimdi şu ana kadar ki uygulamalarımızda veri tabanı işlemlerini nasıl yapıyorduk ? Öncelikle veri tabanımızı oluşturup daha sonra uygulama tarafına geçip ilgili yerlere veri tabanı işlemleri yapan kodlarımızı yapıyorduk değil mi ? Yani şekil olarak resmetmek gerekirse ;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWDwsGWRz2oiXfGKQrQIzRU_IQRH-qkHDKIA40Mcvvo1TkdbUxlbu0BZrWgpOpOM6WMRnvZb-D_-tTeTIe679pyjyNWfWH-h7VtaOOhtffA14JeExAb8o_0XoylcvpaALzofwBrO8hqiQe/s1600/ado.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWDwsGWRz2oiXfGKQrQIzRU_IQRH-qkHDKIA40Mcvvo1TkdbUxlbu0BZrWgpOpOM6WMRnvZb-D_-tTeTIe679pyjyNWfWH-h7VtaOOhtffA14JeExAb8o_0XoylcvpaALzofwBrO8hqiQe/s400/ado.jpg&quot; height=&quot;225&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
Yukarıdaki şekle bakıldığında hangi platformda olursa olsun uygulamamız direk olarak bir veri tabanına bağlı durumda.Bu durumda uygulama üzerinden veri tabanını etkileyecek herhangi bir işlem yapmak istediğimizde sql ifadeleri kullanmak durumundayız.Peki bu sistemin nasıl dezavantajları var da bugün sizlere anlatacağım ORM araçları ortaya çıkmıştır ?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Öncelikli olarak eğer bir veri tabanı uygulaması yazacaksanız kesinlikle sql bilmek zorundasınız.Aksi takdirde hiç bir şekilde veri tabanı işlemlerini uygulamanıza yaptıramazsınız.&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;İkinci olarak ise bu sistemde öncelikle database oluşturulup daha sonra uygulama üzerinden sql ifadeleri ile veri tabanı işlemleri yapılmaktadır.Bu durum da hem ekstra zaman kaybı ve ekstra iş kaybı yaşatmaktadır.Malumunuz üzere işverenin tek düşündüğü durum para olduğu için bizim gibi oldukça değerli olan yazılımcıların minimum zamanda maksimum iş çıkarmaları işveren için oldukça önemlidir.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Üçüncü bir dezavantajı ise tamamen database bağımlıdır.Yani çalıştığınız yer bir anda artık bundan sonra oracle yerine mssql kullanacağız dediğinde oturulup oldukça fazla düzenlemeler yapılmak zorundadır.Hele birde düşünün ki web uygulaması yapıyorsunuz.Bu database değişikliliğine uyumun çok kısa bir süre içerisinde olması gerekmektedir değil mi ?&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Bir diğer dezavantajı ise yazılımcının database işlemleri arasında boğulup kaldığı için uygulamanın mantıksal kısımlarına gerektiği kadar zaman ayıramama durumu yaşamaktadır.&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
&lt;li&gt;Son olarak da uygulamanız üzerinden database deki herhangi bir nesnenin tablo , view , sp hatta kolona kadar yapısal özelliklerini değiştirmek için uzun uzadıya sql ifadeleri yazmak zorundasınız.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Evet arkadaşlar şuana kadar kullandığınız yöntem ne kadar zormuş değil mi ? Şimdi sizlere öyle bir konu anlatacağım ki siz de ben neler çekiyormuşum diyeceksiniz :) Evet tahmin ettiğiniz gibi ORM &#39; e giriş yapacağız.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Şimdi arkadaşlar ORM nedir ? öncelikle bu sorunun cevabıyla başlayalım.Orm yani Object Relational Mapping , veri tabanınızdaki tabloları class lara , kolonları property lere , tabloların içindeki kayıtları da object lere dönüştüren ve tüm bu dönüşün sonucunda oluşan class lar ve objeler üzerinden veri tabanı işlemlerinizi yapmayı sağlayan bir teknolojidir.Yani kısaca tanımlamak gerekirse database modelini uygulama modelindeki nesnelere uyarlar.Aslında yaptığı iş tam olarak database modelini uygulamadan soyutlayarak nesneler üzerinden işlem yapmamızı sağlar.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Orm in ne olduğunu anladıktan sonra bir de şekle dökmek gerekirse ;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbdgj0ORMwdUQq6CXKmhgjiks25F-UGk4V4uNRMf-UGievb0w-gZQKUH2BaLZ6k6OFFJWZtS7iJFQ5WUYDEg5JYCdkCqUmslSOQusgk_ccNWuQOLLyIGbBQ9mxbr8NFW23p03Yv4yCdaGy/s1600/ado.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbdgj0ORMwdUQq6CXKmhgjiks25F-UGk4V4uNRMf-UGievb0w-gZQKUH2BaLZ6k6OFFJWZtS7iJFQ5WUYDEg5JYCdkCqUmslSOQusgk_ccNWuQOLLyIGbBQ9mxbr8NFW23p03Yv4yCdaGy/s400/ado.jpg&quot; height=&quot;174&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Yukarıdaki şekle bakıldığında uygulama orm e bağlı olduğunu görebiliriz.Database le direk olarak herhangi bir bağlantısı söz konusu değildir.Peki burada bizim yapmak istediğimiz databse işlemlerimiz nasıl oluyor da sql ifadesi yazmadan gerçekleşiyor? . Uygulama tarafında oluşan nesneler üzerinden biz database işlemi yaptığımızda orm tarafından bu işlem sql ifadesine dönüştürülüyor.Bu işleme Code Generating işlemi denir.Tüm orm araçları aynı işlemi yaparlar.Mesela siz uygulamanızda bir nesne üzerinden bir tabloya kayıt ekleme işlemi yapmak istediğinizde orm otomatik olarak insert sql ifadesini oluşturup database e gönderir.Bu sayede sizin sql bilmenize gerek kalmamaktadır.&lt;br /&gt;
&lt;br /&gt;
Orm in ne olduğunu ve nasıl çalıştığını anladıktan sonra maddeler halinde avantajlarına ve dezavantajlarına bakalım arkadaşlar.&lt;br /&gt;
&lt;br /&gt;
Avantajları ;&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;OOP olarak kod geliştirmeye imkan sağlamaktadır.&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Sql bilmeden bir veri tabanına bağlanabilir ve sql ile
ilgili bir çok işlemi rahatlıkla&amp;nbsp;yapabilmek.&lt;/li&gt;
&lt;li&gt;Herhangi bir database bağımlılığı yoktur.&lt;/li&gt;
&lt;li&gt;Oldukça esnek bir yapı sağlamaktadır.Yani oracle kullanıyorken bir anda mssql i kullanabiliriz.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Dezavantajları :&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;
&lt;li&gt;Performans.Bir ado.net kadar hızlı çalışmamaktadır.&lt;/li&gt;
&lt;li&gt;Database den bilgi alış-verişi sırasında kontrol %100 bizde değildir.Bazen oluşturulan sql ifadelerinde sorun çıkabilir veya biz daha güzel ve hızlı çalışacak sql ifadeleri yazabileceğimiz durumlar olabilir.Fakat tüm sql ifadelerini code generating ile kendi oluşturduğu için bu bir dezavantajdır.&lt;/li&gt;
&lt;li&gt;Veri tabanı bağımsızdır.Fakat uygulama tarafındaki nesneler ile veri tabanındaki nesneler birbirine map edildiği için nesne bağımlılığı vardır.&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Farklı platformlarda farklı farklı orm araçları mevcuttur arkadaşlar.Mesela java da Hibernate , microsoft ta , EntityFramework ... Aynı zamanda hibernate altyapısını kullanan ve .Net platformu için NHibernate orm aracı vardır.Daha bir çok araç mevcuttur.Fakat temelinde hepsi orm mantığı ile çalışırlar.&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Elimden geldiğince ORM i anlatmaya çalıştım arkadaşlar.Sonraki makalelerimde Microsoft&#39;un ORM araçlarından olan Entity Framework ü anlatacağım.Tekrar görüşmek dileğiyle ...&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/7274737200735642597/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/entity-framework-giris-orm-nedir.html#comment-form' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7274737200735642597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/7274737200735642597'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/entity-framework-giris-orm-nedir.html' title='Entity Framework Giriş ORM Nedir ?'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjWDwsGWRz2oiXfGKQrQIzRU_IQRH-qkHDKIA40Mcvvo1TkdbUxlbu0BZrWgpOpOM6WMRnvZb-D_-tTeTIe679pyjyNWfWH-h7VtaOOhtffA14JeExAb8o_0XoylcvpaALzofwBrO8hqiQe/s72-c/ado.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-2691474196024042428</id><published>2012-05-09T12:34:00.000-07:00</published><updated>2017-03-31T04:13:38.098-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dirty reads"/><category scheme="http://www.blogger.com/atom/ns#" term="read commited"/><category scheme="http://www.blogger.com/atom/ns#" term="Read uncommited"/><category scheme="http://www.blogger.com/atom/ns#" term="repeatable read"/><category scheme="http://www.blogger.com/atom/ns#" term="serializable"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server Transaction Isolation Levels"/><category scheme="http://www.blogger.com/atom/ns#" term="Transaction Isolation Level anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Transaction Isolation Level nedir"/><title type='text'>Sql Server Transaction Isolation Levels</title><content type='html'>Merhaba arkadaşlar. Bu makalemde sizlere transaction ile ilgili oldukça önemli konu olan Isolation Levels &#39;ı anlatacağım.Daha önceki makalelerimde transaction ı nasıl kullanacağımızı neden kullanacağımızı detaylı olarak anlatmıştım.Bu makalemde anlatacağım konu transaction ları izolasyon etme seviyelerinden bahsedeceğim.Yani diğer bir deyişle aynı anda aynı veriler üzerinde çalışan transaction ların nasıl çalışacaklarını veya nasıl sonuçlar alacaklarını belirleyebildiğimiz seviyelerden bahsedeceğim.&lt;br /&gt;
&lt;br /&gt;
Öncelikle native yani tüm veri tabanı sistemlerinin kabul ettiği 4 adet isolation level lar vardır.Fakat MSSQL Server ise bize bunlara ek olarak 2 adet isolation level sağlamaktadır.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1-)Read Uncommited(level 0)&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2-)Read Commited(level 1)&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;3-)Repeatable Read(level 2)&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;4-)Serializable(level 3)&lt;/b&gt;
&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Bunlara ek olarak Mssql in bizlere sağladıkları ise ;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1-)Read Commited&amp;nbsp;Snapshot&amp;nbsp;Isolation&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;2-)Snapshot Transaction Isolation&lt;/b&gt;&lt;br /&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;
Yukarıdaki isolation level ları incelemeden önce ortak zamanlı erişim sorunlarını anlatmak istiyorum arkadaşlar.Nedir ortak zamanlı erişim sorunları?Aynı anda birden fazla transaction ın veya session ın aynı veri üzerine erişmek istemesi ve işlem yapmak istemesi sırasında ortaya çıkabilecek olan sorunlardır.4 adet sorun karşımıza çıkmaktadır.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1-) Lost Updates:&lt;/b&gt;Aynı anda birden fazla transaction aynı anda bir veri üzerinde güncelleme yapmak istediği zaman en son işlem yapan transaction ın kaydı geçerli olur.Bu yüzden veri kaybı yaşanır.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2-)Dirty Reads:&lt;/b&gt;Bir transaction ın bir veri üzerinde yapmış fakat commit etmemiş olduğu bilgileri diğer transaction tarafından gerçek kayıtmış gibi okuması durumudur.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3-)Non-Repeatable Reads:&lt;/b&gt;Bir transaction bir veriyi okusun ve kendi içinde işleme soksun.Bu transaction commit etmeden başka bir transaction bu veriyi okusun.Daha sonra işlem yapan transaction tekrar veriyi okumak istediğinde veri aynı veri olmayacağı için sorun yaşanmaktadır.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;4-)Phantom Reads:&lt;/b&gt;Aynı anda çalışan transaction düşünelim.Bir transaction bir tablodaki verilerin tamamını çeksin ve kendi içindeki işleme soksun.Bu sırada da diğer transaction aynı tabloya veri ekleme işlemi yapsın.Daha sonra ilk transaction tekrar verileri çekmek istediğinde yeni eklenen veriler hayalet veri olarak görünür.&lt;br /&gt;
&lt;br /&gt;
İşte tüm bu sorunlara çözüm olarak isolation level lar vardır.Hadi gelin şimdi onları inceleyelim arkadaşlar.&lt;br /&gt;
&lt;br /&gt;
&lt;h2&gt;
&lt;b&gt;Read Uncommited&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Bir veri üzerinde bir kullanıcı transaction yaparken diğer kullanıcılarında değişikliğe uğramış fakat commit edilmemiş verileri görebilmesini sağlayan level&#39;dır.Bu durum bize performans sağlar fakat verimizin güvenliğini elimizden alır neredeyse.Çünkü ya yapılan transaction commit edilmezse yani bir hata oluşur ve tüm yaptığı işlemleri rollback yaparsa ne olacak ? İşte bu durumda ortaya çıkan soruna &lt;b&gt;Dirty Read&lt;/b&gt; denilir.Yani kısacası bir transaction işlemi yapılırken commit edilmese dahi diğer kullanıcılar transaction ın yaptığı işlemlerin sonucunu transaction sırasında görebilirler.Dirty reads,lost updates,non-repeatables reads ve phantom reads sorunları vardır.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Peki bu level ı nasıl kullanacağım ?&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 14px;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 14px;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;ISOLATION&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;LEVEL&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;READ&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;UNCOMMITTED&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki gibi sql komutu ile oldukça basit bir şekilde aktif hale getirebiliriz.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;Read Commited&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;Bu level da ise eğer bir veri üzerinde transaction uygulanıyorsa diğer transactionların bu veriye erişmesini engeller.Sql server&#39;ın default level ı budur arkadaşlar.Daha önce denediniz mi bilmiyorum fakat eğer bir veri üzerinde bir tansaction işlemi yapılıyor ise sql server da o veriye erişim engellenir.Peki bu sırada diğer sorgular veya transactionlar ne olacak ? Veri üzerindeki transaction&#39;ın sonlanmasını beklemekten başka hiç bir şansları yok :)Read Uncommited ın ortaya çıkardığı dirty read sorununu ortadan kaldırır.Fakat losts updates sorunu vardır.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Peki bu level ı nasıl kullanacağım ?&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 15.3333px;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 15.3333px;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;TRANSACTION&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;ISOLATION&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;LEVEL&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;READ&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;COMMITTED&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 14px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki gibi sql komutu ile oldukça basit bir şekilde aktif hale getirebiliriz.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;Repeatable Read&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/b&gt;Diyelim ki bir transaction işlemleri arasında bir veriyi çekti ve işlem yapmaya başladı.İşlemini tamamlamadan yani commit edilmeden bir başka transaction veya kullanıcı o verideki değeri değiştirdi.Transaction işlemlerini yaparken tekrardan o veriyi okuyup değerini almak istedi.Eee veri eski veri değil. Doğal olarak transaction&#39;ın işlemlerinin sonucu yanlış çıkacaktır.İşte bu sorunu ortadan kaldırmak için bu level kullanılmaktadır.Yani kısaca bir transaction tarafından kullanılan veri diğer transaction tarafından okunamaz.Fakat buradaki asıl amaç bir transaction tarafından okunan ve kullanılan verinin &lt;u style=&quot;font-weight: bold;&quot;&gt;değiştirilmemesidir.&lt;/u&gt;Bu sayede dirty reads,lost updates,non-repeatables reads sorunları ortadan kalkar.Fakat phantom reads sorunu vardır.&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div&gt;
Peki bu level ı nasıl kullanacağım ?&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;TRANSACTION&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ISOLATION&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;LEVEL&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;REPEATABLE&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;READ&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10pt; line-height: 14px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki gibi sql komutu ile oldukça basit bir şekilde aktif hale getirebiliriz.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;Serializable&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; Veri ekleme,silme ve güncelleme yapan transaction boyunca veri erişime kapanır.Bu sayede hiç bir ortak zamanlı sorun ortada kalmaz.Fakat işlemler çok fazla birikir.Bu da bize performans sorunu yaşatır.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Peki bu level ı nasıl kullanacağım ?&amp;nbsp;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;TRANSACTION&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ISOLATION&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;LEVEL&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;SERIALIZABLE&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki gibi sql komutu ile oldukça basit bir şekilde aktif hale getirebiliriz.&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;Read Commited&amp;nbsp;Snapshot&amp;nbsp;Isolation&lt;/b&gt;&lt;/h2&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;b&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/b&gt;Bu level da Read Commited level da oluşan &lt;b&gt;Shared Lock &lt;/b&gt;durumu ortadan kalkar.Yani bir transaction bir veride güncelleme yaparken bir başka transaction bu veriyi okuyabilir.Bir transaction içerisinde kalmış ve commit edilmemiş verilerin &lt;b&gt;tempdb&lt;/b&gt; veritabanına &lt;b&gt;snapshot &lt;/b&gt;larını kaydeder.Böylece diğer transactionların verileri okuması sağlanmaktadır.&lt;/div&gt;
&lt;div&gt;
Kullanılabilmesi için database seviyesinde&amp;nbsp;&lt;span style=&quot;background-color: white; font-family: &amp;quot;verdana&amp;quot;; font-size: 11px;&quot;&gt;&lt;i style=&quot;font-weight: bold;&quot;&gt;READ_COMMITTED_SNAPSHOT&amp;nbsp;&lt;/i&gt;&lt;/span&gt;parametresinin &lt;b&gt;&quot;on&quot;&lt;/b&gt; konumunda olması gerekmektedir.Default olarak &lt;b&gt;&quot;off&quot;&lt;/b&gt; ayarlanıktır.&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;verdana&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: 11px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;ALTER&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;DATABASE&lt;/span&gt; Northwind &lt;span style=&quot;color: blue;&quot;&gt;SET&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;READ_COMMITTED_SNAPSHOT&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Olarak kullanılır.&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;
&lt;b&gt;Snapshot Transaction Isolation&lt;/b&gt;&lt;/h2&gt;
&lt;div&gt;
&amp;nbsp; &amp;nbsp; Bir üstteki level dan tek farkı burada yapılan konfigurasyonun transaction bazında olmasıdır.&lt;/div&gt;
&lt;div&gt;
Kullanımında öncelikle database seviyesinde ayar yapılması gerekir.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;ALTER&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;DATABASE&lt;/span&gt; Northwind &lt;span style=&quot;color: blue;&quot;&gt;SET&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;ALLOW_SNAPSHOT_ISOLATION&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Daha sonra ise transaction seviyesinde ayarlama yapılması gerekmektedir.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;courier new&amp;quot;; font-size: 10.0pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;TRANSACTION&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ISOLATION&lt;/span&gt;
&lt;span style=&quot;color: blue;&quot;&gt;LEVEL&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;SNAPSHOT&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Evet arkadaşlar umarım faydalı olmuştur.Bir sonraki makalemde görüşmek dileğiyle...&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/2691474196024042428/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/sql-server-transaction-isolation-levels.html#comment-form' title='13 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2691474196024042428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/2691474196024042428'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/sql-server-transaction-isolation-levels.html' title='Sql Server Transaction Isolation Levels'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5738036089733097859</id><published>2012-05-03T10:49:00.001-07:00</published><updated>2012-05-03T10:49:49.200-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Index anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Index kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Index nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server Index"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server Index anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server Index kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Server Index nedir"/><title type='text'>Sql Server Index Yapısı</title><content type='html'>Merhaba arkadaşlar.Bu makalemde sizlere index nedir? Nasıl bir yapısı vardır ? Ne gibi yararlar sağlar ? Nasıl kullanılır ? Neden kullanılır ? gibi detaylı olarak index yapısını anlatacağım.Eğer bu makaleyi okuyorsanız ya küçük veya orta çaplı database ler ile çalıştınız yada verilerinin oldukça birikti sorgularınız geç cevap veriyordur.Açıkça söylemek gerekirse ben index lerin ne olduğunu büyük database lerle çalışmadan bilmiyordum.Ta ki bir gün bir projede database deki birden fazla tablonun içerisindeki kayıtların yüzbinleri hatta milyonları bulabileceği söylenene kadar.İlk yaptığım hemen 3 kolonlu basit olarak adı ve soyadı bilgilerini tutan bir tablo oluşturmak oldu.Daha sonra basit bir while döngüsü ile 1.000.000 kayıt girdisi yaptım.Sonrasında ise sadece select * from adi where adi=&#39;koray99999&#39; şeklinde bir sorgu çekmek oldu.Bakın ne join yapısı var ne sub query filan var.Basit bir sorgu.Dedim en fazla 2-3 saniyede getirir sonucu dedim.Fakat hiç de öyle olmadı :).Oldukça fazla beklemiştim.Dedim bu böyle olmaz.Mutlaka bir yolu yöntemi vardır.Araştırmalarım sonucunda index nimetini buldum.Index yapısını oluşturduktan sonraki sorgumun sonucu bana 1-2 saniye gibi müthiş bir hız farkıyla döndü.Bu bizzat benim yaşadığım örnekti.Bir de düşünün arkadaşlar turkcell avea gibi telefon şirketlerinin database lerini ve bu databaselere gelen sorguları ? Yani kısacası eğer veriniz oldukça fazla ise yada en azından bunu öngörebiliyorsanız yüksek performans almak zorundasınız.Bunun için de index yapısı oluşturmalısınız arkadaşlar.Index&#39;in faydasını anlattıktan sonra hadi gelin Index in yapısını inceleyelim.&lt;br /&gt;
&lt;br /&gt;
Sql server&#39;da 2 farklı index yapısı mevcuttur.Clustered ve Non-Clustered Index.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;1-)Clestered Index:&lt;/b&gt;Kümelenmiş index olarak türkçeye çevirilebilinir.Diyelim ki arkadaşlar özel bir dershane açtık.İlk gün 10 tane öğrenci geldi kayıt ettik.Bu öğrencilerin dosyalarını çekmeceye koyduk.2.gün 15 öğrenci kaydoldu ve bu öğrencilerin dosyalarını da çekmeceye koyduk.İlk hafta sonunda toplam 60 öğrencimiz oldu.Çekmecemiz doldu bu sefer de dolablara koymaya başladık.Bu şekilde durumu kurtardığımızı düşündük.Fakat yıllar geçti bu sefer dolaplarda yetmedi hatta arşivlemeye başladık.Yer sıkıntımız oluştu.Hatta bir gün Koray Düzgün adında bir öğrencimizin bilgisine ulaşmak istedik.O kadar veri yığınının içinde ara ki bulasın.Bundan bir ders çıkardık ve alfabetik sıraya göre sıralayıp tüm dosyaları kümeleştirdik.Bir sonraki öğrenci geldiğinde direk hangi kümedeyse hangi sıradaysa gidip bulduk.Ne kadar hızlı sonuca ulaşıp ne kadar iş ve zaman kazancı sağladık.İşte arkadaşlar database imizdeki verilere clustered index yapısı oluşturursak aynı şekilde kazanç sağlarız.Clustered index yapısında elimizdeki veriler sıralı olarak belli bir grup içinde bulunur.Bu şekilde çok daha hızlı bir şekilde sonuca ulaşırız.Aslında eğer veri tabanı oluşturduysanız daha önce farkında olmadan kesinlikle eminim ki clustered index kullandınız.Hepiniz bir tabloda bir kolona mutlaka primary key koymuşsunuzdur.Hatta identity bile verdiniz.Identity verdiğiniz anda o kolondaki veriler sıralı olarak kaydedilmiyor mu ? Alın size işte clustered index.Clustered index 3 yapıdan oluşur.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJFe5Ar2RmHXKGMohNw1LVy3YzMQ6ykElt43jc5iCrNx6ODIRGhV9wpcjuTBWP09SZzG4f_8tEc91oTfATgFmhX6Jhy3F8mPljDaDYZMgrNkOFH84fMuLDQFxf_uPppejYLel2u7OcmtEn/s1600/indexes.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJFe5Ar2RmHXKGMohNw1LVy3YzMQ6ykElt43jc5iCrNx6ODIRGhV9wpcjuTBWP09SZzG4f_8tEc91oTfATgFmhX6Jhy3F8mPljDaDYZMgrNkOFH84fMuLDQFxf_uPppejYLel2u7OcmtEn/s1600/indexes.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
Clustered index yapıldığında sıralanan veriler leaf de tutulur.Yukarıdaki örnekte öğrencinin dosyasına ulaştığınızda direk verinin kendisine ulaşıyoruz değil mi ? Bunun nedeni de clustered index de veriler leaf aşamasında bulunur.Baş harflerine göre gruplama yaptığımızda ise bu grup bilgileri de intermadiate level larda tutulur.Bilinmesi gereken en önemli noktalardan birisi bir tabloda sadece 1 tane clustered index oluşturulabilinir.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;2-)Non-Clustered Index:&lt;/b&gt;Bir kitap aldınız elinize.Oldukça kalın bir kitap.Diyelim ki sql server ile ilgili bir kitap olsun.Ve index konusunun geçtiği sayfaları tek tek bulmak istiyorsunuz.Ne yaparsınız?Bütün kitabı arayıp bulur musunuz? Yok artık . Bazı kitaplarda sonlarında içinde geçen konular ve bu konuların ve ya kelimelerin sayfa numaraları liste halinde yazılıdır.Ne yaparsınız böyle bir durumda?Öncelikle gidip arkadan hangi sayfalarda olduğunu bulursunuz.Daha sonra o sayfalara bakıp veriye ulaşırsınız.İşte en güzel non-clustered yapısı.Bu örnekten de anlaşıldığı gibi non-clustered yapıda verinin kendisine ulaşamazsınız.Bu yapıda leaf level larda verinin bulunduğu adres bulunur.Daha sonra tekrardan root a çıkılıp aşağıya doğru inilerek verinin kendisine ulaşılır.Sql server 2005 de 255 tane bir tabloya non-clustered index oluşturabiliyorduk.Sql server 2008 ile birlikte 999 adet oluşturulabiliniyor.Fakat pek tabi bir tabloya bu kadar non-clustered index verilmez.Ben bolca var nasılsa her kolona koyayım oh ne güzel gibi bir düşünce olmasın.Çünkü bu sefer index yapısı arka planda karışıyor.Dikkat edilmesi gereken şu ki en fazla sorgu çekilen kolonlara verilmek en doğrusudur.&lt;br /&gt;
&lt;br /&gt;
Clustered yapılarını kavradıktan sonra bakalım tüm bu anlatılanlar ne kadar doğru ? Hemen test yapalım arkadaşlar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;DECLARE&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; @i &lt;span style=&quot;color: blue;&quot;&gt;INT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; @i&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;0&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;WHILE&lt;/span&gt;&lt;span style=&quot;color: grey; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;@i&lt;span style=&quot;color: grey;&quot;&gt;&amp;lt;&lt;/span&gt;100000&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;BEGIN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;INSERT&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;INTO&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; Ad&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Koray&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;CAST&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;@i &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;nvarchar&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;30&lt;span style=&quot;color: grey;&quot;&gt;)),&lt;/span&gt;SoyAd&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Düzgün&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: magenta;&quot;&gt;CAST&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;@i &lt;span style=&quot;color: blue;&quot;&gt;AS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;NVARCHAR&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;30&lt;span style=&quot;color: grey;&quot;&gt;)),&lt;/span&gt;TelefonNo&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;123456789&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; @i&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;@i&lt;span style=&quot;color: grey;&quot;&gt;+&lt;/span&gt;1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;END&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
T-Sql kodları ile verilerimizi kaydettik.Daha sonrasında ise ,&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;--Aşağıdaki
işlemle Kaç logical read yaptıgımı gösteren sistemi açtým&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;STATISTICS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;IO&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;--&lt;/span&gt;
&lt;span style=&quot;color: green; font-family: &#39;Courier New&#39;; font-size: 13px;&quot;&gt;Aşağıdaki&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;işlemle Kaç Kaç milisaniye geçtiğini gösteren sistemi açtým&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;SET&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;STATISTICS&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;TIME&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Daha sonra ise&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; Ad&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Koray99993&#39;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Olarak select çekin.Ve çıkan verilere göz atın.Daha sonra ise&amp;nbsp;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;--Clustered
indeks tanımladım &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;CREATE&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;CLUSTERED&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;INDEX&lt;/span&gt;
TelefonIndeks &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;AdresID&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt;
AdresID&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;80000&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Olarak select çekin.Ve çıkan verilere göz atın.Daha sonra ise&amp;nbsp;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;REATE&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;NONCLUSTERED&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;INDEX&lt;/span&gt;
AdaGoreIndeksle &lt;span style=&quot;color: blue;&quot;&gt;ON&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;Ad&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: green; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; mso-no-proof: yes;&quot;&gt;--Non-Clustered
indeks tanımladım &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;SELECT&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;FROM&lt;/span&gt; dbo&lt;span style=&quot;color: grey;&quot;&gt;.&lt;/span&gt;Telefonlar &lt;span style=&quot;color: blue;&quot;&gt;WHERE&lt;/span&gt; Ad&lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Koray99993&#39;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Courier New&amp;quot;; font-size: 10.0pt; line-height: 115%; mso-no-proof: yes;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Olarak select çekin.Ve çıkan verilere göz atın.Sonuçlardan farkı göreceksiniz.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Umarım faydalı olmuştur arkadaşlar.Bir sonraki makalemde görüşmek dileğiyle...&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5738036089733097859/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/sql-server-index-yaps.html#comment-form' title='3 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5738036089733097859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5738036089733097859'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2012/05/sql-server-index-yaps.html' title='Sql Server Index Yapısı'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJFe5Ar2RmHXKGMohNw1LVy3YzMQ6ykElt43jc5iCrNx6ODIRGhV9wpcjuTBWP09SZzG4f_8tEc91oTfATgFmhX6Jhy3F8mPljDaDYZMgrNkOFH84fMuLDQFxf_uPppejYLel2u7OcmtEn/s72-c/indexes.jpg" height="72" width="72"/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-1534087009653296940</id><published>2012-04-30T13:11:00.000-07:00</published><updated>2012-05-08T14:30:08.199-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Commit tran"/><category scheme="http://www.blogger.com/atom/ns#" term="commit tran nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="rollback"/><category scheme="http://www.blogger.com/atom/ns#" term="Rollback nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Transaction anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Sql Transaction nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="T-Sql Transaction"/><category scheme="http://www.blogger.com/atom/ns#" term="Transaction anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Transaction kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="Transaction nedir"/><title type='text'>T-Sql Transaction</title><content type='html'>Merhaba arkadaşlar.Bu makalemde sizlere oldukça önemli ve kullanılan bir yöntemi anlatacağım.Transaction.Nedir bu transaction? Bir bütün olarak çalışması gereken bir takım sql komutlarınız olduğunu düşünün.Dolayısıyla bu komutlardan birisinin çalışması sırasında oluşacak bir hata sonucunda diğer sql komutlarının sonuçları da etkilenecektir.Bu konuya en güzel örnek banka havale işlemidir aslında.Düşünün ki siz bana 1000Tl havale yaptınız.Fakat banka sizden parayı çektikten sonra bir hata oluştu ve bana çektiği parayı yatırmadı.Eee ne olacak?Para nerede ? Para uçtu değil mi ? Sizden 1000tl gitti.Bana para gelmedi.Düşünün bu şekilde 100 kere hata oluştuğunu hatta çok daha fazla miktar havale sırasında hata oluştu.Banka batar :) İşte bu şekilde son derece önemli ve bir bütün halinde başarılı çalıştıktan sonra sonuçların yansıması gereken işlemlerde Transaction kullanılır.&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Şimdi id,adi ve bakiyesi kolonlarından oluşan basit bir hesap tablomuz olsun.Bu tablo üzerinden havale işlemini yapan sql komutlarını yazalım .&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;-=&lt;/span&gt;1000&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;+=&lt;/span&gt;1000&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;3&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki sql komutları birlikte çalışması yani bütün halinde çalışması gerekmektedir.Diyelim ki bir hata oluştu.Çok basit bir hata fırlatalım hemen .&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;-=&lt;/span&gt;1000&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;+=&lt;/span&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;10&lt;span style=&quot;color: grey;&quot;&gt;/&lt;/span&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;where&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt; id &lt;/span&gt;&lt;span style=&quot;color: grey; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;3&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yukarıdaki division by zero hatası fırlattım basit olarak.Diyelim ki bir hata oluştu id si 2 olan hesaptaki müşteriden 1000 tl düşüyor.Fakat 3 &#39;e aktarılmıyor.Bunu engellemek için akla gelen try catch dir.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;-=&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 13px;&quot;&gt;1000&amp;nbsp;&lt;/span&gt;w&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;here&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;update&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;+=&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;10&lt;span style=&quot;color: grey;&quot;&gt;/&lt;/span&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;)&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;catch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;print&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;hata oluştu&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Fakat bu şekilde kullanırsak da ilk işlemi yapacak diğerinde hata oluşacağı için yapmayacaktır.Try catch de işimize yaramadı arkadaşlar. Tek bir çaremiz var transaction kullanmak.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;begin&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;transaction&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;update&lt;/span&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;-=&lt;/span&gt;1 &lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;2&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;update&lt;/span&gt; Hesap &lt;span style=&quot;color: blue;&quot;&gt;set&lt;/span&gt; Bakiyesi&lt;span style=&quot;color: grey;&quot;&gt;+=&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;select&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;10&lt;span style=&quot;color: grey;&quot;&gt;/&lt;/span&gt;0&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;where&lt;/span&gt; id &lt;span style=&quot;color: grey;&quot;&gt;=&lt;/span&gt;3&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;commit&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;tran&lt;/span&gt;&lt;span style=&quot;color: green;&quot;&gt;--transaction da yazılabilir.Commiti gordugunde o ana
kadarki işlemleri onaylar ve gerçek verilere yansıtır.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;try&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;begin&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;catch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: red;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;color: red; font-family: &#39;Courier New&#39;; font-size: 13px;&quot;&gt;hata oluştu&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;rollback&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;tran&lt;/span&gt; &lt;span style=&quot;color: green;&quot;&gt;--transaction da
yazılabilir.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Evet arkadaşlar yukarıdaki bir transaction yapısı oluşturursak eğer işlemlerimizin tamamı başarılı bir şekilde gerçekleşirse sonuçları kayıtlarımıza yansıyacaktır.Aksi taktirde hiç bir işlem olmayacaktır.Buradan anlaşılan şudur: Transanction da ya hep ya hiç mantığı vardır.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Umarım faydalı olmuştur arkadaşlar.Bir sonraki makalemde görüşmek dileğiyle...&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/1534087009653296940/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2012/04/t-sql-transaction.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1534087009653296940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/1534087009653296940'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2012/04/t-sql-transaction.html' title='T-Sql Transaction'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4071857482116442561.post-5828607571237292132</id><published>2012-04-30T12:19:00.000-07:00</published><updated>2012-05-07T06:56:57.202-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="DML Trigger"/><category scheme="http://www.blogger.com/atom/ns#" term="DML Trigger anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="DML Trigger kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="DML Trigger nedir"/><category scheme="http://www.blogger.com/atom/ns#" term="sql trigger anlatımı"/><category scheme="http://www.blogger.com/atom/ns#" term="sql trigger kullanımı"/><category scheme="http://www.blogger.com/atom/ns#" term="sql trigger nedir"/><title type='text'>T-Sql Trigger 2 - DDL Trigger</title><content type='html'>Merhaba arkadaşlar.Trigger konumuzun 2.partında Ddl Trigger ları anlatacağım.Önceki partta Dml trigger ları anlatmıştım.Ddl Trigger lar tanımlandığı sql server üzerinde çalıştırılan Ddl sorguları ile tetiklenen triggerlardır.Database oluşumundan tutun da view düzenlemesine kadar dml sorguların etki ettiği tüm database nesneleri üzerinden tetiklenebilirler.Farklı senaryolar ile ddl triggerların oluşturulmasını inceleyeceğiz arkadaşlar.&lt;br /&gt;
&lt;br /&gt;
Not:Syntax i dml trigger lar ile aynıdır.Bu yüzden tekrardan incelemeye almayacağım.Dml trigger ları anlattığım makaleden syntax i hakkında bilgi edinebilirsiniz.&lt;br /&gt;
&lt;br /&gt;
İlk senaryomuz server üzerinde herhangi bir tabloyu herhangi bir şekilde değiştirme işlemini engelleyen bir trigger oluşturmak olsun arkadaşlar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;trigger&lt;/span&gt; TabloDuzenlemeEngeli&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;database&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
Alter_Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;raiserror&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Tablo düzenleme engeli&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;16&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;1&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;rollback&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Yuarıdaki gibi bir trigger oluşturduğumuzda triggerımızın bulunduğu server üzerindeki tabloların yapısında değişiklik yapılmasını engellemiş oluruz arkadaşlar.Bu trigger da kullandığım 2 tane sql komutu vardır.Raiserror ile hata fırlatma işlemi yapabiliriz.İstediği parametreler sırası ile hata mesajı,severity değeri ve state değeridir.Rollback ise trigger tetiklenmeden önce yapılan işlemleri geri almak için kullanılır.Transaction konusunda detaylı olarak anlatacağım.Şuan üzerinde durmuyorum.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Diğer bir senaryomuz ise database oluşturma engeli vermek olsun.Bunun için de ,&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: blue;&quot;&gt;trigger&lt;/span&gt; VeriTabaniOlusturmaEngeli&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt; &lt;span style=&quot;color: grey;&quot;&gt;all&lt;/span&gt; &lt;span style=&quot;color: blue;&quot;&gt;server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;
CREATE_DATABASE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;raiserror &lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Adam ol la&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;16&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;1&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style=&quot;color: blue;&quot;&gt;rollback&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Diğer bir senaryomuz ise database silme engeli vermek olsun.Bunun için de ,
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;trigger&lt;/span&gt;&amp;nbsp;VeriTabaniSilmeEngeli&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;on&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: grey;&quot;&gt;all&lt;/span&gt;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;server&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;for&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;Drop_DATABASE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: blue; font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;as&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;raiserror&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: red;&quot;&gt;&#39;Adam ol la&#39;&lt;/span&gt;&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;16&lt;span style=&quot;color: grey;&quot;&gt;,&lt;/span&gt;1&lt;span style=&quot;color: grey;&quot;&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: blue;&quot;&gt;rollback&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 14px;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Gibi bir&amp;nbsp;çok senaryo kurabiliriz arkadaşlar.Temel olarak anlaşılması gereken önemli nokta tüm database nesneleri üzerinde ddl sorguları çalıştırıldığında yani drop,create ve alter işlemi yapıldığında ddl triggerların tetiklenip içerisinde belirttiğimiz kodları işlemesidir.Diğer tüm özellikleri dml triggerlar ile aynıdır.&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Umarım faydalı olmuştur arkadaşlar.Bir sonraki makalemde görüşmek dileğiyle ...&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://korayduzgun.blogspot.com/feeds/5828607571237292132/comments/default' title='Kayıt Yorumları'/><link rel='replies' type='text/html' href='http://korayduzgun.blogspot.com/2012/04/t-sql-trigger-2-dml-trigger.html#comment-form' title='0 Yorum'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5828607571237292132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4071857482116442561/posts/default/5828607571237292132'/><link rel='alternate' type='text/html' href='http://korayduzgun.blogspot.com/2012/04/t-sql-trigger-2-dml-trigger.html' title='T-Sql Trigger 2 - DDL Trigger'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/07069515912801278121</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>