﻿
{"id":3420,"date":"2015-12-23T15:59:08","date_gmt":"2015-12-23T15:59:08","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=3420"},"modified":"2015-12-23T15:59:08","modified_gmt":"2015-12-23T15:59:08","slug":"asp-net-url-routing-mekanizmasi","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-url-routing-mekanizmasi\/","title":{"rendered":"Asp.NET &#8211; URL Routing Mekanizmas\u0131"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Uzun s\u00fcredir Web alan\u0131nda Asp.NET MVC mimarisi \u00fczerinde i\u00e7erik yay\u0131nl\u0131yoruz.Haliyle her ne kadar web mimarisinde yo\u011funluk olarak taraf de\u011fi\u015ftirmi\u015f olsakta bu Asp.NET mimarisi \u00fczerinde \u00e7al\u0131\u015fmalar\u0131m\u0131z\u0131 komple saf d\u0131\u015f\u0131 b\u0131rakt\u0131k anlam\u0131na gelmemektedir.Asp.NET MVC&#8217;de URL Routing alt yap\u0131s\u0131n\u0131n Asp.NET mimarisinde nas\u0131l yap\u0131ld\u0131\u011f\u0131 hakk\u0131nda bir dizi soru ve i\u00e7erik talebi ald\u0131m.Asl\u0131nda bu konu \u00fczerinde internette zibilyon T\u00fcrk\u00e7e kaynak olmas\u0131na ve bunlara y\u00f6nlendirmeme ra\u011fmen hala bu istek ve sorular\u0131n sonunun gelmemesi neticesinde bu i\u00e7eri\u011fi olu\u015fturmaya karar verdim.<\/p>\n<p>Evet art\u0131k konuya giri\u015f yapabiliriz.<\/p>\n<p>Asp.NET projeleri tabiat\u0131 gere\u011fi QueryString mekanizmas\u0131yla daha seri \u00e7al\u0131\u015fmalar ger\u00e7ekle\u015ftirebilmemize olanak sa\u011flayan bir platformdur.Bunun yan\u0131nda SEO ve kullan\u0131c\u0131 dostu dedi\u011fimiz URL yap\u0131lar\u0131n\u0131da olu\u015fturmam\u0131za yarayan URL Routing mekanizmas\u0131n\u0131 devreye sokarak, Asp.NET projelerinde art\u0131 bir \u00f6zellik olarak kullanabiliriz.<\/p>\n<p>\u015eimdi \u00f6rneklendirme ama\u00e7l\u0131 bir Asp.NET projesi a\u00e7arak i\u00e7erisine &#8220;Default.aspx&#8221; ve &#8220;Kitaplar.aspx&#8221; isimli iki adet sayfa olu\u015fturuyorum.Buradaki maksat &#8220;Default.aspx&#8221; sayfas\u0131nda belirli kitaplar\u0131 listelemek ve URL Routing mekanizmas\u0131 kullanarak SEO uyumlu linkler e\u015fli\u011finde &#8220;Kitaplar.aspx&#8221; sayfas\u0131na y\u00f6nlendirmek.<\/p>\n<p>\u00d6ncelikle Global.asax dosyam\u0131z\u0131 a\u00e7arak a\u015fa\u011f\u0131daki metodu olu\u015fturuyoruz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class Global : System.Web.HttpApplication\r\n    {\r\n        protected void Application_Start(object sender, EventArgs e)\r\n        {\r\n            RouteAdd(RouteTable.Routes);\r\n        }\r\n\r\n        \/\/Olu\u015fturdu\u011fumuz metod\r\n        void RouteAdd(RouteCollection route)\r\n        {\r\n            route.MapPageRoute(&quot;KitapDetay&quot;, &quot;Kitap\/{KitapAdi}&quot;, &quot;~\/Kitaplar.aspx&quot;);\r\n        } \r\n    }\r\n<\/pre>\n<p>\u015eimdi burada biraz konu\u015fal\u0131m.&#8221;RouteAdd&#8221; ismi verdi\u011fim metod(ki bu metoda siz istedi\u011finiz ismi verebilirsiniz) RouteCollection tipinden bir parametre almaktad\u0131r.RouteCollection tipi sayesinde biz projemizde y\u00f6nlendirme yapaca\u011f\u0131m\u0131z \u015fablonlar\u0131 tutmaktay\u0131z.<\/p>\n<p>\u015eimdi bu metod i\u00e7eri\u011fini a\u015fa\u011f\u0131ya alal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            route.MapPageRoute(&quot;KitapDetay&quot;, &quot;Kitap\/{KitapAdi}&quot;, &quot;~\/Kitaplar.aspx&quot;);\r\n<\/pre>\n<p>RouteCollection parametresinin &#8220;MapPageRoute&#8221; metodu ile URL \u015fablonlar\u0131m\u0131z\u0131 belirtebiliyoruz.Tabi yukarda vermi\u015f oldu\u011fumuz \u015fablonun prototibini \u00e7izmemiz gerekirse a\u015fa\u011f\u0131ya g\u00f6z at\u0131n\u0131z.<\/p>\n<blockquote><p><strong><em>route.MapPageRoute(&#8220;\u015eablon \u0130smi&#8221;, &#8220;URL \u015eablonu&#8221;, &#8220;\u015eablonun Uygulanaca\u011f\u0131 Sayfa&#8221;);<\/em><\/strong><\/p><\/blockquote>\n<p>Evet, g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi URL \u015fablonumuzu olu\u015fturmu\u015f olduk.\u015eimdi Asp.NET i\u015flemlerini h\u0131zl\u0131 bir \u015fekilde halledip, bu URL Routing \u015fablonunu linklemede nas\u0131l kullanaca\u011f\u0131m\u0131z\u0131 g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n\/\/Kitap Entitymizi olu\u015fturdum.\r\n    class Kitap\r\n    {\r\n        public string KitapAdi { get; set; }\r\n    }\r\n\/\/Default.aspx komutlar\u0131\r\n    public partial class Default : System.Web.UI.Page\r\n    {\r\n        protected void Page_Load(object sender, EventArgs e)\r\n        {\r\n            if (!IsPostBack)\r\n            {\r\n                List&lt;Kitap&gt; Kitaplar = new List&lt;Kitap&gt;();\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;\u0130stanbul Hat\u0131ras\u0131&quot; });\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;B\u00fcy\u00fck Oyun&quot; });\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;Ejderha D\u00f6vmeli K\u0131z&quot; });\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;Nadir \u015eah&quot; });\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;Zihin Kontrol\u00fc&quot; });\r\n                Kitaplar.Add(new Kitap { KitapAdi = &quot;Bir Sava\u015f Nas\u0131l Kaybedilir&quot; });\r\n\r\n                rptSaydir.DataSource = Kitaplar;\r\n                rptSaydir.DataBind();\r\n            }\r\n        }\r\n    }\r\n<\/pre>\n<p>\u015eimdi .aspx dosyam\u0131z\u0131 d\u00fczenleyelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            &lt;asp:Repeater ID=&quot;rptSaydir&quot; runat=&quot;server&quot;&gt;\r\n                &lt;ItemTemplate&gt;\r\n                    &lt;a href=&quot;\/Kitap\/&lt;%#Eval(&quot;KitapAdi&quot;) %&gt;&lt;a href=&quot;http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131.png&quot;&gt;&lt;img src=&quot;http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131.png&quot; alt=&quot;Asp.NET - URL Routing Mekanizmas\u0131&quot; width=&quot;420&quot; height=&quot;149&quot; class=&quot;aligncenter size-full wp-image-3426&quot; \/&gt;&lt;\/a&gt;&quot;&gt;&lt;%#Eval(&quot;KitapAdi&quot;) %&gt;&lt;\/a&gt;&lt;br \/&gt;\r\n                &lt;\/ItemTemplate&gt;\r\n            &lt;\/asp:Repeater&gt;\r\n<\/pre>\n<p>\u015eimdi burada dikkat edelim.Global.asax dosyam\u0131zda uygulad\u0131\u011f\u0131m\u0131z \u015fablon tipine benzer \u015fekilde bir link yap\u0131s\u0131 olu\u015fturuyoruz.Olu\u015fturdu\u011fumuz bu link yap\u0131s\u0131 neticesinde URL Routing mekanizmas\u0131 devreye girecek ve bu yap\u0131ya benzer olan Route \u015fablonunu bularak, belirlenen sayfaya y\u00f6nlendirecektir.<\/p>\n<p>Haliyle projeyi bu \u015fekilde derleyip \u00e7al\u0131\u015ft\u0131r\u0131rsak e\u011fer a\u015fa\u011f\u0131daki gibi bir sonu\u00e7la kar\u015f\u0131la\u015faca\u011f\u0131z.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131.png\" alt=\"Asp.NET - URL Routing Mekanizmas\u0131\" width=\"413\" height=\"158\" class=\"aligncenter size-full wp-image-3423\" \/><\/a><\/p>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi \u015fablonumuza uygun URL yap\u0131s\u0131n\u0131 olu\u015fturmu\u015f olduk.<\/p>\n<p>Evet, \u015fuanda duyuyorum ki &#8220;ya hocam linklerde bo\u015fluk karakterleri oldu mu \u015fimdi&#8221; gibisinden \u015fikayetler ya\u011fmaya ba\u015flad\u0131.Birazdan bunun \u00e7aresine de bakaca\u011f\u0131z lakin \u015fimdi linke t\u0131kland\u0131\u011f\u0131 zaman &#8220;Kitaplar.aspx&#8221; sayfas\u0131ndan URL Roting mekanizmas\u0131 arac\u0131l\u0131\u011f\u0131yla gelen(QueryString de\u011feriymi\u015f gibi d\u00fc\u015f\u00fcnebilirsiniz) parametre de\u011ferini nas\u0131l elde ediyoruz g\u00f6relim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public partial class Kitaplar : System.Web.UI.Page\r\n    {\r\n        protected void Page_Load(object sender, EventArgs e)\r\n        {\r\n            if (RouteData.Values&#x5B;&quot;KitapAdi&quot;] != null)\r\n            {\r\n                Response.Write(RouteData.Values&#x5B;&quot;KitapAdi&quot;]);\r\n            }\r\n        }\r\n    }\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funu incelerseniz e\u011fer ayn\u0131 Asp.NET MVC mimarisinde oldu\u011fu gibi RouteData.Values komutu arac\u0131l\u0131\u011f\u0131yla adres \u00e7ubu\u011fundaki t\u00fcm parametre de\u011ferlerine eri\u015febiliyor ve de\u011ferlerini elde edebiliyoruz.<\/p>\n<p>Unutmay\u0131n ki, RouteData.Values Routing mekanizmas\u0131ndaki parametre de\u011ferlerini tutar.<\/p>\n<p><a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-2.png\" alt=\"Asp.NET - URL Routing Mekanizmas\u0131 - 2\" width=\"474\" height=\"66\" class=\"aligncenter size-full wp-image-3427\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-2.png 474w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-2-300x42.png 300w\" sizes=\"auto, (max-width: 474px) 100vw, 474px\" \/><\/a><\/p>\n<p>\u015eimdi ise URL yap\u0131s\u0131ndaki bo\u015f karaktere \u00e7\u00f6z\u00fcm bulal\u0131m.Bunun i\u00e7in \u00e7ok \u015fa\u015fal\u0131 bir i\u015flem yapmayaca\u011f\u0131z.Bir static metod ile parametreye g\u00f6nderilecek olan de\u011feri al\u0131p, istenmeyen karakterleri istediklerimizle de\u011fi\u015ftirmemiz yeterlidir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public static class KarakterDuzenleyici\r\n    {\r\n        public static string Duzenle(string Metin)\r\n        {\r\n            Metin = Metin.Replace(&quot; &quot;, &quot;-&quot;);\r\n            Metin = Metin.Replace(&quot;\u00f6&quot;, &quot;o&quot;);\r\n            Metin = Metin.Replace(&quot;\u0130&quot;, &quot;i&quot;);\r\n\r\n            return Metin;\r\n        }\r\n    }\r\n<\/pre>\n<p>Yukar\u0131daki kod blo\u011funda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi bir static metod olu\u015fturdum.Bu metoda g\u00f6nderece\u011fimiz metinsel ifade bize istemedi\u011fimiz karakterlerden ar\u0131nd\u0131r\u0131lm\u0131\u015f bir vaziyette geri gelecektir.Tabi ben \u00f6rne\u011fi uzatmamak kayd\u0131yla k\u0131sa tuttum.Siz istedi\u011finiz \u015fekilde geli\u015ftirebilirsiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            &lt;asp:Repeater ID=&quot;rptSaydir&quot; runat=&quot;server&quot;&gt;\r\n                &lt;ItemTemplate&gt;\r\n                    &lt;a href=&quot;\/Kitap\/&lt;%#AspNETRouting.KarakterDuzenleyici.Duzenle(Eval(&quot;KitapAdi&quot;).ToString()) %&gt;&quot;&gt;&lt;%#Eval(&quot;KitapAdi&quot;) %&gt;&lt;\/a&gt;&lt;br \/&gt;\r\n                &lt;\/ItemTemplate&gt;\r\n            &lt;\/asp:Repeater&gt;\r\n<\/pre>\n<p>Repeater nesnemiz i\u00e7erisinde olu\u015fturdu\u011fumuz linkin Eval k\u0131sm\u0131n\u0131 yukar\u0131daki gibi g\u00fcncelledikten sonra projemizi derleyip \u00e7al\u0131\u015ft\u0131ral\u0131m&#8230;<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-3.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-3.png\" alt=\"Asp.NET - URL Routing Mekanizmas\u0131 - 3\" width=\"390\" height=\"152\" class=\"aligncenter size-full wp-image-3429\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-3.png 390w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-3-300x117.png 300w\" sizes=\"auto, (max-width: 390px) 100vw, 390px\" \/><\/a><\/p>\n<p>Eveet&#8230;<\/p>\n<p>Art\u0131k Asp.NET mimarisinde URL Routing mekanizmas\u0131n\u0131n nas\u0131l uyguland\u0131\u011f\u0131n\u0131 detayl\u0131ca irdelemi\u015f olduk.Ama burada noktaland\u0131rmadan \u00f6nce ben diyorum ki madem bu i\u015fe el att\u0131k tam tam\u0131na ak\u0131llarda soru i\u015fareti b\u0131rakmayal\u0131m.<\/p>\n<p>URL Roting sonucunda olu\u015fturdu\u011fumuz linklerin sonuna &#8220;.html&#8221; uzant\u0131s\u0131n\u0131 nas\u0131l ekleyece\u011fimizi g\u00f6stermek istiyorum.<br \/>\nBu i\u015flem i\u00e7in URL Routing \u015femam\u0131zda bir g\u00fcncelle\u015ftirme yapmam\u0131za gerek yok.\u015eemaya uygun link kal\u0131b\u0131n\u0131 bast\u0131\u011f\u0131m\u0131z noktaya giderek, link sonuna .html eklememiz yeterli olacakt\u0131r.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n            &lt;asp:Repeater ID=&quot;rptSaydir&quot; runat=&quot;server&quot;&gt;\r\n                &lt;ItemTemplate&gt;\r\n                    &lt;a href=&quot;\/Kitap\/&lt;%#AspNETRouting.KarakterDuzenleyici.Duzenle(Eval(&quot;KitapAdi&quot;).ToString()) %&gt;.html&quot;&gt;&lt;%#Eval(&quot;KitapAdi&quot;) %&gt;&lt;\/a&gt;&lt;br \/&gt;\r\n                &lt;\/ItemTemplate&gt;\r\n            &lt;\/asp:Repeater&gt;\r\n<\/pre>\n<p>G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi &#8220;.html&#8221; uzant\u0131s\u0131n\u0131 olu\u015fturulacak linkin sonuna ekledim.Bu \u015fekilde projemizi derleyip \u00e7al\u0131\u015ft\u0131r\u0131rsak e\u011fer,<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-4.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-4.png\" alt=\"Asp.NET - URL Routing Mekanizmas\u0131 - 4\" width=\"394\" height=\"150\" class=\"aligncenter size-full wp-image-3431\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-4.png 394w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-4-300x114.png 300w\" sizes=\"auto, (max-width: 394px) 100vw, 394px\" \/><\/a><br \/>\nekran g\u00f6r\u00fcnt\u00fcs\u00fcnde g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi linklerimiz sorunsuz olu\u015fturalacakt\u0131r.<\/p>\n<p>Lakin&#8230;!!!<\/p>\n<p>Linke t\u0131klad\u0131\u011f\u0131m zaman kar\u015f\u0131n\u0131za a\u015fa\u011f\u0131da ekran g\u00f6r\u00fcnt\u00fcs\u00fcndeki hata gelebilme olas\u0131l\u0131\u011f\u0131 y\u00fcksektir.<br \/>\n<a href=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-5.png\" alt=\"Asp.NET - URL Routing Mekanizmas\u0131 - 5\" width=\"651\" height=\"344\" class=\"aligncenter size-full wp-image-3433\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-5.png 651w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2015\/12\/Asp.NET-URL-Routing-Mekanizmas\u0131-5-300x159.png 300w\" sizes=\"auto, (max-width: 651px) 100vw, 651px\" \/><\/a><\/p>\n<p>Bu hatan\u0131n sebebi linkinizdeki &#8220;.html&#8221; uzant\u0131s\u0131d\u0131r.IIS&#8217;in uzant\u0131l\u0131 linkleri tan\u0131mlay\u0131p \u00e7al\u0131\u015ft\u0131rabilmesi i\u00e7in web.config dosyas\u0131nda bir d\u00fczenleme yapmam\u0131z gerekmektedir.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n  &lt;system.webServer&gt;\r\n    &lt;modules runAllManagedModulesForAllRequests=&quot;true&quot; \/&gt;\r\n  &lt;\/system.webServer&gt;\r\n<\/pre>\n<p>Yukar\u0131daki komutu web.config dosyas\u0131na entegre etmeniz bu hatadan sizi kurtaracakt\u0131r.<br \/>\n\u00d6rnek web.config i\u00e7in a\u015fa\u011f\u0131daki kod blo\u011funu inceleyiniz.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;\r\n&lt;!--\r\n  For more information on how to configure your ASP.NET application, please visit\r\n  http:\/\/go.microsoft.com\/fwlink\/?LinkId=169433\r\n  --&gt;\r\n&lt;configuration&gt;\r\n  &lt;system.web&gt;\r\n    &lt;compilation debug=&quot;true&quot; targetFramework=&quot;4.6&quot;\/&gt;\r\n    &lt;httpRuntime targetFramework=&quot;4.6&quot;\/&gt;\r\n  &lt;\/system.web&gt;\r\n  &lt;!-- ................. --&gt;\r\n  &lt;system.webServer&gt;\r\n    &lt;modules runAllManagedModulesForAllRequests=&quot;true&quot; \/&gt;\r\n  &lt;\/system.webServer&gt;\r\n  &lt;!-- ................. --&gt;\r\n  &lt;system.codedom&gt;\r\n    &lt;compilers&gt;\r\n      &lt;compiler language=&quot;c#;cs;csharp&quot; extension=&quot;.cs&quot;\r\n        type=&quot;Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;\r\n        warningLevel=&quot;4&quot; compilerOptions=&quot;\/langversion:6 \/nowarn:1659;1699;1701&quot;\/&gt;\r\n      &lt;compiler language=&quot;vb;vbs;visualbasic;vbscript&quot; extension=&quot;.vb&quot;\r\n        type=&quot;Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&quot;\r\n        warningLevel=&quot;4&quot; compilerOptions=&quot;\/langversion:14 \/nowarn:41008 \/define:_MYTYPE=\\&amp;quot;Web\\&amp;quot; \/optionInfer+&quot;\/&gt;\r\n    &lt;\/compilers&gt;\r\n  &lt;\/system.codedom&gt;\r\n&lt;\/configuration&gt;\r\n<\/pre>\n<p>Bu \u015fekilde projemizi derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131z zaman s\u0131k\u0131nt\u0131s\u0131z \u00e7al\u0131\u015facakt\u0131r.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar dilerim&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Uzun s\u00fcredir Web alan\u0131nda Asp.NET MVC mimarisi \u00fczerinde i\u00e7erik yay\u0131nl\u0131yoruz.Haliyle her ne kadar web mimarisinde yo\u011funluk olarak taraf de\u011fi\u015ftirmi\u015f olsakta bu Asp.NET mimarisi \u00fczerinde \u00e7al\u0131\u015fmalar\u0131m\u0131z\u0131 komple saf d\u0131\u015f\u0131 b\u0131rakt\u0131k anlam\u0131na gelmemektedir.Asp.NET MVC&#8217;de URL Routing&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":3434,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[745,850,852,851],"class_list":["post-3420","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net","tag-asp-net","tag-asp-net-url-routing-mekanizmasi","tag-asp-net-url-roting","tag-url-rotion"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3420","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=3420"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/3420\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3434"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=3420"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=3420"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=3420"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}