{"id":33647,"date":"2013-02-25T22:50:00","date_gmt":"2013-02-25T19:50:00","guid":{"rendered":"https:\/\/fatihboy.com\/?p=33647"},"modified":"2021-06-19T18:52:21","modified_gmt":"2021-06-19T15:52:21","slug":"wcf-ve-aspnet-oturumlari","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/wcf-ve-aspnet-oturumlari\/","title":{"rendered":"WCF ve ASP.Net oturumlar\u0131"},"content":{"rendered":"<p>&nbsp;&nbsp; Bir s\u00fcre \u00f6nce blo\u011fumda yay\u0131nlad\u0131\u011f\u0131m <a href=\"\/en\/?p=8503\">WCF\u2019e giri\u015f<\/a> makaleme gelen <a href=\"\/en\/?p=8503#comment-34117\">WCF ve ASP.Net oturumlar\u0131 sorusu<\/a>na verdi\u011fim k\u0131sa yan\u0131t\u0131 ayr\u0131 bir makale ile ele alman\u0131n daha faydal\u0131 olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnd\u00fcm.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Konuya ba\u015flarken, \u00f6ncelikle soruyu hat\u0131rlayal\u0131m;<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p align=\"justify\">Fatih hocam selamlar,<\/p><p align=\"justify\">Makaleniz i\u00e7in \u00e7ok te\u015fekk\u00fcr ederim. \u00c7ok i\u015fime yarad\u0131. \u015eimdi bu konuyla ilgili bir soru sormak istiyorum.<\/p><p align=\"justify\">Ben WCF i ASP.NET \u2018te kullan\u0131yorum.<\/p><p align=\"justify\">ConcurrencyMode = Multiple, <br>InstanceContextMode = PerSession<\/p><p align=\"justify\">kullan\u0131yorum.<\/p><p align=\"justify\">Ayr\u0131ca IsInitiation=true olarak tek bir metodum var.<\/p><p align=\"justify\">\u015eimdi hocam sorum \u015fu : <br>WCF nesnesini, asp.net \u2018te nas\u0131l create edece\u011fim ki, b\u00fct\u00fcn sayfalarda olu\u015fturdu\u011fum bu tek nesneyi kullanay\u0131m. Static olarak tan\u0131mlarsam, di\u011fer kullan\u0131c\u0131larda ayn\u0131 kanaldan giri\u015f yap\u0131yor. Ben her bir session \u2018un ayr\u0131 bir nesne create etmesini istiyorum.<\/p><p align=\"justify\">Bilemiyorum anlatabildim mi?<\/p><p align=\"justify\">Yard\u0131mlar\u0131n\u0131z i\u00e7in \u00e7ok te\u015fekk\u00fcr ederim.<\/p><\/blockquote>\n\n\n\n<p>&nbsp;&nbsp; Asl\u0131na bakarsan\u0131z bu sorunun yan\u0131t\u0131 i\u00e7in bir ka\u00e7 farkl\u0131 noktadan konuyu incelememiz laz\u0131m. \u00d6ncelikle WCF oturumlar\u0131 (<em>sessions<\/em>) ile ASP.Net oturumlar\u0131n\u0131n (<em>sessions<\/em>) birbirlerinden farkl\u0131 oldu\u011funun alt\u0131n\u0131 \u00e7izmek gerekir. \u0130kisi tamamen farkl\u0131 iki yakla\u015f\u0131ma sahiptir;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>\n<div align=\"justify\"><strong>WCF oturumlar\u0131<\/strong> tam olarak sunucuda bir nesne \u00f6rne\u011fine denk gelmektedir. Yani InstanceContextMode = PerSession \u015feklindeki bir ifade ile her bir istemci i\u00e7in sunucuda yeni bir servis nesnesi olu\u015ftur demi\u015f oluyorsun. Hatta ayn\u0131 uygulama i\u00e7erisinde a\u00e7aca\u011f\u0131n\u0131z ikinci, \u00fc\u00e7\u00fcnc\u00fc bir istemci de birbirinden ba\u011f\u0131ms\u0131z oturumlar ba\u015flatacakt\u0131r. Bu oturumlar\u0131n her birisi haf\u0131zada yer alan bir nesne ile temsil edildi\u011fi i\u00e7in servisinizin ayn\u0131 anda destekleyebilece\u011fi oturum say\u0131s\u0131 nesnenin boyutu ve sahip oldu\u011funuz haf\u0131za alan\u0131 ile do\u011fru orant\u0131l\u0131d\u0131r.<\/div>\n<\/li><li>\n<div align=\"justify\"><strong>ASP.Net oturumlar\u0131<\/strong> ise daha \u00e7ok ortak kullan\u0131lan bir alan olarak d\u00fc\u015f\u00fcn\u00fclmelidir. Varsay\u0131lan olarak haf\u0131za olan bu alan istenirse MSSql, Window Azure AppFabric ya da MemCache gibi 3. parti sa\u011flay\u0131c\u0131larda da tutulabilir. Verinin ayr\u0131 bir sa\u011flay\u0131c\u0131 \u00fczerinde tutuluyor olmas\u0131 t\u00fcm uygulaman\u0131n her bir oturum i\u00e7in ayr\u0131 \u00f6rneklerinin olmas\u0131 ihtiyac\u0131n\u0131 da ortadan kald\u0131rmakta.<\/div>\n<\/li><\/ul>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131daki bilgiler \u0131\u015f\u0131\u011f\u0131nda WCF oturumlar\u0131 ile ASP.Net oturumlar\u0131 aras\u0131ndaki bir di\u011fer \u00f6nemli fark da ba\u015flama \u015fekilleridir. ASP.Net oturumlar\u0131 sunucu taraf\u0131nda kontrol edilmektedir. Bir ASP.Net oturumunun ne zaman ba\u015flay\u0131p ne zaman sonlanaca\u011f\u0131 sunucuda \u00e7al\u0131\u015fan kodun verdi\u011fi bir karard\u0131r. Bir uygulama i\u00e7in oturumun ba\u015flamas\u0131 istemcinin sisteme giri\u015f sayfas\u0131nda verdi\u011fi do\u011fru kullan\u0131c\u0131 bilgileri sonras\u0131nda olabilirken, bir di\u011fer uygulama i\u00e7in istemcinin ilk iste\u011fi olabilir. Benzer bir durum oturumun sonlanmas\u0131 i\u00e7in de s\u00f6z konusudur. \u00d6te yandan WCF hizmetlerinde oturum tamamen istemci taraf\u0131ndan kontrol edilmektedir. \u0130stemci istedi\u011fi noktada oturum bilgilerini WCF hizmetine g\u00f6nderebilir, g\u00f6ndermedi\u011fi zaman sunucu bu durumdan haberdar dahi olmayacakt\u0131r. \u0130stemci ne zaman ba\u011flant\u0131s\u0131n\u0131 keserse WCF hizmetindeki oturum da sonlanacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp; \u0130sterseniz konuyu biraz daha a\u00e7ay\u0131m; Web browser\u2019lar\u0131 1994 y\u0131l\u0131ndaki ilk kullan\u0131m\u0131ndan beri istemci taraf\u0131nda k\u0131sa bilgiler tutan \u00e7erezleri (cookie) desteklemektedir. \u0130stemcinin bir web sitesini ziyareti s\u0131ras\u0131nda sunucu uygulamas\u0131n\u0131n istemcide basit anahtar-de\u011fer ikilileri tutmas\u0131na olanak veren \u00e7erezler bu \u00f6zellikleri sayesinden web uygulamalar\u0131n\u0131n oturum deste\u011fine sahip olmalar\u0131n\u0131n da \u00f6n\u00fcn\u00fc a\u00e7m\u0131\u015flard\u0131r. Bir oturum ba\u015flatmak isteyen web uygulamas\u0131n\u0131n yapmas\u0131 gereken tek \u015fey bu oturumu i\u015faret eden tekil bir de\u011feri istemcideki \u00e7erez i\u00e7erisinde saklamakt\u0131r. \u0130stemcinin bir sonraki iste\u011finde bu \u00e7erez bilgisi de sunucuya iletilecek, dolay\u0131s\u0131yla da istemci fark\u0131nda olmadan oturumuna kald\u0131\u011f\u0131 yerden devam edebilecektir.<\/p>\n\n\n\n<p>&nbsp; Web uygulamalar\u0131ndaki 1994\u2019ten beri s\u00fcre gelen bu do\u011fal yetene\u011fin aksine web servislerinde varsay\u0131lan olarak bu destek bulunmamaktad\u0131r. Dolay\u0131s\u0131yla basit web servislerinde bu deste\u011fi farkl\u0131 yollarla sunabiliriz. Bunun en basit yolu da bir oturum anahtar\u0131n\u0131n her web \u00e7a\u011fr\u0131s\u0131nda bir parametre ile talep etmektir. Bu y\u00f6ntemin ise en \u00f6nemli dezavantaj\u0131 tamamen istemci uygulamas\u0131n\u0131 geli\u015ftiren ki\u015finin kontrol\u00fcnde olmas\u0131d\u0131r. Bu durum g\u00f6z \u00f6n\u00fcne al\u0131narak ayn\u0131 web uygulamalar\u0131nda oldu\u011fu gibi istemciden ba\u015fl\u0131k k\u0131sm\u0131nda bir anahtar de\u011fer ikilisinin iletilmesi talep edilebilir. <em>BasicHttpBinding<\/em> basit d\u00fczeyde bir web servis istemcisi olu\u015fturdu\u011fu i\u00e7in payla\u015ft\u0131\u011f\u0131m bu ikinci senaryoyu desteklememektedir. WS binding ise oturum bilgisini sunacak olan bu mekanizmay\u0131 desteklemektedir. <em>WSHttpBinding<\/em> istemcileri biz fark\u0131nda olmadan sunucu ile aralar\u0131nda bir oturum ba\u015flatarak her istekte bu bilgiyi mesa\u0131jn ba\u015fl\u0131k b\u00f6l\u00fcm\u00fcnde sunucuya ileterek oturumu arka planda y\u00f6netmektedirler. Bu \u015fekilde oturum mekanizmas\u0131n\u0131 bir nevi taklit etmi\u015f olurlar.<\/p>\n\n\n\n<p>&nbsp; Her ne kadar WCF denilince akla en \u00e7ok web servisleri gelse de, WCF sadece web servislerinden ibaret de\u011fildir. <em>NetTcpBinding<\/em> ve <em>NetNamedPipeBinding<\/em> gibi binding\u2019ler alt taraftaki TC, IPC protokolleri sayesinde do\u011fal olarak oturum yetene\u011fine sahiptirler.<\/p>\n\n\n\n<p>&nbsp; Her ne kadar WCF oturumlar\u0131 daha da fazla detaya sahip olsa da ba\u015fta payla\u015ft\u0131\u011f\u0131m soruya yan\u0131t i\u00e7in bu kadar detay san\u0131r\u0131m yeterli olacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp; Konuyu toparlayarak sorunun yan\u0131t\u0131na ba\u011flamak gerekirse; san\u0131r\u0131m \u015fimdiye kadar ki payla\u015ft\u0131\u011f\u0131m bilgiler ASP.Net oturumlar\u0131 ile WCF oturumlar\u0131n\u0131n ne kadar farkl\u0131 oldu\u011funu sizlere g\u00f6stermi\u015ftir. Bu durumda bir WCF oturumundan ASP.Net oturumuna ula\u015fman\u0131n nas\u0131l farkl\u0131 bir \u015fey oldu\u011funun netle\u015fti\u011fini umuyorum.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Tabi ki farkl\u0131 mekanizmalara sahip bu iki sistemin bir payda da bulu\u015fabilmesi m\u00fcmk\u00fcn. Bunun i\u00e7in yap\u0131land\u0131rma dosyas\u0131na a\u015fa\u011f\u0131daki girdiyi eklemelisiniz;<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"xml\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">&lt;serviceHostingEnvironment aspNetCompatibilityEnabled=\"true\"\/><\/pre>\n\n\n\n<p>&nbsp; Bu WCF\u2019in ASP.Net ile uyumlu bir s\u00fcre\u00e7 i\u00e7erisinde \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flayacakt\u0131r. Bu sayede istemcinin WCF servislerine yapt\u0131\u011f\u0131 isteklerde ASP.Net oturumunu belirten tekil de\u011feri de sunucuya iletmesi sa\u011flanacakt\u0131r. Bu \u015fekilde ASP.Net oturum anahtar\u0131n\u0131 bilen WCF hizmeti bu anahtar\u0131 kullanarak oturum bilgilerine ula\u015fabilecektir.<\/p>\n\n\n\n<p>&nbsp; G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi asl\u0131nda WCF hizmetlerinin ASP.Net oturumlar\u0131na ula\u015fmas\u0131 sihirli bir s\u00fcre\u00e7 de\u011fil. Arka planda olup bitenleri bildikten sonra b\u00f6ylesi bir mekanizma bizler taraf\u0131ndan da kolayl\u0131kla tasarlanabilir.<\/p>\n\n\n\n<p>&nbsp; Sorumuza geri d\u00f6necek olursak; ya\u015fan\u0131lan tek s\u0131k\u0131nt\u0131 yap\u0131land\u0131rma dosyas\u0131na ASP.Net ile uyumlu modda \u00e7al\u0131\u015f\u0131lmas\u0131 gerekti\u011finin belirtilmemesi de\u011fildir. Her ne kadar soruda detay yer almasa da tahminimce her defas\u0131nda ASP.Net uygulamas\u0131 yeni bir istemci olu\u015fturmakta; ki bu durum da da yaz\u0131m\u0131n ba\u015flar\u0131nda bahsetti\u011fim gibi her biri i\u00e7in yeni bir WCF oturumu ba\u015flat\u0131lmaktad\u0131r \ud83d\ude09<\/p>\n\n\n\n<p>&nbsp;&nbsp; Payla\u015ft\u0131\u011f\u0131m bu bilgilerin ard\u0131ndan tabi \u015fu soruyu da sormadan edemiyorum; Neden?! Neden bir WCF hizmeti i\u00e7erisinden ASP.Net oturumuna eri\u015filmesi gerekli? WCF hizmetleri kendi ba\u015flar\u0131na \u00e7al\u0131\u015fan ba\u011f\u0131ms\u0131z <em>web metodlar\u0131<\/em> olarak d\u00fc\u015f\u00fcn\u00fclmeli. Ayn\u0131 i\u015flemi uygulaman\u0131z i\u00e7erisindeki bir metod i\u00e7erisinde yapsayd\u0131n\u0131z ihtiyac\u0131n\u0131z olan parametreleri zaten d\u0131\u015far\u0131dan ge\u00e7mez miydiniz? \u015eayet ASP.Net oturumunu g\u00fcvenlik i\u00e7in kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcyorsan\u0131z, bunun i\u00e7in daha iyi y\u00f6ntemler var \ud83d\ude09<\/p>\n\n\n\n<p>&nbsp;&nbsp; WCF oturumlar\u0131n\u0131n ASP.Net oturumlar\u0131ndan farkl\u0131 olarak haf\u0131zada (in-memory) bulunmas\u0131 nedeniyle oturum bazl\u0131 i\u015flemler yap\u0131yorsan\u0131z beraberinde de \u00f6nemli bir \u00f6l\u00e7eklendirme probleminiz de olacakt\u0131r. Bir NLB arkas\u0131ndaki birden fazla makine ard\u0131nda oturumlar\u0131 y\u00f6netebilmek i\u00e7in NLB&#8217;yi iyi yap\u0131land\u0131rman\u0131z gerekecektir, zira farkl\u0131 bir makineye d\u00fc\u015fen istemci demek s\u0131f\u0131rdan a\u00e7\u0131lm\u0131\u015f bir oturum demek olacakt\u0131r&#8230;<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; Bir s\u00fcre \u00f6nce blo\u011fumda yay\u0131nlad\u0131\u011f\u0131m WCF\u2019e giri\u015f makaleme gelen WCF ve ASP.Net oturumlar\u0131 sorusuna verdi\u011fim k\u0131sa yan\u0131t\u0131 ayr\u0131 bir makale ile ele alman\u0131n daha faydal\u0131 olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnd\u00fcm. &nbsp;&nbsp; Konuya ba\u015flarken, \u00f6ncelikle soruyu hat\u0131rlayal\u0131m; Fatih hocam selamlar, Makaleniz i\u00e7in \u00e7ok te\u015fekk\u00fcr ederim. \u00c7ok i\u015fime yarad\u0131. \u015eimdi bu konuyla ilgili bir soru sormak istiyorum. Ben WCF&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/wcf-ve-aspnet-oturumlari\/\">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":[99,77,28,115],"tags":[98,116],"class_list":["post-33647","post","type-post","status-publish","format-standard","hentry","category-aspnet","category-csharp","category-turkce","category-wcf","tag-asp-net","tag-wcf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>WCF ve ASP.Net oturumlar\u0131 - 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\/wcf-ve-aspnet-oturumlari\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WCF ve ASP.Net oturumlar\u0131 - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; Bir s\u00fcre \u00f6nce blo\u011fumda yay\u0131nlad\u0131\u011f\u0131m WCF\u2019e giri\u015f makaleme gelen WCF ve ASP.Net oturumlar\u0131 sorusuna verdi\u011fim k\u0131sa yan\u0131t\u0131 ayr\u0131 bir makale ile ele alman\u0131n daha faydal\u0131 olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnd\u00fcm. &nbsp;&nbsp; Konuya ba\u015flarken, \u00f6ncelikle soruyu hat\u0131rlayal\u0131m; Fatih hocam selamlar, Makaleniz i\u00e7in \u00e7ok te\u015fekk\u00fcr ederim. \u00c7ok i\u015fime yarad\u0131. \u015eimdi bu konuyla ilgili bir soru sormak istiyorum. Ben WCF...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/wcf-ve-aspnet-oturumlari\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2013-02-25T19:50:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-19T15:52:21+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\/wcf-ve-aspnet-oturumlari\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"WCF ve ASP.Net oturumlar\u0131\",\"datePublished\":\"2013-02-25T19:50:00+00:00\",\"dateModified\":\"2021-06-19T15:52:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/\"},\"wordCount\":1322,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"keywords\":[\"Asp.Net\",\"WCF\"],\"articleSection\":[\"Asp.Net\",\"C#\",\"T\u00fcrk\u00e7e\",\"WCF\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/\",\"url\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/\",\"name\":\"WCF ve ASP.Net oturumlar\u0131 - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"datePublished\":\"2013-02-25T19:50:00+00:00\",\"dateModified\":\"2021-06-19T15:52:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WCF ve ASP.Net oturumlar\u0131\"}]},{\"@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":"WCF ve ASP.Net oturumlar\u0131 - 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\/wcf-ve-aspnet-oturumlari\/","og_locale":"en_US","og_type":"article","og_title":"WCF ve ASP.Net oturumlar\u0131 - Fatih Boy","og_description":"&nbsp;&nbsp; Bir s\u00fcre \u00f6nce blo\u011fumda yay\u0131nlad\u0131\u011f\u0131m WCF\u2019e giri\u015f makaleme gelen WCF ve ASP.Net oturumlar\u0131 sorusuna verdi\u011fim k\u0131sa yan\u0131t\u0131 ayr\u0131 bir makale ile ele alman\u0131n daha faydal\u0131 olaca\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnd\u00fcm. &nbsp;&nbsp; Konuya ba\u015flarken, \u00f6ncelikle soruyu hat\u0131rlayal\u0131m; Fatih hocam selamlar, Makaleniz i\u00e7in \u00e7ok te\u015fekk\u00fcr ederim. \u00c7ok i\u015fime yarad\u0131. \u015eimdi bu konuyla ilgili bir soru sormak istiyorum. Ben WCF...Read More","og_url":"https:\/\/fatihboy.com\/en\/wcf-ve-aspnet-oturumlari\/","og_site_name":"Fatih Boy","article_published_time":"2013-02-25T19:50:00+00:00","article_modified_time":"2021-06-19T15:52:21+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\/wcf-ve-aspnet-oturumlari\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"WCF ve ASP.Net oturumlar\u0131","datePublished":"2013-02-25T19:50:00+00:00","dateModified":"2021-06-19T15:52:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/"},"wordCount":1322,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"keywords":["Asp.Net","WCF"],"articleSection":["Asp.Net","C#","T\u00fcrk\u00e7e","WCF"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/","url":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/","name":"WCF ve ASP.Net oturumlar\u0131 - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"datePublished":"2013-02-25T19:50:00+00:00","dateModified":"2021-06-19T15:52:21+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/wcf-ve-aspnet-oturumlari\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"WCF ve ASP.Net oturumlar\u0131"}]},{"@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\/33647","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=33647"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33647\/revisions"}],"predecessor-version":[{"id":33648,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33647\/revisions\/33648"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=33647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=33647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=33647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}