{"id":33651,"date":"2012-08-20T14:00:00","date_gmt":"2012-08-20T11:00:00","guid":{"rendered":"https:\/\/fatihboy.com\/?p=33651"},"modified":"2021-06-19T21:42:13","modified_gmt":"2021-06-19T18:42:13","slug":"windows-8-de-arkaplan-gorevleri-detaylar","status":"publish","type":"post","link":"https:\/\/fatihboy.com\/en\/windows-8-de-arkaplan-gorevleri-detaylar\/","title":{"rendered":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar"},"content":{"rendered":"<p>&nbsp;&nbsp; Sizlere en son <a href=\"\/en\/windows-8-de-arkaplan-gorevleri\/\">Windows 8\u2019de arka plan g\u00f6revleri<\/a>nden bahsetmi\u015ftim. Daha \u00e7ok bir giri\u015f ve mimarisel tan\u0131t\u0131m\u0131 ama\u00e7lad\u0131\u011f\u0131m \u00f6nceki yaz\u0131m ard\u0131ndan, <em>sizlerden de ald\u0131\u011f\u0131m geri bildirimler do\u011frultusunda,<\/em> bir devam yaz\u0131s\u0131yla kod \u00f6rnekleri payla\u015fman\u0131n do\u011fru olaca\u011f\u0131na karar verdim. E\u011fer konuya do\u011frudan bu makalemle ba\u015flad\u0131ysan\u0131z \u00f6ncelikle \u201c<a href=\"\/en\/windows-8-de-arkaplan-gorevleri\/\">Windows 8\u2019de Arka Plan G\u00f6revleri<\/a>\u201d makalemi okuyarak konu hakk\u0131nda daha detayl\u0131 bilgi sahibi olman\u0131z\u0131 tavsiye ederim. Bu makalemde birlike Windows 8\u2019deki ilk arka plan g\u00f6revimizi olu\u015fturarak \u201c<em>Merhaba D\u00fcnya<\/em>\u201d derken dikkat etmemiz gereken detaylar\u0131 da \u00f6\u011frenece\u011fiz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Windows 8\u2019de en temel haliyle bir arka plan g\u00f6revi iki bile\u015fene sahip olmal\u0131;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Arka plan g\u00f6revini yapacak olan s\u0131n\u0131f(lar) <\/li><li> Bu arka plan g\u00f6revini yapan s\u0131n\u0131f(lar)\u0131 sisteme kaydedecek olan ve ana uygulamam\u0131zda yer alan kod par\u00e7ac\u0131\u011f\u0131 <\/li><\/ul>\n\n\n\n<p>&nbsp;&nbsp; Arka plan g\u00f6revimizi ger\u00e7ekle\u015ftirecek olan s\u0131n\u0131f\u0131m\u0131zla ilgili ilk isterimiz <em>Windows.ApplicationModel.Background<\/em> isim uzay\u0131 alt\u0131nda yer alan <strong>IBackgroundTask<\/strong> aray\u00fcz\u00fcne sahip olmas\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=\"\">using Windows.ApplicationModel.Background;\n\nnamespace Enterprisecoding.TaskOrnegi.Task {\n    public sealed class ArkaPlanGorevi : IBackgroundTask {\n\n        public void Run(IBackgroundTaskInstance taskInstance) {\n            \/\/ Ger\u00e7ekle\u015ftirilecek olan i\u015fe dair kodlar\n            \/\/ buraya gelmeli\n        }\n    }\n}<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131da da g\u00f6rebilece\u011finiz gibi olduk\u00e7a basit bir aray\u00fcz olan IBackgroundTask aray\u00fcz\u00fc bizden sadece <strong>IBackgroundTaskInstance<\/strong> t\u00fcr\u00fcnden bir parametre kabul eden bir <strong>Run<\/strong> metodu beklemektedir. Arka planda \u00e7al\u0131\u015fmas\u0131n\u0131 istedi\u011fimiz g\u00f6reve dair kodlar i\u015fte bu Run metodu i\u00e7erisinde yer alacakt\u0131r. Arka plan g\u00f6revleri bir exe taraf\u0131ndan, <em>varsay\u0131lan olarak <strong>BackgroundTaskHost.exe<\/strong><\/em>, \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131 i\u00e7in y\u00fcklenebilmeleri i\u00e7in bir dll i\u00e7erisinde bulunmal\u0131d\u0131rlar. Bu aray\u00fcz ve dolay\u0131s\u0131yla da arka plan g\u00f6revleri hakk\u0131ndaki detaylara inmeden \u00f6nce haz\u0131r ba\u015flam\u0131\u015fken bir de bu g\u00f6revi sisteme nas\u0131l kaydedebilece\u011finizi sizlerle payla\u015fay\u0131m;<\/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=\"\">BackgroundTaskBuilder builder = new BackgroundTaskBuilder {\n    Name = \"\u00d6rnek Arka Plan G\u00f6revi\",\n    TaskEntryPoint = \"Enterprisecoding.TaskOrnegi.Task.ArkaPlanGorevi\"\n};\n\nIBackgroundTrigger trigger = new TimeTrigger(15, false);\nbuilder.SetTrigger(trigger);\nIBackgroundTaskRegistration task = builder.Register();<\/pre>\n\n\n\n<p>&nbsp; Arka plan g\u00f6revini sisteme kaydetmek i\u00e7in kulland\u0131\u011f\u0131m\u0131z <strong>BackgroundTaskBuilder<\/strong> s\u0131n\u0131f\u0131 bizden 3 temel girdiyi girmemizi isteyecektir;<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li> Arka plan g\u00f6revinin <u>ad\u0131<\/u>. Bu bilgi son kullan\u0131c\u0131n\u0131n g\u00f6revi di\u011ferlerinden ay\u0131rt edebilmesini sa\u011flayaca\u011f\u0131 i\u00e7in a\u00e7\u0131klay\u0131c\u0131 bir de\u011fere sahip olmal\u0131d\u0131r <\/li><li> \u00c7al\u0131\u015ft\u0131r\u0131lacak olan arka plan g\u00f6revinin tan\u0131ml\u0131 oldu\u011fu <u>s\u0131n\u0131f tam ad\u0131<\/u>. Bu de\u011fer arka plan s\u0131n\u0131f\u0131n\u0131n sistem taraf\u0131ndan ilklendirilerek \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131 i\u00e7in kullan\u0131laca\u011f\u0131ndan biraz \u00f6nce olu\u015fturdu\u011fumuz ve IBackgroundTask&nbsp; aray\u00fcz\u00fcnden t\u00fcreyen s\u0131n\u0131f\u0131m\u0131z\u0131n tam ad\u0131 verilmeli. <\/li><li> Arka plan g\u00f6revinin hangi durumlarda tetiklenece\u011fini dair <u>tetikleme bilgisi<\/u>. Bir <a href=\"\/en\/windows-8-de-arkaplan-gorevleri\/\">\u00f6nceki makalemde<\/a> sizlerle payla\u015fm\u0131\u015f oldu\u011fum ve bir arka plan g\u00f6revinin \u00e7al\u0131\u015fmaya ba\u015flamas\u0131na neden olacak durumlardan hangisinin kullan\u0131lmak istendi\u011fine dair bilgi. Yukar\u0131daki \u00f6rnekte her 15 dakikada bir tetiklenmesi i\u00e7in bir zaman tetiklemesi tan\u0131mlanm\u0131\u015ft\u0131r. Tetikleyici se\u00e7erken dikkat etmeniz gereken bir nokta <strong>UserPresent<\/strong>, <strong>UserAway<\/strong>, <strong>ControlChannelReset<\/strong> ve <strong>SessionConnected<\/strong> tetikleme t\u00fcrlerinin sadece kilit ekran\u0131nda yer alan uygulamalarca kulla\u0131labildi\u011fidir. Aksi takdirde bu tetikleme t\u00fcrleri kullan\u0131ld\u0131\u011f\u0131nda \u201c<em>eri\u015fim reddedildi<\/em>\u201d <strong>(access denied<\/strong>) hatas\u0131 al\u0131nacakt\u0131r. <\/li><\/ul>\n\n\n\n<p>&nbsp;&nbsp; Opsiyonel olarak bu arka plan g\u00f6revinin tetiklenmesi sonras\u0131 ba\u015flamas\u0131 i\u00e7in bir ko\u015ful da verebilmeniz m\u00fcmk\u00fcn. A\u015fa\u011f\u0131daki \u00f6rnekte tan\u0131mlad\u0131\u011f\u0131m\u0131z arka plan g\u00f6revimiz her 15 dakikada bir; ama sadece internet ba\u011flant\u0131s\u0131 oldu\u011funda \u00e7al\u0131\u015facakt\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=\"\">BackgroundTaskBuilder builder = new BackgroundTaskBuilder {\n    Name = \"\u00d6rnek Arka Plan G\u00f6revi\",\n    TaskEntryPoint = \"Enterprisecoding.TaskOrnegi.Task.ArkaPlanGorevi\"\n};\n\nIBackgroundTrigger trigger = new TimeTrigger(15, false);\nbuilder.SetTrigger(trigger);\nbuilder.AddCondition(new SystemCondition(SystemConditionType.InternetAvailable));\nIBackgroundTaskRegistration task = builder.Register();<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Bu \u00f6rnekte oldu\u011fu gibi arka plan g\u00f6revimizin \u00e7al\u0131\u015fmas\u0131 i\u00e7in gerekli ko\u015fullar\u0131 da tan\u0131mlayarak uygun ko\u015fullar olu\u015fmad\u0131\u011f\u0131nda gereksiz i\u015flemlerle hem vakit kayb\u0131n\u0131n hem de sistem kaynaklar\u0131n\u0131n gereksiz kullan\u0131m\u0131n\u0131n \u00f6n\u00fcne ge\u00e7ebiliriz.<\/p>\n\n\n\n<p>&nbsp;&nbsp; \u0130sterseniz bir arka plan g\u00f6revinin \u00e7al\u0131\u015fmas\u0131 i\u00e7in birden fazla ko\u015ful da verebilirsiniz. Bunun i\u00e7in tek yapman\u0131z gereken her bir ko\u015ful tan\u0131m\u0131 i\u00e7in <em>BackgroundTaskBuilder<\/em>&nbsp; i\u00e7erisindeki <strong>AddCondition<\/strong> metodunu \u00e7a\u011f\u0131rman\u0131z. Ard\u0131ndan <em>BackgroundTaskBuilder<\/em>&nbsp; i\u00e7erisindeki <strong>Register<\/strong> metodu ile tek kalemde kay\u0131t i\u015flemini ger\u00e7ekle\u015ftirebilirsiniz. \u00d6te yandan benzer bir mant\u0131k tetikleyiciler i\u00e7in ge\u00e7erli de\u011fildir. Her bir tetikleyici i\u00e7in yukar\u0131daki i\u015flemin ayr\u0131 ayr\u0131 tekrarlanmas\u0131 gereklidir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; <em>BackgroundTaskBuilder<\/em>&nbsp; i\u00e7erisindeki Register metodu ile arka plan g\u00f6revinin kayd\u0131n\u0131 ger\u00e7ekle\u015ftirdi\u011fimizde bize <strong>IBackgroundTaskRegistration<\/strong> aray\u00fcz\u00fcne sahip bir nesne gelecektir. \u0130sterseniz bu nesneyi kullanarak <strong>Progress<\/strong> olay\u0131 yard\u0131m\u0131yla g\u00f6revin durumu hakk\u0131nda bilgi alabilece\u011finiz gibi <strong>Completed<\/strong> olay\u0131 yard\u0131m\u0131yla sonlan\u0131p sonlanmad\u0131\u011f\u0131n\u0131 da takip edebilirsiniz. Arka plan g\u00f6revinin daha fazla tetiklenmesini istemezseniz <strong>Unregister<\/strong> metodu yard\u0131m\u0131yla sistem kayd\u0131n\u0131 silebilirsiniz. Progress ve Completed olay bildirimlerini dinliyorsan\u0131z her zaman i\u00e7in <a href=\"\/en\/metro-stil-bir-uygulamanin-yasam-hikayesi\/\">uygulaman\u0131z\u0131n ya\u015fam d\u00f6ng\u00fcs\u00fc<\/a>n\u00fc akl\u0131n\u0131zda tutman\u0131z gerekli. E\u011fer ilgili olan bildirimi uygulaman\u0131z ask\u0131da durumundayken geldiyse bildirimi yeniden \u00e7al\u0131\u015f\u0131yor durumuna ge\u00e7ti\u011finde alacakt\u0131r. \u00d6te yandan e\u011fer bildirim uygulaman\u0131z \u00e7al\u0131\u015fm\u0131yor durumunda iken gelirse bu durum size iletilmeyecektir. B\u00f6ylesi bir durumda veri kayb\u0131 ya\u015famak istemiyorsan\u0131z <strong>ApplicationData<\/strong> ya da benzeri bir y\u00f6ntemle veriyi saklaman\u0131z gerekecektir.<\/p>\n\n\n\n<p>&nbsp;&nbsp; Ok, BackgroundTaskBuilder yard\u0131m\u0131yla arka plan g\u00f6revini sisteme kaydettik ve bu g\u00f6reve Register metodunun sonucu olarak iletilen nesne sayesinde ula\u015fabiliyoruz. Peki ya uygulamam\u0131z herhangi bir sebeple sonlanacak olursa??! Bu durumda olu\u015fturdu\u011fumuz g\u00f6revlere ait bilgiler daha fazla haf\u0131zada bulunmayacakt\u0131r, peki bu bilgilere nas\u0131l ula\u015fabiliriz? Tabi ki bu senaryo da sistem tasar\u0131m\u0131 s\u0131ras\u0131nda unutulmam\u0131\u015f, <strong>BackgroundTaskRegistration.AllTasks<\/strong> yard\u0131m\u0131yla uygulaman\u0131zca kayd\u0131 yap\u0131lm\u0131\u015f t\u00fcm arka plan g\u00f6revlerine istedi\u011finiz zaman ula\u015fabilirsiniz. Unutmay\u0131n, bir arka plan g\u00f6revini sisteme bir defa kaydetmeniz yeterli olacakt\u0131r. Her defas\u0131nda yeniden kaydetmenize gerek yok. \u00d6te yandan Progress ve Completed olay bildirimlerinden haberdar olmak i\u00e7in uygulaman\u0131z\u0131n her yeniden ba\u015flat\u0131lmas\u0131nda yeniden ilgili olay bildirimini dinlemeye ba\u015flaman\u0131z gerekli;<\/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=\"\">foreach (var arkaPlanGorevi in BackgroundTaskRegistration.AllTasks) {\n    arkaPlanGorevi.Value.Progress += OnProgress;\n    arkaPlanGorevi.Value.Completed += OnCompleted;\n}<\/pre>\n\n\n\n<p>&nbsp; Arka plan g\u00f6rev kayd\u0131 hakk\u0131ndaki bu bilgiler ard\u0131nda tekrar g\u00f6rev s\u0131n\u0131f\u0131m\u0131za geri d\u00f6nelim. Makalemin ba\u015flar\u0131nda da bahsetti\u011fim gibi arka plan g\u00f6revimiz Run metodu i\u00e7erisinde ger\u00e7ekle\u015fmektedir ve <u>Windows 8 varsay\u0131lan olarak Run metodu sonland\u0131\u011f\u0131nda arka plan g\u00f6revinin de sonland\u0131\u011f\u0131n\u0131 kabul etmektedir<\/u>. \u00d6te yandan e\u011fer Run metodu i\u00e7erisinde asenkron bir i\u015flem ba\u015flatt\u0131ysan\u0131z i\u015flemizin hen\u00fcz sonlanmadan uygulaman\u0131z Run metodundan \u00e7\u0131kabilir. B\u00f6ylesi bir durumda Windows 8\u2019in arka plan g\u00f6revinin sonland\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnerek t\u00fcm g\u00f6revi haf\u0131zadan kald\u0131rmas\u0131 g\u00f6revin eksik\/hatal\u0131 kalmas\u0131na neden olacakt\u0131r. B\u00f6ylesi bir senaryoda asenkron i\u015flemleriniz tamamlanana kadar g\u00f6revin bitmedi\u011fi bir \u015fekilde Windows 8\u2019e bildirmeniz gerekli. \u0130\u015fte bu ama\u00e7la kullan\u0131lmak \u00fczere bizlere <strong>BackgroundTaskDeferral<\/strong> s\u0131n\u0131f\u0131 sunulmu\u015ftur. Run metodu i\u00e7erisinde herhangi bir asenkron i\u015flemi ba\u015flatman\u0131z durumunda a\u015fa\u011f\u0131daki \u015fekilde bir <strong>BackgroundTaskDeferral<\/strong> \u00f6rne\u011fi alarak i\u015fleminiz sonland\u0131\u011f\u0131nda bu nesnenin <strong>Complete<\/strong> metodunu \u00e7a\u011f\u0131rmal\u0131s\u0131n\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=\"\">BackgroundTaskDeferral deferral = taskInstance.GetDeferral();<\/pre>\n\n\n\n<p>&nbsp;&nbsp;&nbsp; Bu kodu makalemin ba\u015f\u0131nda verdi\u011fim \u00f6rnek g\u00f6rev s\u0131n\u0131f\u0131 i\u00e7erisine koydu\u011fumuzda kodumuz a\u015fa\u011f\u0131daki gibi olacakt\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=\"\">using Windows.ApplicationModel.Background;\n\nnamespace Enterprisecoding.TaskOrnegi.Task {\n    public sealed class ArkaPlanGorevi : IBackgroundTask {\n\n        public async void Run(IBackgroundTaskInstance taskInstance) {\n            BackgroundTaskDeferral erteleme = taskInstance.GetDeferral();\n\n            await BirIsMantigiMetoduAsync();\n\n            erteleme.Complete();\n        }\n    }\n}<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Arka plan g\u00f6revleri ile ilgili olarak dikkat edilmesi gereken bir di\u011fer nokta da g\u00f6revin her an iptal edilebilece\u011fidir. \u0130ptal i\u015flemi ana uygulaman\u0131zdaki bir i\u015f mant\u0131\u011f\u0131n\u0131n sonucunda olabilece\u011fi gibi i\u015fletim sistemince verilen bir karar da olabilir. \u00d6rnek vermek gerekirse; Bak\u0131m Tetiklemesi (<strong>Maintenance Trigger<\/strong>) ile ba\u015flat\u0131lan bir arka plan g\u00f6revi cihaz\u0131n fi\u015ften \u00e7ekilmesiyle birlikte i\u015fletim sistemince iptal edilecektir. \u0130\u015fletim sistemi, herhangi bir sebeple iptal edilen bir arka plan g\u00f6revinin sonlanmas\u0131n\u0131 5 saniye bekleyecektir. 5 saniye i\u00e7erisinde sonlanmayan bir arka plan g\u00f6revi ise i\u015fletim sistemince kapat\u0131lacakt\u0131r. Dolay\u0131s\u0131yla da arka plan g\u00f6revinizin i\u015flemlerini sa\u011fl\u0131kl\u0131 olarak yerine getirebilmesi, herhangi bir veri kayb\u0131 ya\u015fanmamas\u0131 ad\u0131na g\u00f6revin iptalini dinlemesi ve iptal iste\u011fine 5 saniye i\u00e7erisinde yan\u0131t vererek sonlanmas\u0131 \u00f6nemlidir. Herhangi bir arka plan g\u00f6revi iptal iste\u011fini Run metoduyla gelen IBackgroundTaskInstance nesnesi i\u00e7erisindeki <strong>Canceled<\/strong> olay\u0131n\u0131 dinleyerek \u00f6\u011frenebilir;<\/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=\"\">taskInstance.Canceled += OnCanceled;<\/pre>\n\n\n\n<p>&nbsp;&nbsp; Yukar\u0131da sizlerle payla\u015ft\u0131\u011f\u0131m detaylar ard\u0131ndan bir arka plan g\u00f6revi olu\u015fturdu\u011funuzda unutmam\u0131z gereken son bir ayr\u0131nt\u0131 da uygulaman\u0131z i\u00e7erisinde bir arka plan g\u00f6rev tan\u0131m\u0131 bulundu\u011funu uygulaman\u0131z\u0131n manifest dosyas\u0131nda belirtirek kurulum s\u0131ras\u0131nda son kullan\u0131c\u0131n\u0131n bilgilendirilerek gerekli izinlerin verilmesini sa\u011flamakt\u0131r.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/arkaplan-gorevi-appxmanifest.png\"><img decoding=\"async\" src=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/arkaplan-gorevi-appxmanifest_thumb.png\" alt=\"Uygulaman\u0131z i\u00e7erisinde bir arka plan g\u00f6rev tan\u0131m\u0131 bulundu\u011funu uygulaman\u0131z\u0131n manifest dosyas\u0131nda belirtilmelidir\"\/><\/a><\/figure>\n\n\n\n<p>&nbsp;&nbsp; Bu tan\u0131mlama i\u015flemi her bir arka plan g\u00f6revi i\u00e7in yap\u0131lmal\u0131d\u0131r.<\/p>","protected":false},"excerpt":{"rendered":"<p>&nbsp;&nbsp; Sizlere en son Windows 8\u2019de arka plan g\u00f6revlerinden bahsetmi\u015ftim. Daha \u00e7ok bir giri\u015f ve mimarisel tan\u0131t\u0131m\u0131 ama\u00e7lad\u0131\u011f\u0131m \u00f6nceki yaz\u0131m ard\u0131ndan, sizlerden de ald\u0131\u011f\u0131m geri bildirimler do\u011frultusunda, bir devam yaz\u0131s\u0131yla kod \u00f6rnekleri payla\u015fman\u0131n do\u011fru olaca\u011f\u0131na karar verdim. E\u011fer konuya do\u011frudan bu makalemle ba\u015flad\u0131ysan\u0131z \u00f6ncelikle \u201cWindows 8\u2019de Arka Plan G\u00f6revleri\u201d makalemi okuyarak konu hakk\u0131nda daha detayl\u0131&#8230;<\/p>\n<p><a class=\"read-more\" href=\"https:\/\/fatihboy.com\/en\/windows-8-de-arkaplan-gorevleri-detaylar\/\">Read More<\/a><\/p>","protected":false},"author":1,"featured_media":33476,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[77,28,84],"tags":[322,49],"class_list":["post-33651","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-csharp","category-turkce","category-windows","tag-background-task","tag-windows-8"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - 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\/windows-8-de-arkaplan-gorevleri-detaylar\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - Fatih Boy\" \/>\n<meta property=\"og:description\" content=\"&nbsp;&nbsp; Sizlere en son Windows 8\u2019de arka plan g\u00f6revlerinden bahsetmi\u015ftim. Daha \u00e7ok bir giri\u015f ve mimarisel tan\u0131t\u0131m\u0131 ama\u00e7lad\u0131\u011f\u0131m \u00f6nceki yaz\u0131m ard\u0131ndan, sizlerden de ald\u0131\u011f\u0131m geri bildirimler do\u011frultusunda, bir devam yaz\u0131s\u0131yla kod \u00f6rnekleri payla\u015fman\u0131n do\u011fru olaca\u011f\u0131na karar verdim. E\u011fer konuya do\u011frudan bu makalemle ba\u015flad\u0131ysan\u0131z \u00f6ncelikle \u201cWindows 8\u2019de Arka Plan G\u00f6revleri\u201d makalemi okuyarak konu hakk\u0131nda daha detayl\u0131...Read More\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihboy.com\/en\/windows-8-de-arkaplan-gorevleri-detaylar\/\" \/>\n<meta property=\"og:site_name\" content=\"Fatih Boy\" \/>\n<meta property=\"article:published_time\" content=\"2012-08-20T11:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-19T18:42:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1199\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\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=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/\"},\"author\":{\"name\":\"Fatih Boy\",\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"headline\":\"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar\",\"datePublished\":\"2012-08-20T11:00:00+00:00\",\"dateModified\":\"2021-06-19T18:42:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/\"},\"wordCount\":1483,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg\",\"keywords\":[\"Background Task\",\"Windows 8\"],\"articleSection\":[\"C#\",\"T\u00fcrk\u00e7e\",\"Windows\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/\",\"url\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/\",\"name\":\"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - Fatih Boy\",\"isPartOf\":{\"@id\":\"https:\/\/fatihboy.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg\",\"datePublished\":\"2012-08-20T11:00:00+00:00\",\"dateModified\":\"2021-06-19T18:42:13+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage\",\"url\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg\",\"contentUrl\":\"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg\",\"width\":1800,\"height\":1199},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/fatihboy.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar\"}]},{\"@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":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - 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\/windows-8-de-arkaplan-gorevleri-detaylar\/","og_locale":"en_US","og_type":"article","og_title":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - Fatih Boy","og_description":"&nbsp;&nbsp; Sizlere en son Windows 8\u2019de arka plan g\u00f6revlerinden bahsetmi\u015ftim. Daha \u00e7ok bir giri\u015f ve mimarisel tan\u0131t\u0131m\u0131 ama\u00e7lad\u0131\u011f\u0131m \u00f6nceki yaz\u0131m ard\u0131ndan, sizlerden de ald\u0131\u011f\u0131m geri bildirimler do\u011frultusunda, bir devam yaz\u0131s\u0131yla kod \u00f6rnekleri payla\u015fman\u0131n do\u011fru olaca\u011f\u0131na karar verdim. E\u011fer konuya do\u011frudan bu makalemle ba\u015flad\u0131ysan\u0131z \u00f6ncelikle \u201cWindows 8\u2019de Arka Plan G\u00f6revleri\u201d makalemi okuyarak konu hakk\u0131nda daha detayl\u0131...Read More","og_url":"https:\/\/fatihboy.com\/en\/windows-8-de-arkaplan-gorevleri-detaylar\/","og_site_name":"Fatih Boy","article_published_time":"2012-08-20T11:00:00+00:00","article_modified_time":"2021-06-19T18:42:13+00:00","og_image":[{"width":1800,"height":1199,"url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg","type":"image\/jpeg"}],"author":"Fatih Boy","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Fatih Boy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#article","isPartOf":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/"},"author":{"name":"Fatih Boy","@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"headline":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar","datePublished":"2012-08-20T11:00:00+00:00","dateModified":"2021-06-19T18:42:13+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/"},"wordCount":1483,"commentCount":0,"publisher":{"@id":"https:\/\/fatihboy.com\/#\/schema\/person\/6b06a41d42eed36eaa0780fbeb774158"},"image":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg","keywords":["Background Task","Windows 8"],"articleSection":["C#","T\u00fcrk\u00e7e","Windows"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/","url":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/","name":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar - Fatih Boy","isPartOf":{"@id":"https:\/\/fatihboy.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage"},"image":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage"},"thumbnailUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg","datePublished":"2012-08-20T11:00:00+00:00","dateModified":"2021-06-19T18:42:13+00:00","breadcrumb":{"@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#primaryimage","url":"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg","contentUrl":"https:\/\/fatihboy.com\/wp-content\/uploads\/2012\/08\/busy-task.jpg","width":1800,"height":1199},{"@type":"BreadcrumbList","@id":"https:\/\/fatihboy.com\/windows-8-de-arkaplan-gorevleri-detaylar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/fatihboy.com\/"},{"@type":"ListItem","position":2,"name":"Windows 8\u2019de Arka Plan G\u00f6revleri \u2013 Detaylar"}]},{"@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\/33651","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=33651"}],"version-history":[{"count":1,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33651\/revisions"}],"predecessor-version":[{"id":33652,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/posts\/33651\/revisions\/33652"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media\/33476"}],"wp:attachment":[{"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/media?parent=33651"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/categories?post=33651"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihboy.com\/en\/wp-json\/wp\/v2\/tags?post=33651"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}