{"id":8511,"date":"2010-12-04T23:33:31","date_gmt":"2010-12-04T21:33:31","guid":{"rendered":"https:\/\/fatihboy.com\/post\/programsal-olarak-wcf-hizmeti-olusturma"},"modified":"2010-12-04T23:33:31","modified_gmt":"2010-12-04T21:33:31","slug":"programsal-olarak-wcf-hizmeti-olusturma","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/","title":{"rendered":"Programsal Olarak WCF Hizmeti Olu\u015fturma"},"content":{"rendered":"<p>&nbsp; Bir <a href=\"\/en\/?p=8503\" target=\"_blank\" rel=\"noopener noreferrer\">\u00f6nceki makalem<\/a>le birlikte Windows Communication Foundation\u2019\u0131n (<em>WCF<\/em>) detaylar\u0131n\u0131 sizlerle payla\u015faca\u011f\u0131m seriye ba\u015flam\u0131\u015f ve giri\u015f d\u00fczeyindeki bilgiler ile basit bir hizmet olu\u015fturarak uygulamam\u0131z \u00fczerinden bu hizmeti istemcilerimize sunmu\u015ftuk. \u00dcstelik hizmetimiz olu\u015ftururken de minimum d\u00fczeyde kod yazm\u0131\u015f ve yap\u0131land\u0131rma i\u015flerimizi tamamen <em>app.config<\/em> dosyas\u0131 \u00fczerinden ger\u00e7ekle\u015ftirmi\u015ftik. Pek \u00e7ok WCF senaryosunda bu \u015fekilde statik olarak yap\u0131land\u0131r\u0131lm\u0131\u015f hizmetler biz yaz\u0131l\u0131m geli\u015ftiricilerin i\u015fini g\u00f6rse de, benim gibi t\u00fcm s\u00fcrece hakim olmak isteyen bir insansan\u0131z ya da dinamik olarak WCF hizmetleri sunman\u0131z\u0131 gerektiren i\u015f mant\u0131klar\u0131n\u0131z bulunuyorsa \u015f\u00fcphesiz ki elinizi biraz koda bula\u015ft\u0131rman\u0131z gerekecektir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Bu makalemde, WCF\u2019e giri\u015f makalemde sizlerle payla\u015fm\u0131\u015f oldu\u011fum \u00f6rnek WCF hizmeti \u00fczerinden giderek, ayn\u0131 hizmeti app.config ile yap\u0131land\u0131rma y\u00f6ntemini kullanmadan nas\u0131l kod i\u00e7erisinde olu\u015fturabilece\u011finizi sizlerle payla\u015f\u0131yor olaca\u011f\u0131m.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Bir WCF hizmetini kodumuz i\u00e7erisinde olu\u015fturuyorsak, ilk yapmam\u0131z gereken \u015fey hizmetimizde kullan\u0131lacak temel adres(ler)i belirlemek olmal\u0131d\u0131r;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Uri hizmetTemelAdresi = new Uri(\"http:\/\/localhost:1234\/WCFOrnekleri\");<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Hemen ard\u0131ndan da bu adresi temel alarak bir WCF hizmeti olu\u015fturmal\u0131y\u0131z;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ServiceHost hizmetSunucusu = new ServiceHost(typeof(OrnekHizmet), hizmetTemelAdresi);<\/pre>\n\n\n\n<p>&nbsp;&nbsp; \u00d6rnekten de g\u00f6rece\u011finiz gibi WCF hizmetimizi olu\u015ftururken <em>hizmet t\u00fcr\u00fcn\u00fc<\/em> de temel adres ile birlikte veriyoruz. Ayn\u0131 app.config yap\u0131land\u0131rmas\u0131nda yapt\u0131\u011f\u0131m\u0131z gibi burada da birden fazla temel adres verebilmemiz m\u00fcmk\u00fcn. Dikkat edilmesi gereken nokta; <strong>ServiceHost<\/strong> s\u0131n\u0131f\u0131n\u0131n birden fazla temel adres kabul etmesindeki neden, farkl\u0131 ba\u011flay\u0131c\u0131lar (<em>bindings<\/em>) i\u00e7in kullan\u0131lacak temel adreslerin farkl\u0131 olmas\u0131d\u0131r. Dolay\u0131s\u0131yla ayn\u0131 protokol i\u00e7in sadece bir temel adres verilmelidir. Hizmet sunucusu olu\u015fturmakta kulland\u0131\u011f\u0131m\u0131z ServiceHost s\u0131n\u0131f\u0131n\u0131n constructer\u2019\u0131 kullan\u0131larak i\u015f mant\u0131\u011f\u0131n\u0131z do\u011frultusunda ileri d\u00fczeyde de\u011fi\u015fik hizmetler olu\u015fturman\u0131z da m\u00fcmk\u00fcnd\u00fcr. Bu makalenin konusu olmad\u0131\u011f\u0131 i\u00e7in <em>\u015fimdilik<\/em> de\u011finmeyece\u011fim bu y\u00f6ntemleri ilerleyen makalelerimde sizlerle payla\u015f\u0131yor olaca\u011f\u0131m.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Giri\u015f makalemde payla\u015ft\u0131\u011f\u0131m WCF\u2019in <em>ABC<\/em>\u2019si hizmetimizi kod ile olu\u015ftururken de ge\u00e7erli olacakt\u0131r. Temel adresler ve hizmet t\u00fcr\u00fc ile bir hizmet sunucusu olu\u015fturduktan sonra, art\u0131k hizmetimizi sunaca\u011f\u0131m\u0131z u\u00e7 noktalar\u0131m\u0131z\u0131 (<em>endpoint<\/em>) haz\u0131rlayabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hizmetSunucusu.AddServiceEndpoint(typeof(IOrnekHizmet), new WSHttpBinding(), \"OrnekHizmet\");<\/pre>\n\n\n\n<p>&nbsp;&nbsp; G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi bir hizmet sunucu i\u00e7in yeni bir u\u00e7 nokta tan\u0131mlamak olduk\u00e7a kolay. Kontrat\u0131m\u0131z\u0131, ba\u011flay\u0131c\u0131m\u0131z\u0131 ve adresimizi (yani <em>ABC\u2019mizi<\/em>) verdi\u011fimizde art\u0131k hizmetimizi sunabilece\u011fimiz bir u\u00e7 nokta tan\u0131mlam\u0131\u015f oluyoruz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Tam bu noktada bir ka\u00e7 \u00f6nemli not d\u00fc\u015fmek istiyorum;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Hizmet sunucumuz ayn\u0131 kontrat\u0131 farkl\u0131 ba\u011flay\u0131c\u0131 ve adreslerle sunabilir. Bunun i\u00e7in <em>AddServiceEndpoint<\/em> fonksiyonunu her bir adres ve ba\u011flay\u0131c\u0131 kombinasyonu i\u00e7in ayn\u0131 kontrat aray\u00fcz\u00fcn\u00fc kullanmak \u015fart\u0131yla \u00e7a\u011f\u0131rmam\u0131z yeterli olacakt\u0131r. <\/li><li> U\u00e7 noktam\u0131z\u0131 eklerken kullanaca\u011f\u0131m\u0131z adres, <em>\u00f6rnekte oldu\u011fu gibi<\/em>, g\u00f6receli (<em>relative<\/em>) adres olabilece\u011fi gibi, tam adreste (<em>absolute<\/em>) olabilir. Adres olarak g\u00f6receli adres verilmesi durumunda kullan\u0131lan ba\u011flay\u0131c\u0131ya g\u00f6re ilgili temel adres se\u00e7ilerek verilen adres ile birle\u015ftirilir ve tam adres olu\u015fturulur. Adres olarak tam adres verilmesi durumunda ise herhangi bir ek i\u015flem yap\u0131lmaks\u0131z\u0131n verilen adres u\u00e7 nokta tan\u0131mlamada kullan\u0131lacakt\u0131r.<br><div align=\"justify\"><br>\u00a0\u00a0 Aksi gerekmedi\u011fi s\u00fcrece g\u00f6receli adres kullan\u0131m\u0131n\u0131 tercih etmenizi tavsiye ederim. Bu sayede tek bir de\u011fi\u015fiklikle (temel adresi de\u011fi\u015ftirerek) t\u00fcm hizmet u\u00e7 noktalar\u0131n\u0131z\u0131 adresi g\u00fcncellenmi\u015f olacakt\u0131r.<\/div> <\/li><li> Ayn\u0131 hizmeti <strong>farkl\u0131 kontratlarla <\/strong>da sunabilmeniz m\u00fcmk\u00fcn. Bunun i\u00e7in yapman\u0131z gereken hizmet s\u0131n\u0131f\u0131n\u0131z\u0131n farkl\u0131 kontratlar\u0131 (<em>aray\u00fczleri<\/em>) kullanmas\u0131n\u0131 sa\u011flamakt\u0131r. Ard\u0131ndan <em>AddServiceEndpoint<\/em> fonksiyonunu kullanarak istedi\u011finiz kontratlar i\u00e7in u\u00e7 nokta ekleyebilirsiniz. <\/li><\/ul>\n\n\n\n<p>&nbsp;&nbsp; \u015eimdiye kadar tamamlad\u0131\u011f\u0131m\u0131z ad\u0131mlarla hizmet sunucumuz ba\u015flat\u0131lmaya haz\u0131r; fakat hen\u00fcz istemcilerce bir vekil (<em>proxy<\/em>) s\u0131n\u0131f olu\u015fturulabilmesi i\u00e7in gereken meta veri yay\u0131nlanmamakta. Zorunlu olmamas\u0131na kar\u015f\u0131n hizmetinizi kullanmak isteyecek 3. parti yaz\u0131l\u0131m geli\u015ftirilerce kullan\u0131lacak olan meta veri a\u015fa\u011f\u0131daki ad\u0131mlar ard\u0131ndan yay\u0131nlan\u0131yor olacak;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ServiceMetadataBehavior hizmetMetaVeriDavranisi = new ServiceMetadataBehavior { HttpGetEnabled = true };\nhizmetSunucusu.Description.Behaviors.Add(hizmetMetaVeriDavranisi);<\/pre>\n\n\n\n<p>&nbsp; Bu noktadan sonra hizmet sunucumuzu a\u00e7arak istekleri kabul etmeye ba\u015flayabiliriz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">hizmetSunucusu.Open();<\/pre>\n\n\n\n<p>&nbsp;&nbsp; A\u015fa\u011f\u0131da makalemde sizler payla\u015ft\u0131\u011f\u0131m \u00f6rnek uygulamam\u0131z\u0131n kodlar\u0131n\u0131 toplu halde bulabilirsiniz; (<em>ek olarak hata y\u00f6netimi ile ilgili girdiler bulacaks\u0131n\u0131z\u2026<\/em>)<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"csharp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Console.WriteLine (\"Hizmet sunucusu haz\u0131rlan\u0131yor...\");\nUri hizmetTemelAdresi = new Uri (\"http:\/\/localhost:1234\/WCFOrnekleri\");\n\nServiceHost hizmetSunucusu = new ServiceHost (typeof (OrnekHizmet), hizmetTemelAdresi);\n\ntry {\n    hizmetSunucusu.AddServiceEndpoint (typeof (IOrnekHizmet), new WSHttpBinding (), \"OrnekHizmet\");\n\n    ServiceMetadataBehavior hizmetMetaVeriDavranisi = new ServiceMetadataBehavior { HttpGetEnabled = true };\n    hizmetSunucusu.Description.Behaviors.Add (hizmetMetaVeriDavranisi);\n\n    Console.WriteLine (\"Hizmet sunucusu ba\u015flat\u0131l\u0131yor...\");\n    hizmetSunucusu.Open ();\n\n    Console.WriteLine (\"Hizmet sunucusu haz\u0131r\");\n    Console.WriteLine (\"Hizmet sunucusunu sonland\u0131rmak i\u00e7in herhangi bir tu\u015fa bas\u0131n\u0131z\");\n    Console.ReadKey ();\n\n    hizmetSunucusu.Close ();\n} catch (Exception ex) {\n    Console.WriteLine (\"Hizmet sunucusunda hata olu\u015ftu: {0}\", ex.Message);\n\n    if (hizmetSunucusu.State != CommunicationState.Closed || hizmetSunucusu.State != CommunicationState.Closing) {\n        hizmetSunucusu.Abort ();\n    }\n\n    Console.WriteLine (\"Uygulamay\u0131 sonland\u0131rmak i\u00e7in herhangi bir tu\u015fa bas\u0131n\u0131z\");\n    Console.ReadKey ();\n}<\/pre>","protected":false},"excerpt":{"rendered":"<p>&nbsp; Bir \u00f6nceki makalemle birlikte Windows Communication Foundation\u2019\u0131n (WCF) detaylar\u0131n\u0131 sizlerle payla\u015faca\u011f\u0131m seriye ba\u015flam\u0131\u015f ve giri\u015f d\u00fczeyindeki bilgiler ile basit bir hizmet olu\u015fturarak uygulamam\u0131z \u00fczerinden bu hizmeti istemcilerimize sunmu\u015ftuk. \u00dcstelik hizmetimiz olu\u015ftururken de minimum d\u00fczeyde kod yazm\u0131\u015f ve yap\u0131land\u0131rma i\u015flerimizi tamamen app.config dosyas\u0131 \u00fczerinden ger\u00e7ekle\u015ftirmi\u015ftik. Pek \u00e7ok WCF senaryosunda bu \u015fekilde statik olarak yap\u0131land\u0131r\u0131lm\u0131\u015f hizmetler&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28,115],"tags":[116],"class_list":["post-8511","post","type-post","status-publish","format-standard","hentry","category-csharp","category-turkce","category-wcf","tag-wcf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp; Bir \u00f6nceki makalemle birlikte Windows Communication Foundation\u2019\u0131n (WCF) detaylar\u0131n\u0131 sizlerle payla\u015faca\u011f\u0131m seriye ba\u015flam\u0131\u015f ve giri\u015f d\u00fczeyindeki bilgiler ile basit bir hizmet olu\u015fturarak uygulamam\u0131z \u00fczerinden bu hizmeti istemcilerimize sunmu\u015ftuk. \u00dcstelik hizmetimiz olu\u015ftururken de minimum d\u00fczeyde kod yazm\u0131\u015f ve yap\u0131land\u0131rma i\u015flerimizi tamamen app.config dosyas\u0131 \u00fczerinden ger\u00e7ekle\u015ftirmi\u015ftik. Pek \u00e7ok WCF senaryosunda bu \u015fekilde statik olarak yap\u0131land\u0131r\u0131lm\u0131\u015f hizmetler...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2010-12-04T21:33:31+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Boy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Boy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Programsal Olarak WCF Hizmeti Olu\u015fturma\",\"datePublished\":\"2010-12-04T21:33:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/\"},\"wordCount\":776,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"keywords\":[\"WCF\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\",\"WCF\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/\",\"url\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/\",\"name\":\"Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"datePublished\":\"2010-12-04T21:33:31+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Programsal Olarak WCF Hizmeti Olu\u015fturma\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihboy.com\/#website\",\"url\":\"https:\/\/fatihboy.com\/\",\"name\":\"Fatih Boy\",\"description\":\"Ki\u015fisel Web Sitesi\",\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihboy.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\",\"name\":\"Fatih Boy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g\",\"caption\":\"Fatih Boy\"},\"logo\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/fatihboy.com\"],\"url\":\"https:\/\/fatihboy.com\/en\/author\/fatih\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/","og_locale":"en_US","og_type":"article","og_title":"Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy","og_description":"&nbsp; Bir \u00f6nceki makalemle birlikte Windows Communication Foundation\u2019\u0131n (WCF) detaylar\u0131n\u0131 sizlerle payla\u015faca\u011f\u0131m seriye ba\u015flam\u0131\u015f ve giri\u015f d\u00fczeyindeki bilgiler ile basit bir hizmet olu\u015fturarak uygulamam\u0131z \u00fczerinden bu hizmeti istemcilerimize sunmu\u015ftuk. \u00dcstelik hizmetimiz olu\u015ftururken de minimum d\u00fczeyde kod yazm\u0131\u015f ve yap\u0131land\u0131rma i\u015flerimizi tamamen app.config dosyas\u0131 \u00fczerinden ger\u00e7ekle\u015ftirmi\u015ftik. Pek \u00e7ok WCF senaryosunda bu \u015fekilde statik olarak yap\u0131land\u0131r\u0131lm\u0131\u015f hizmetler...Read More","og_url":"https:\/\/fatihboy.com\/en\/programsal-olarak-wcf-hizmeti-olusturma\/","og_site_name":"Fatih Boy","article_published_time":"2010-12-04T21:33:31+00:00","author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Programsal Olarak WCF Hizmeti Olu\u015fturma","datePublished":"2010-12-04T21:33:31+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/"},"wordCount":776,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"keywords":["WCF"],"articleSection":["C#","T\u00fcrk\u00e7e","WCF"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/","url":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/","name":"Programsal Olarak WCF Hizmeti Olu\u015fturma - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"datePublished":"2010-12-04T21:33:31+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/programsal-olarak-wcf-hizmeti-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Programsal Olarak WCF Hizmeti Olu\u015fturma"}]},{"@type":"WebSite","@id":"https:\/\/fatihboy.com\/#website","url":"https:\/\/fatihboy.com\/","name":"Fatih Boy","description":"Ki\u015fisel Web Sitesi","publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihboy.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158","name":"Fatih Boy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5b3de123ad95a2ffe30b75a54cee98b55f65185c6d6805b35088a3d945f2feb4?s=96&d=mm&r=g","caption":"Fatih Boy"},"logo":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/fatihboy.com"],"url":"https:\/\/fatihboy.com\/en\/author\/fatih\/"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/8511","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/comments?post=8511"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/8511\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=8511"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=8511"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=8511"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}