﻿
{"id":5628,"date":"2017-02-16T13:43:50","date_gmt":"2017-02-16T13:43:50","guid":{"rendered":"http:\/\/www.gencayyildiz.com\/blog\/?p=5628"},"modified":"2017-02-16T13:43:50","modified_gmt":"2017-02-16T13:43:50","slug":"asp-net-mvc-cookie-olusturma-ve-silme","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/asp-net-mvc-cookie-olusturma-ve-silme\/","title":{"rendered":"Asp.NET MVC Cookie Olu\u015fturma ve Silme"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>\u00d6nceki yaz\u0131lar\u0131mdan <a href=\"http:\/\/www.gencayyildiz.com\/blog\/asp-net-cookie-kullanimi\/\" target=\"_blank\">Asp.NET Cookie Kullan\u0131m\u0131<\/a> ba\u015fl\u0131kl\u0131 i\u00e7eri\u011fimizde Asp.NET mimarisinde Cookie yap\u0131s\u0131n\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 irdelemi\u015ftik. \u015eimdi ise Asp.NET MVC mimarisi \u00fczerinde konuyu ele alacak ve as\u0131l \u00f6nemli olan Cookie kayd\u0131n\u0131 silme i\u015flemini konu\u015faca\u011f\u0131z.<\/p>\n<p>\u00d6ncelikle hemen Cookie i\u015flemlerimizi yapt\u0131\u011f\u0131m\u0131z s\u0131n\u0131f\u0131m\u0131z\u0131 a\u015fa\u011f\u0131ya alal\u0131m.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public static class CookieKontrol\r\n    {\r\n        static public void CookieKaydet()\r\n        {\r\n            HttpCookie Cookie = null;\r\n            if (HttpContext.Current.Response.Cookies&#x5B;&quot;OrnekCookie&quot;] != null)\r\n                \/\/Cookie varsa devam.\r\n                Cookie = HttpContext.Current.Response.Cookies&#x5B;&quot;OrnekCookie&quot;];\r\n            else\r\n                \/\/Yoksa olu\u015fturuyoruz.\r\n                Cookie = new HttpCookie(&quot;OrnekCookie&quot;);\r\n\r\n            Cookie.Expires = DateTime.Now.AddDays(3);\r\n\r\n            Cookie&#x5B;&quot;Veri1&quot;] = &quot;Veri1&quot;;\r\n            Cookie&#x5B;&quot;Veri2&quot;] = &quot;Veri2&quot;;\r\n            Cookie&#x5B;&quot;Veri3&quot;] = &quot;Veri3&quot;;\r\n\r\n            HttpContext.Current.Response.Cookies.Add(Cookie);\r\n        }\r\n\r\n        static public HttpCookie CookieGetir()\r\n        {\r\n            if (HttpContext.Current.Request.Cookies&#x5B;&quot;OrnekCookie&quot;] != null)\r\n                return HttpContext.Current.Request.Cookies&#x5B;&quot;OrnekCookie&quot;];\r\n            else\r\n                return null;\r\n        }\r\n\r\n        static public void CookieSil() =&gt; HttpContext.Current.Response.Cookies&#x5B;&quot;OrnekCookie&quot;].Expires = DateTime.Now.AddDays(-1);\r\n    }\r\n<\/pre>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere Asp.NET MVC mimarisinde s\u0131n\u0131flardan Cookie yap\u0131lar\u0131na HttpContext.Current.[Response yahut Request].Cookies komutuyla eri\u015fmekteyiz. E\u011fer ki, Cookie yeni olu\u015fturulacak veyahut var olan silinecek ise Response \u00fczerinden, yok e\u011fervar olana eri\u015filecek ve kullan\u0131lacaksa Request \u00fczerinden i\u015flem yapmam\u0131z yeterli olacakt\u0131r.<\/p>\n<p>Ayr\u0131ca var olan bir Cookie&#8217;yi silmek istiyorsak e\u011fer Expires \u00f6zelli\u011fine verilecek tarihsel verinin -1 olarak ayarlanmas\u0131 yeterlidir.<\/p>\n<p>\u015eimdi bu s\u0131n\u0131f\u0131 kullanaca\u011f\u0131m\u0131z &#8220;(Home)Controller.cs&#8221; s\u0131n\u0131f\u0131n\u0131 in\u015fa edelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n    public class HomeController : Controller\r\n    {\r\n        public ActionResult Index()\r\n        {\r\n            return View();\r\n        }\r\n\r\n        public ActionResult CookieKaydet()\r\n        {\r\n            CookieKontrol.CookieKaydet();\r\n            return RedirectToAction(&quot;Index&quot;);\r\n        }\r\n        public ActionResult CookieSil()\r\n        {\r\n            CookieKontrol.CookieSil();\r\n            return RedirectToAction(&quot;Index&quot;);\r\n        }\r\n    }\r\n<\/pre>\n<p>\u015eimdide Index.cshtml sayfam\u0131zda gerekli i\u015flemleri ger\u00e7ekle\u015ftirelim.<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\r\n&lt;!DOCTYPE html&gt;\r\n&lt;html&gt;\r\n&lt;head&gt;\r\n    &lt;script src=&quot;~\/Scripts\/jquery-1.10.2.min.js&quot;&gt;&lt;\/script&gt;\r\n    &lt;script src=&quot;~\/Scripts\/jquery.unobtrusive-ajax.min.js&quot;&gt;&lt;\/script&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n    @{\r\n        HttpCookie Cookie = CookieKontrol.CookieGetir();\r\n    }\r\n\r\n    @if (Cookie != null)\r\n    {\r\n        @Cookie&#x5B;&quot;Veri1&quot;] @Cookie&#x5B;&quot;Veri2&quot;] @Cookie&#x5B;&quot;Veri3&quot;]\r\n    }\r\n\r\n    @Html.ActionLink(&quot;Cookie Kaydet&quot;, &quot;CookieKaydet&quot;, &quot;Home&quot;);\r\n    &lt;br \/&gt;\r\n    @Html.ActionLink(&quot;Cookie Sil&quot;, &quot;CookieSil&quot;, &quot;Home&quot;);\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;\r\n<\/pre>\n<p>Evet&#8230; Bu i\u015flemlerden sonra projemizi derleyip \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131m\u0131zda ilgili Cookie&#8217;nin ba\u015far\u0131yla kaydedildi\u011fini, eri\u015filebildi\u011fini ve silindi\u011fini g\u00f6rmekteyiz.<\/p>\n<p>Sonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#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>Merhaba, \u00d6nceki yaz\u0131lar\u0131mdan Asp.NET Cookie Kullan\u0131m\u0131 ba\u015fl\u0131kl\u0131 i\u00e7eri\u011fimizde Asp.NET mimarisinde Cookie yap\u0131s\u0131n\u0131n nas\u0131l kullan\u0131ld\u0131\u011f\u0131n\u0131 irdelemi\u015ftik. \u015eimdi ise Asp.NET MVC mimarisi \u00fczerinde konuyu ele alacak ve as\u0131l \u00f6nemli olan Cookie kayd\u0131n\u0131 silme i\u015flemini konu\u015faca\u011f\u0131z. \u00d6ncelikle&#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":3453,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[745,746,1614,1617,1096,1616,1615],"class_list":["post-5628","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-asp-net-mvc","tag-asp-net","tag-asp-net-mvc","tag-asp-net-mvc-cookie","tag-asp-net-mvc-cookie-delete","tag-cookie","tag-cookie-delete","tag-cookie-silme"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5628","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=5628"}],"version-history":[{"count":0,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/5628\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/3453"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=5628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=5628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=5628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}