{"id":33082,"date":"2010-08-21T12:08:21","date_gmt":"2010-08-21T10:08:21","guid":{"rendered":"https:\/\/fatihboy.com\/post\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek"},"modified":"2010-08-21T12:08:21","modified_gmt":"2010-08-21T10:08:21","slug":"asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/","title":{"rendered":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek"},"content":{"rendered":"<div class=\"wp-block-image\"><figure class=\"alignleft\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\" alt=\"image\"\/><\/figure><\/div>\n\n\n\n<p>Windows Server AppFabric hakk\u0131nda daha \u00f6nce yazm\u0131\u015f oldu\u011fum <a href=\"\/en\/?cat_ID=52\">makalelerime<\/a> gelen sorulardan birisi de mevcut ASP.Net uygulamalar\u0131n\u0131 Windows Server AppFabric \u00f6nbelle\u011fini kullanacak \u015fekilde nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131yd\u0131. Bu makalemde asp.net taraf\u0131nda yap\u0131lmas\u0131 gerekenleri ad\u0131m ad\u0131m payla\u015fmaya \u00e7al\u0131\u015faca\u011f\u0131m.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Asp.Net oturumunu neden AppFabric oturum sa\u011flay\u0131c\u0131s\u0131 ile de\u011fi\u015ftirmeliyim?<\/h3>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Oturum sa\u011flay\u0131c\u0131m\u0131z\u0131 nas\u0131l de\u011fi\u015ftirebilece\u011fimizi anlatmadan \u00f6nce, isterseniz neden b\u00f6yle bir de\u011fi\u015fikli\u011fe ihtiya\u00e7 duyar\u0131z inceleyelim.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Windows Server AppFabric \u00f6nbelle\u011fini sizlere tan\u0131tt\u0131\u011f\u0131m \u201c<a href=\"\/en\/?p=53\">AppFabric Caching<\/a>\u201d makalemde sizlerle \u00f6rnek bir senaryo payla\u015fm\u0131\u015ft\u0131m. Bu senaryoda, geli\u015ftirdi\u011fimiz web tabanl\u0131 uygulama verileri do\u011frudan veritaban\u0131 \u00fczerinden \u00e7ekmekte ve a\u015fa\u011f\u0131daki gibi az yo\u011funluktaki isteklerde s\u0131k\u0131nt\u0131s\u0131z \u015fekilde sistemimiz \u00e7al\u0131\u015fmaktad\u0131r;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCacheOncesi.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCacheOncesi_thumb.png\" alt=\"Sistemin ilk mimarisi\"\/><\/a><\/figure><\/div>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; G\u00fcn ge\u00e7tik\u00e7e sitemiz pop\u00fcler hale gelmeye ba\u015flar ve ziyaret\u00e7i say\u0131m\u0131z herg\u00fcn katlanarak artar. B\u00f6ylesi bir durumda yap\u0131labilecek ilk m\u00fcdahale uygulamam\u0131z i\u00e7erisinde \u00f6nbellekte saklanabilecek verileri tespit ederek bunlar\u0131 asp.net oturumu i\u00e7irisinde tutmak olacakt\u0131r. Asl\u0131na bakarsan\u0131z istek say\u0131s\u0131 daha da artmad\u0131\u011f\u0131 s\u00fcrece bu senaryo sorunsuz olacakt\u0131r; fakat sitemizin giderek daha pop\u00fcler olmaya devam etti\u011fini ve anl\u0131k istek say\u0131lar\u0131n\u0131n tek sunucunun yan\u0131tlayabilece\u011fi de\u011ferlerin \u00fczerine \u00e7\u0131kt\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnelim. Bu durumda sistemimizin y\u00fck\u00fc kald\u0131rabilmesi i\u00e7in uygulama sunucular\u0131m\u0131z\u0131 yatayda b\u00fcy\u00fctmek ve bunlar\u0131n \u00f6n\u00fcne de bir load balancer yerle\u015ftirmek gerekecektir;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCacheOncesi2.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCacheOncesi2_thumb.png\" alt=\"Gelen yo\u011fun istenler sonras\u0131 de\u011fi\u015fen mimari\"\/><\/a><\/figure><\/div>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Sistemimizin gelen istekleri kar\u015f\u0131lamas\u0131 i\u00e7in yapaca\u011f\u0131m\u0131z bu haraket farkl\u0131 bir sonu\u00e7 do\u011furacakt\u0131r; kullan\u0131c\u0131lar verilerinin kayboldu\u011fundan \u015fikayet edebilir. E\u011fer Load balancer uygulama sunucular\u0131n\u0131n i\u015f y\u00fcklerine g\u00f6re da\u011f\u0131t\u0131m yapacak olursa, gelen bir istekte ilk sunucuya giden bir kullan\u0131c\u0131n\u0131n bir di\u011fer iste\u011fi tamamen farkl\u0131 bir sunucuya da gidebilir ve oturum bilgileri sunucular aras\u0131nda payla\u015f\u0131lmad\u0131\u011f\u0131 i\u00e7in veri kay\u0131plar\u0131 ya\u015fanacakt\u0131r. Sitemiz \u00f6rne\u011fin bir al\u0131\u015f veri sitesi ise kullan\u0131c\u0131n\u0131n sepetine att\u0131\u011f\u0131 t\u00fcm sipari\u015fler b\u00f6ylesi bir senaryo da kaybolacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Ba\u015fka bir problemde \u00f6nbelle\u011fi yenilerken ya\u015fanacakt\u0131r, \u00f6rne\u011fin \u00fcr\u00fcn katalo\u011funun g\u00fcncellenmesi durumunda t\u00fcm \u00f6nbelleklerin g\u00fcncellenmesi i\u00e7in bundan t\u00fcm uygulama sunucular\u0131n\u0131n haberdar olmas\u0131 gerekecektir. Bu durumda y\u00f6netimsel a\u00e7\u0131dan sizleri olduk\u00e7a zorlayacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; T\u00fcm bu senaryolarda, sadece \u00f6nbellek yetersizli\u011fi nedeniyle yeni bir uygulama sunucusu eklemenin getirece\u011fi ek maliyete de\u011finmiyorum bile\u2026<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; \u0130\u015fte bu noktada \u00f6nbellek sa\u011flay\u0131c\u0131 olarak Windows Server AppFabric \u00f6nbelle\u011fini se\u00e7mek bize b\u00fcy\u00fck bir esneklik sunacakt\u0131r. Windows Server AppFabric \u00f6nbelli\u011fine ge\u00e7i\u015f ile birlikte sistemimiz a\u015fa\u011f\u0131daki yap\u0131da g\u00f6r\u00fcnecektir;<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCache.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/AppFabricCache_thumb.png\" alt=\"Windows Server AppFabric \u00f6nbelle\u011fi ile birlikte yeni sistem mimarisi\"\/><\/a><\/figure><\/div>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Web sitemizde Windows Server AppFabric \u00f6nbelle\u011fini kullanmak bize yatayda kolayl\u0131kla geni\u015fleyebilme yetene\u011fi sunmakta, \u00fcstelik bunu minimum maliyetle yapma \u015fans\u0131yla birlikte.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Asp.Net oturumunda nas\u0131l AppFabric oturum sa\u011flay\u0131c\u0131s\u0131 kullanabilirim?<\/h3>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Yukar\u0131daki bilgiler do\u011frultusunda hangi durumlarda AppFabric \u00f6nbelle\u011fi oturum sa\u011flay\u0131c\u0131s\u0131n\u0131 asp.net oturumlar\u0131nda kullanman\u0131z gerekebilece\u011fini g\u00f6rd\u00fckten sonra bunu nas\u0131l yapabilece\u011fimizi inceleyelim.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Windows Server AppFabric \u00f6nbelle\u011fiyle birlikte gelen asp.net oturum sa\u011flay\u0131c\u0131s\u0131 bizim i\u00e7in gerekli pek \u00e7ok i\u015fi yapmakta asl\u0131na bakarsan\u0131z. Bu sa\u011flay\u0131c\u0131y\u0131 kullanarak dakikalar i\u00e7erisinde mevcut asp.net uygulaman\u0131z\u0131 Windows Server AppFabric \u00f6nbelle\u011fini kullanabilecek hale getirebilirsiniz.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Asp.net oturumlar\u0131nda Windows Server AppFabric \u00f6nbelle\u011fini kullanabilmek i\u00e7in web.config dosyas\u0131na \u00f6nbellek yap\u0131land\u0131rmas\u0131n\u0131n bulunaca\u011f\u0131 b\u00f6l\u00fcm\u00fc eklemeli ve bu b\u00f6l\u00fcm\u00fcn bir yap\u0131land\u0131rma b\u00f6l\u00fcm\u00fc oldu\u011funu asp.net\u2019e belirtmeliyiz.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; \u0130\u015fe yap\u0131land\u0131rma b\u00f6l\u00fcm\u00fcn\u00fc tan\u0131tarak ba\u015flayal\u0131m. Bunun i\u00e7in web.config dosyas\u0131 i\u00e7erisinde yer alan <strong>configSections<\/strong> elementi alt\u0131na a\u015fa\u011f\u0131daki girdi eklenmeli;<\/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;section\n  name=\"dataCacheClient\"\n  type=\"Microsoft.ApplicationServer.Caching.DataCacheClientSection, Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\"\n  allowLocation=\"true\"\n  allowDefinition=\"Everywhere\"\/><\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Bu sat\u0131r Asp.Net\u2019i config dosyas\u0131nda yer alacak olan <strong>dataCacheClient<\/strong> b\u00f6l\u00fcm\u00fcnden haberdar edecek ve bu b\u00f6l\u00fcm\u00fc okurken <em>Microsoft.ApplicationServer.Caching.Core<\/em> assembly\u2019si i\u00e7erisinde yer alan <strong>DataCacheClientSection<\/strong> s\u0131n\u0131f\u0131n\u0131 kullanmas\u0131n\u0131 s\u00f6yleyecektir. Windows Server AppFabric kurulumu s\u0131ras\u0131nda bu ve di\u011fer assembly\u2019ler <em>Global Assembly Cache\u2019e<\/em> (GAC) at\u0131ld\u0131\u011f\u0131 i\u00e7in asp.net ilgili assembly\u2019yi kolayl\u0131kla bulacakt\u0131r, ek bir i\u015flem yapman\u0131za gerek yok.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Bir sonraki ad\u0131mda \u00f6nbelle\u011fimizi yap\u0131land\u0131raca\u011f\u0131z. Bunun i\u00e7in web.config dosyam\u0131za <strong>dataCacheClient<\/strong> b\u00f6l\u00fcm\u00fcn\u00fc eklemeli ve i\u00e7erisinde ihtiyac\u0131m\u0131z olan yap\u0131land\u0131rma bilgisini belirtmeliyiz. Bu \u00f6rnek i\u00e7in dataCacheClient b\u00f6l\u00fcm\u00fcn\u00fc web.config dosyas\u0131 i\u00e7erisinde <strong>configSections<\/strong> elementinden hemen sonra ekliyorum; fakat siz we.config dosyas\u0131nda uygun olan bir ba\u015fka yere de ekleyebilirsiniz.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; A\u015fa\u011f\u0131da, en basit haliyle vermeye \u00e7al\u0131\u015ft\u0131\u011f\u0131m \u00f6nbellek yap\u0131land\u0131rma b\u00f6l\u00fcm\u00fcnde;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Yerelde bir \u00f6nbellek bulunaca\u011f\u0131n\u0131, bu yerel \u00f6nbelle\u011fin senkronizasyon y\u00f6ntemi ile tutaca\u011f\u0131 nesne say\u0131s\u0131 ve s\u00fcresi, <\/li><li> Windows Server AppFabric \u00f6nbellek k\u00fcmesine dahil olan sunucular ile bunlar\u0131n \u00f6nbellek portlar\u0131 <\/li><\/ul>\n\n\n\n<p>gibi bilgiler yer almakta.<\/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;dataCacheClient>\n    &lt;localCache isEnabled=\"true\" sync=\"TimeoutBased\" objectCount=\"1000\" ttlValue=\"600\" \/>\n    &lt;hosts>\n      &lt;host name=\"localhost\" cachePort=\"22233\" \/>\n    &lt;\/hosts>\n&lt;\/dataCacheClient><\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Yukar\u0131daki \u00f6rnekten yola \u00e7\u0131karsak; teorik olarak \u00f6nbellek k\u00fcmesinde yer alan en az bir sunucunun bilgisini vermek yeterli olacakt\u0131r. \u00d6nbellek istemcisi bu sunucuya ba\u011flanarak k\u00fcmeye dahil di\u011fer sunucular\u0131n yap\u0131land\u0131rma bilgilerini sizin i\u00e7in otomatik almaktad\u0131r; fakat pratikte size tavsiyem m\u00fcmk\u00fcn oldu\u011funca k\u00fcmeye dahil t\u00fcm sunucular\u0131n bilgilerini belirtmeniz. Burada tek bir sunucu belirtmeniz uygulaman\u0131z\u0131n ilk \u00e7al\u0131\u015fma zaman\u0131nda bu sunucuya ula\u015f\u0131lamas\u0131 durumunda k\u00fcme ayakta dahi olsa uygulaman\u0131z\u0131n \u00f6nbelle\u011fe ula\u015famamas\u0131na neden olacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; \u00d6nbellek yap\u0131land\u0131rmam\u0131z\u0131 yapt\u0131ktan ve bu b\u00f6l\u00fcm\u00fc asp.net\u2019e tan\u0131tt\u0131ktan sonra son ad\u0131ma ge\u00e7ebiliriz; asp.net oturum sa\u011flay\u0131c\u0131s\u0131 olarak Windows Server AppFabric \u00f6nbelle\u011fini belirtmek. Bunun i\u00e7in web.config dosyam\u0131zda <strong>system.web<\/strong> elementi alt\u0131na a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 yazmal\u0131y\u0131z;<\/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;sessionState mode=\"Custom\" customProvider=\"AppFabricCacheSessionStoreProvider\">\n  &lt;providers>\n    &lt;add\n      name=\"AppFabricCacheSessionStoreProvider\"\n      type=\"Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider, Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\"\n      cacheName=\"default\"\n      sharedId=\"OrnekUygulamam\"\/>\n  &lt;\/providers>\n&lt;\/sessionState><\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Bu sat\u0131rlarla birlikte asp.net\u2019e alternatif bir oturum sa\u011flay\u0131c\u0131 kullanaca\u011f\u0131m\u0131z\u0131 s\u00f6yleyerek bu alternatif oturum sa\u011flay\u0131c\u0131m\u0131z\u0131n bilgilerini belirtiyoruz. Bu son ad\u0131m ard\u0131ndan art\u0131k asp.net oturumlar i\u00e7in Windows Server AppFabric \u00f6nbellek oturum sa\u011flay\u0131c\u0131s\u0131n\u0131 kullanmaya ba\u015flayacakt\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Yukar\u0131daki \u00f6rnekte, provider\u2019\u0131m\u0131z\u0131 belirtirken kulland\u0131\u011f\u0131m <strong>cacheName<\/strong> \u00f6zniteli\u011fi ile asp.net oturum bilgilerinin k\u00fcme i\u00e7erisinde hangi \u00f6nbellekte tutulaca\u011f\u0131n\u0131 belirtmekteyim. Buna alternatif olarak <strong>regionName<\/strong> \u00f6zniteli\u011fi ile nesnelerimin hangi b\u00f6l\u00fcmde saklanaca\u011f\u0131n\u0131 da belirtebilirim; fakat bu durumda nesnelerim sadece bu b\u00f6lgenin olu\u015fturuldu\u011fu sunucuda tutulaca\u011f\u0131ndan tavsiye edilen bir yap\u0131land\u0131rma y\u00f6netimi de\u011fildir.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Baz\u0131 i\u015f mant\u0131klar\u0131nda birden fazla asp.net uygulamas\u0131n\u0131n ayn\u0131 \u00f6nbellek havuzunu kullanmas\u0131n\u0131 isteyebiliriz. Bunun i\u00e7in yap\u0131lmas\u0131 gereken, bu ortak havuzu temsil edecek bir id belirleyerek her bir uygulaman\u0131n web.config i\u00e7erisindeki yap\u0131land\u0131rmas\u0131nda provider\u2019\u0131m\u0131z\u0131 belirtirken <strong>sharedId<\/strong> \u00f6zniteli\u011fi ile bu ortam id\u2019mizi yap\u0131land\u0131rmaya dahil etmektir. Yukar\u0131daki \u00f6rnekte <em>OrnekUygulamam<\/em> \u015feklinde bir ortak id belirtilerek yap\u0131land\u0131rmaya dahil edilmi\u015ftir. E\u011fer bu tarz bir ortak kullan\u0131m s\u00f6z konusu de\u011fil ise yap\u0131land\u0131rma i\u00e7erisinde <strong>sharedId<\/strong> \u00f6zniteli\u011fine ihtiya\u00e7 bulunmamaktad\u0131r.<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; \u015eimdiye kadar anlatt\u0131klar\u0131m\u0131 bir araya toplad\u0131\u011f\u0131m\u0131zda web.config dosyas\u0131 a\u015fa\u011f\u0131daki \u015fekilde olmal\u0131d\u0131r;<\/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;?xml version=\"1.0\"?>\n&lt;configuration>\n    &lt;configSections>\n      .\n      .\n      .\n      &lt;section\nname=\"dataCacheClient\"\ntype=\"Microsoft.ApplicationServer.Caching.DataCacheClientSection, Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\"\nallowLocation=\"true\"\nallowDefinition=\"Everywhere\"\/>\n    &lt;\/configSections>\n\n  &lt;dataCacheClient>\n    &lt;localCache\nisEnabled=\"true\"\nsync=\"TimeoutBased\"\nobjectCount=\"1000\"\nttlValue=\"600\" \/>\n    &lt;hosts>\n      &lt;host\nname=\"localhost\"\ncachePort=\"22233\" \/>\n    &lt;\/hosts>\n  &lt;\/dataCacheClient>\n  .\n  .\n  .\n    &lt;system.web>\n      &lt;sessionState\nmode=\"Custom\"\ncustomProvider=\"AppFabricCacheSessionStoreProvider\">\n        &lt;providers>\n          &lt;add\n            name=\"AppFabricCacheSessionStoreProvider\"\n            type=\"Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider, Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35\"\n            cacheName=\"default\"\n            sharedId=\"OrnekUygulamam\"\/>\n        &lt;\/providers>\n      &lt;\/sessionState>\n  .\n  .\n  .\n    &lt;\/system.web>\n     .\n     .\n     .\n&lt;\/configuration><\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp; Windows Server AppFabric \u00f6nbelle\u011fini asp.net oturum sa\u011flay\u0131c\u0131s\u0131 olarak kullan\u0131rken web.config dosyas\u0131nda yapaca\u011f\u0131n\u0131z yukar\u0131daki de\u011fi\u015fiklikler d\u0131\u015f\u0131nda uygulama kodunuzda herhangi bir ba\u015fka d\u00fczenlemeye ihtiya\u00e7 bulunmamakta. Siz asp.net uygulaman\u0131zda normal bir oturuma eri\u015fir gibi i\u015flemlerini yapmaya devam ederken arka planda sizin i\u00e7in gerekli olan t\u00fcm \u00f6nbellek eri\u015fimleri otomatik olarak yap\u0131lacakt\u0131r.<\/p>","protected":false},"excerpt":{"rendered":"<p>Windows Server AppFabric hakk\u0131nda daha \u00f6nce yazm\u0131\u015f oldu\u011fum makalelerime gelen sorulardan birisi de mevcut ASP.Net uygulamalar\u0131n\u0131 Windows Server AppFabric \u00f6nbelle\u011fini kullanacak \u015fekilde nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131yd\u0131. Bu makalemde asp.net taraf\u0131nda yap\u0131lmas\u0131 gerekenleri ad\u0131m ad\u0131m payla\u015fmaya \u00e7al\u0131\u015faca\u011f\u0131m. Asp.Net oturumunu neden AppFabric oturum sa\u011flay\u0131c\u0131s\u0131 ile de\u011fi\u015ftirmeliyim? &nbsp;&nbsp;&nbsp;&nbsp; Oturum sa\u011flay\u0131c\u0131m\u0131z\u0131 nas\u0131l de\u011fi\u015ftirebilece\u011fimizi anlatmadan \u00f6nce, isterseniz neden b\u00f6yle bir de\u011fi\u015fikli\u011fe ihtiya\u00e7&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\">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":[28,80],"tags":[79,98,97],"class_list":["post-33082","post","type-post","status-publish","format-standard","hentry","category-turkce","category-windows-server-appfabric","tag-appfabric","tag-asp-net","tag-cache"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - 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\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"Windows Server AppFabric hakk\u0131nda daha \u00f6nce yazm\u0131\u015f oldu\u011fum makalelerime gelen sorulardan birisi de mevcut ASP.Net uygulamalar\u0131n\u0131 Windows Server AppFabric \u00f6nbelle\u011fini kullanacak \u015fekilde nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131yd\u0131. Bu makalemde asp.net taraf\u0131nda yap\u0131lmas\u0131 gerekenleri ad\u0131m ad\u0131m payla\u015fmaya \u00e7al\u0131\u015faca\u011f\u0131m. Asp.Net oturumunu neden AppFabric oturum sa\u011flay\u0131c\u0131s\u0131 ile de\u011fi\u015ftirmeliyim? &nbsp;&nbsp;&nbsp;&nbsp; Oturum sa\u011flay\u0131c\u0131m\u0131z\u0131 nas\u0131l de\u011fi\u015ftirebilece\u011fimizi anlatmadan \u00f6nce, isterseniz neden b\u00f6yle bir de\u011fi\u015fikli\u011fe ihtiya\u00e7...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2010-08-21T10:08:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\" \/>\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=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek\",\"datePublished\":\"2010-08-21T10:08:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\"},\"wordCount\":1467,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\",\"keywords\":[\"AppFabric\",\"Asp.Net\",\"Cache\"],\"articleSection\":[\"T\u00fcrk\u00e7e\",\"Windows Server AppFabric\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\",\"url\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\",\"name\":\"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\",\"datePublished\":\"2010-08-21T10:08:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek\"}]},{\"@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":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - 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\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/","og_locale":"en_US","og_type":"article","og_title":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - Fatih Boy","og_description":"Windows Server AppFabric hakk\u0131nda daha \u00f6nce yazm\u0131\u015f oldu\u011fum makalelerime gelen sorulardan birisi de mevcut ASP.Net uygulamalar\u0131n\u0131 Windows Server AppFabric \u00f6nbelle\u011fini kullanacak \u015fekilde nas\u0131l yap\u0131land\u0131r\u0131laca\u011f\u0131yd\u0131. Bu makalemde asp.net taraf\u0131nda yap\u0131lmas\u0131 gerekenleri ad\u0131m ad\u0131m payla\u015fmaya \u00e7al\u0131\u015faca\u011f\u0131m. Asp.Net oturumunu neden AppFabric oturum sa\u011flay\u0131c\u0131s\u0131 ile de\u011fi\u015ftirmeliyim? &nbsp;&nbsp;&nbsp;&nbsp; Oturum sa\u011flay\u0131c\u0131m\u0131z\u0131 nas\u0131l de\u011fi\u015ftirebilece\u011fimizi anlatmadan \u00f6nce, isterseniz neden b\u00f6yle bir de\u011fi\u015fikli\u011fe ihtiya\u00e7...Read More","og_url":"https:\/\/fatihboy.com\/en\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/","og_site_name":"Fatih Boy","article_published_time":"2010-08-21T10:08:21+00:00","og_image":[{"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png","type":"","width":"","height":""}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek","datePublished":"2010-08-21T10:08:21+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/"},"wordCount":1467,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png","keywords":["AppFabric","Asp.Net","Cache"],"articleSection":["T\u00fcrk\u00e7e","Windows Server AppFabric"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/","url":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/","name":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png","datePublished":"2010-08-21T10:08:21+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2010\/08\/image7.png"},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/asp-net-oturum-saglayicisini-appfabric-oturum-saglayicisi-ile-degistirmek\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Asp.Net Oturum Sa\u011flay\u0131c\u0131s\u0131n\u0131 AppFabric Oturum Sa\u011flay\u0131c\u0131s\u0131 ile De\u011fi\u015ftirmek"}]},{"@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\/33082","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=33082"}],"version-history":[{"count":0,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33082\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=33082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=33082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=33082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}