[{"data":1,"prerenderedAt":2152},["ShallowReactive",2],{"blog:2018:azure-functions-differences-v1-v2":3,"blogMore-Development":2100,"comments-azure-functions-differences-v1-v2":2113},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"date":10,"category":11,"tags":12,"excerpt":16,"body":31,"_type":2092,"_id":2093,"_source":2094,"_file":2095,"_stem":2096,"_extension":2097,"url":2098,"wordCount":2099,"minutes":162,"commentCount":111},"/blog/2018/azure-functions-differences-v1-v2","2018",false,"en","Differences between Azure Functions v1 and v2 in C#","I've been messing around in the .NET ecosystem again, jumping back in with Azure Functions (similar to AWS Lambda) to get my blog onto 99% static hosting. I immediately ran into the API changes between v1 and v2 (currently in beta).","2018-03-29T11:07:00-08:00","Development",[13,14,15],".NET","Azure","C#",{"type":17,"children":18},"root",[19,26],{"type":20,"tag":21,"props":22,"children":23},"element","p",{},[24],{"type":25,"value":9},"text",{"type":20,"tag":21,"props":27,"children":28},{},[29],{"type":25,"value":30},"These changes are because v1 was based around .NET 4.6 using WebAPI 2 while v2 is based on ASP.NET Core which uses MVC 6. There are some guides around conversion, but none in the context of Azure Functions.",{"type":17,"children":32,"toc":2085},[33,37,41,46,53,742,748,1291,1297,1302,1353,1366,1372,1377,1857,1863,1875,2070,2079],{"type":20,"tag":21,"props":34,"children":35},{},[36],{"type":25,"value":9},{"type":20,"tag":21,"props":38,"children":39},{},[40],{"type":25,"value":30},{"type":20,"tag":21,"props":42,"children":43},{},[44],{"type":25,"value":45},"I'll illustrate with a PageViewCount sample that uses Table Storage to retrieve and update a simple page count.",{"type":20,"tag":47,"props":48,"children":50},"h2",{"id":49},"v1-net-461-webapi-2",[51],{"type":25,"value":52},"v1 (.NET 4.61 / WebAPI 2)",{"type":20,"tag":54,"props":55,"children":60},"pre",{"className":56,"code":57,"language":58,"meta":59,"style":59},"language-csharp shiki shiki-themes everforest-light dracula","[FunctionName(\"PageView\")]\npublic static async Task\u003CHttpResponseMessage> Run(\n    [HttpTrigger(AuthorizationLevel.Anonymous, \"get\")]HttpRequestMessage req, TraceWriter log) {\n    var page = req.MessageUri.ParseQueryString()[\"page\"];\n    if (String.IsNullOrEmpty(page))\n        return req.CreateErrorResponse(HttpStatusCode.BadRequest, \"'page' parameter missing.\");\n\n    var table = Helpers.GetTableReference(\"PageViewCounts\");\n    var pageView = await table.RetrieveAsync\u003CPageViewCount>(\"damieng.com\", page)\n        ?? new PageViewCount(page) { ViewCount = 0 };\n    var operation = pageView.ViewCount == 0\n        ? TableOperation.Insert(pageView)\n        : TableOperation.Replace(pageView);\n    pageView.ViewCount++;\n    await table.ExecuteAsync(operation);\n\n    return req.CreateResponse(HttpStatusCode.OK, new { viewCount = pageView.ViewCount });\n}\n","csharp","",[61],{"type":20,"tag":62,"props":63,"children":64},"code",{"__ignoreMap":59},[65,109,160,238,301,326,376,386,434,498,537,574,598,621,644,667,675,733],{"type":20,"tag":66,"props":67,"children":70},"span",{"class":68,"line":69},"line",1,[71,77,83,88,94,100,104],{"type":20,"tag":66,"props":72,"children":74},{"style":73},"--shiki-default:#5C6A72;--shiki-dark:#F8F8F2",[75],{"type":25,"value":76},"[",{"type":20,"tag":66,"props":78,"children":80},{"style":79},"--shiki-default:#3A94C5;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic",[81],{"type":25,"value":82},"FunctionName",{"type":20,"tag":66,"props":84,"children":85},{"style":73},[86],{"type":25,"value":87},"(",{"type":20,"tag":66,"props":89,"children":91},{"style":90},"--shiki-default:#8DA101;--shiki-dark:#E9F284",[92],{"type":25,"value":93},"\"",{"type":20,"tag":66,"props":95,"children":97},{"style":96},"--shiki-default:#8DA101;--shiki-dark:#F1FA8C",[98],{"type":25,"value":99},"PageView",{"type":20,"tag":66,"props":101,"children":102},{"style":90},[103],{"type":25,"value":93},{"type":20,"tag":66,"props":105,"children":106},{"style":73},[107],{"type":25,"value":108},")]\n",{"type":20,"tag":66,"props":110,"children":112},{"class":68,"line":111},2,[113,119,124,129,134,139,144,149,155],{"type":20,"tag":66,"props":114,"children":116},{"style":115},"--shiki-default:#F57D26;--shiki-dark:#FF79C6",[117],{"type":25,"value":118},"public",{"type":20,"tag":66,"props":120,"children":121},{"style":115},[122],{"type":25,"value":123}," static",{"type":20,"tag":66,"props":125,"children":126},{"style":115},[127],{"type":25,"value":128}," async",{"type":20,"tag":66,"props":130,"children":131},{"style":79},[132],{"type":25,"value":133}," Task",{"type":20,"tag":66,"props":135,"children":136},{"style":73},[137],{"type":25,"value":138},"\u003C",{"type":20,"tag":66,"props":140,"children":141},{"style":79},[142],{"type":25,"value":143},"HttpResponseMessage",{"type":20,"tag":66,"props":145,"children":146},{"style":73},[147],{"type":25,"value":148},"> ",{"type":20,"tag":66,"props":150,"children":152},{"style":151},"--shiki-default:#8DA101;--shiki-dark:#50FA7B",[153],{"type":25,"value":154},"Run",{"type":20,"tag":66,"props":156,"children":157},{"style":73},[158],{"type":25,"value":159},"(\n",{"type":20,"tag":66,"props":161,"children":163},{"class":68,"line":162},3,[164,169,174,179,185,190,194,199,203,208,213,219,223,228,233],{"type":20,"tag":66,"props":165,"children":166},{"style":73},[167],{"type":25,"value":168},"    [",{"type":20,"tag":66,"props":170,"children":171},{"style":79},[172],{"type":25,"value":173},"HttpTrigger",{"type":20,"tag":66,"props":175,"children":176},{"style":73},[177],{"type":25,"value":178},"(AuthorizationLevel.",{"type":20,"tag":66,"props":180,"children":182},{"style":181},"--shiki-default:#35A77C;--shiki-dark:#F8F8F2",[183],{"type":25,"value":184},"Anonymous",{"type":20,"tag":66,"props":186,"children":187},{"style":73},[188],{"type":25,"value":189},", ",{"type":20,"tag":66,"props":191,"children":192},{"style":90},[193],{"type":25,"value":93},{"type":20,"tag":66,"props":195,"children":196},{"style":96},[197],{"type":25,"value":198},"get",{"type":20,"tag":66,"props":200,"children":201},{"style":90},[202],{"type":25,"value":93},{"type":20,"tag":66,"props":204,"children":205},{"style":73},[206],{"type":25,"value":207},")]",{"type":20,"tag":66,"props":209,"children":210},{"style":79},[211],{"type":25,"value":212},"HttpRequestMessage",{"type":20,"tag":66,"props":214,"children":216},{"style":215},"--shiki-default:#5C6A72;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic",[217],{"type":25,"value":218}," req",{"type":20,"tag":66,"props":220,"children":221},{"style":73},[222],{"type":25,"value":189},{"type":20,"tag":66,"props":224,"children":225},{"style":79},[226],{"type":25,"value":227},"TraceWriter",{"type":20,"tag":66,"props":229,"children":230},{"style":215},[231],{"type":25,"value":232}," log",{"type":20,"tag":66,"props":234,"children":235},{"style":73},[236],{"type":25,"value":237},") {\n",{"type":20,"tag":66,"props":239,"children":241},{"class":68,"line":240},4,[242,248,253,258,263,268,273,278,283,287,292,296],{"type":20,"tag":66,"props":243,"children":245},{"style":244},"--shiki-default:#3A94C5;--shiki-dark:#FF79C6",[246],{"type":25,"value":247},"    var",{"type":20,"tag":66,"props":249,"children":250},{"style":73},[251],{"type":25,"value":252}," page ",{"type":20,"tag":66,"props":254,"children":255},{"style":115},[256],{"type":25,"value":257},"=",{"type":20,"tag":66,"props":259,"children":260},{"style":73},[261],{"type":25,"value":262}," req.",{"type":20,"tag":66,"props":264,"children":265},{"style":181},[266],{"type":25,"value":267},"MessageUri",{"type":20,"tag":66,"props":269,"children":270},{"style":73},[271],{"type":25,"value":272},".",{"type":20,"tag":66,"props":274,"children":275},{"style":151},[276],{"type":25,"value":277},"ParseQueryString",{"type":20,"tag":66,"props":279,"children":280},{"style":73},[281],{"type":25,"value":282},"()[",{"type":20,"tag":66,"props":284,"children":285},{"style":90},[286],{"type":25,"value":93},{"type":20,"tag":66,"props":288,"children":289},{"style":96},[290],{"type":25,"value":291},"page",{"type":20,"tag":66,"props":293,"children":294},{"style":90},[295],{"type":25,"value":93},{"type":20,"tag":66,"props":297,"children":298},{"style":73},[299],{"type":25,"value":300},"];\n",{"type":20,"tag":66,"props":302,"children":304},{"class":68,"line":303},5,[305,311,316,321],{"type":20,"tag":66,"props":306,"children":308},{"style":307},"--shiki-default:#F85552;--shiki-dark:#FF79C6",[309],{"type":25,"value":310},"    if",{"type":20,"tag":66,"props":312,"children":313},{"style":73},[314],{"type":25,"value":315}," (String.",{"type":20,"tag":66,"props":317,"children":318},{"style":151},[319],{"type":25,"value":320},"IsNullOrEmpty",{"type":20,"tag":66,"props":322,"children":323},{"style":73},[324],{"type":25,"value":325},"(page))\n",{"type":20,"tag":66,"props":327,"children":329},{"class":68,"line":328},6,[330,335,339,344,349,354,358,362,367,371],{"type":20,"tag":66,"props":331,"children":332},{"style":307},[333],{"type":25,"value":334},"        return",{"type":20,"tag":66,"props":336,"children":337},{"style":73},[338],{"type":25,"value":262},{"type":20,"tag":66,"props":340,"children":341},{"style":151},[342],{"type":25,"value":343},"CreateErrorResponse",{"type":20,"tag":66,"props":345,"children":346},{"style":73},[347],{"type":25,"value":348},"(HttpStatusCode.",{"type":20,"tag":66,"props":350,"children":351},{"style":181},[352],{"type":25,"value":353},"BadRequest",{"type":20,"tag":66,"props":355,"children":356},{"style":73},[357],{"type":25,"value":189},{"type":20,"tag":66,"props":359,"children":360},{"style":90},[361],{"type":25,"value":93},{"type":20,"tag":66,"props":363,"children":364},{"style":96},[365],{"type":25,"value":366},"'page' parameter missing.",{"type":20,"tag":66,"props":368,"children":369},{"style":90},[370],{"type":25,"value":93},{"type":20,"tag":66,"props":372,"children":373},{"style":73},[374],{"type":25,"value":375},");\n",{"type":20,"tag":66,"props":377,"children":379},{"class":68,"line":378},7,[380],{"type":20,"tag":66,"props":381,"children":383},{"emptyLinePlaceholder":382},true,[384],{"type":25,"value":385},"\n",{"type":20,"tag":66,"props":387,"children":389},{"class":68,"line":388},8,[390,394,399,403,408,413,417,421,426,430],{"type":20,"tag":66,"props":391,"children":392},{"style":244},[393],{"type":25,"value":247},{"type":20,"tag":66,"props":395,"children":396},{"style":73},[397],{"type":25,"value":398}," table ",{"type":20,"tag":66,"props":400,"children":401},{"style":115},[402],{"type":25,"value":257},{"type":20,"tag":66,"props":404,"children":405},{"style":73},[406],{"type":25,"value":407}," Helpers.",{"type":20,"tag":66,"props":409,"children":410},{"style":151},[411],{"type":25,"value":412},"GetTableReference",{"type":20,"tag":66,"props":414,"children":415},{"style":73},[416],{"type":25,"value":87},{"type":20,"tag":66,"props":418,"children":419},{"style":90},[420],{"type":25,"value":93},{"type":20,"tag":66,"props":422,"children":423},{"style":96},[424],{"type":25,"value":425},"PageViewCounts",{"type":20,"tag":66,"props":427,"children":428},{"style":90},[429],{"type":25,"value":93},{"type":20,"tag":66,"props":431,"children":432},{"style":73},[433],{"type":25,"value":375},{"type":20,"tag":66,"props":435,"children":437},{"class":68,"line":436},9,[438,442,447,451,456,461,466,470,475,480,484,489,493],{"type":20,"tag":66,"props":439,"children":440},{"style":244},[441],{"type":25,"value":247},{"type":20,"tag":66,"props":443,"children":444},{"style":73},[445],{"type":25,"value":446}," pageView ",{"type":20,"tag":66,"props":448,"children":449},{"style":115},[450],{"type":25,"value":257},{"type":20,"tag":66,"props":452,"children":453},{"style":307},[454],{"type":25,"value":455}," await",{"type":20,"tag":66,"props":457,"children":458},{"style":73},[459],{"type":25,"value":460}," table.",{"type":20,"tag":66,"props":462,"children":463},{"style":151},[464],{"type":25,"value":465},"RetrieveAsync",{"type":20,"tag":66,"props":467,"children":468},{"style":73},[469],{"type":25,"value":138},{"type":20,"tag":66,"props":471,"children":472},{"style":79},[473],{"type":25,"value":474},"PageViewCount",{"type":20,"tag":66,"props":476,"children":477},{"style":73},[478],{"type":25,"value":479},">(",{"type":20,"tag":66,"props":481,"children":482},{"style":90},[483],{"type":25,"value":93},{"type":20,"tag":66,"props":485,"children":486},{"style":96},[487],{"type":25,"value":488},"damieng.com",{"type":20,"tag":66,"props":490,"children":491},{"style":90},[492],{"type":25,"value":93},{"type":20,"tag":66,"props":494,"children":495},{"style":73},[496],{"type":25,"value":497},", page)\n",{"type":20,"tag":66,"props":499,"children":501},{"class":68,"line":500},10,[502,507,512,517,522,526,532],{"type":20,"tag":66,"props":503,"children":504},{"style":115},[505],{"type":25,"value":506},"        ??",{"type":20,"tag":66,"props":508,"children":509},{"style":307},[510],{"type":25,"value":511}," new",{"type":20,"tag":66,"props":513,"children":514},{"style":79},[515],{"type":25,"value":516}," PageViewCount",{"type":20,"tag":66,"props":518,"children":519},{"style":73},[520],{"type":25,"value":521},"(page) { ViewCount ",{"type":20,"tag":66,"props":523,"children":524},{"style":115},[525],{"type":25,"value":257},{"type":20,"tag":66,"props":527,"children":529},{"style":528},"--shiki-default:#DF69BA;--shiki-dark:#BD93F9",[530],{"type":25,"value":531}," 0",{"type":20,"tag":66,"props":533,"children":534},{"style":73},[535],{"type":25,"value":536}," };\n",{"type":20,"tag":66,"props":538,"children":540},{"class":68,"line":539},11,[541,545,550,554,559,564,569],{"type":20,"tag":66,"props":542,"children":543},{"style":244},[544],{"type":25,"value":247},{"type":20,"tag":66,"props":546,"children":547},{"style":73},[548],{"type":25,"value":549}," operation ",{"type":20,"tag":66,"props":551,"children":552},{"style":115},[553],{"type":25,"value":257},{"type":20,"tag":66,"props":555,"children":556},{"style":73},[557],{"type":25,"value":558}," pageView.",{"type":20,"tag":66,"props":560,"children":561},{"style":181},[562],{"type":25,"value":563},"ViewCount",{"type":20,"tag":66,"props":565,"children":566},{"style":115},[567],{"type":25,"value":568}," ==",{"type":20,"tag":66,"props":570,"children":571},{"style":528},[572],{"type":25,"value":573}," 0\n",{"type":20,"tag":66,"props":575,"children":577},{"class":68,"line":576},12,[578,583,588,593],{"type":20,"tag":66,"props":579,"children":580},{"style":115},[581],{"type":25,"value":582},"        ?",{"type":20,"tag":66,"props":584,"children":585},{"style":73},[586],{"type":25,"value":587}," TableOperation.",{"type":20,"tag":66,"props":589,"children":590},{"style":151},[591],{"type":25,"value":592},"Insert",{"type":20,"tag":66,"props":594,"children":595},{"style":73},[596],{"type":25,"value":597},"(pageView)\n",{"type":20,"tag":66,"props":599,"children":601},{"class":68,"line":600},13,[602,607,611,616],{"type":20,"tag":66,"props":603,"children":604},{"style":115},[605],{"type":25,"value":606},"        :",{"type":20,"tag":66,"props":608,"children":609},{"style":73},[610],{"type":25,"value":587},{"type":20,"tag":66,"props":612,"children":613},{"style":151},[614],{"type":25,"value":615},"Replace",{"type":20,"tag":66,"props":617,"children":618},{"style":73},[619],{"type":25,"value":620},"(pageView);\n",{"type":20,"tag":66,"props":622,"children":624},{"class":68,"line":623},14,[625,630,634,639],{"type":20,"tag":66,"props":626,"children":627},{"style":73},[628],{"type":25,"value":629},"    pageView.",{"type":20,"tag":66,"props":631,"children":632},{"style":181},[633],{"type":25,"value":563},{"type":20,"tag":66,"props":635,"children":636},{"style":115},[637],{"type":25,"value":638},"++",{"type":20,"tag":66,"props":640,"children":641},{"style":73},[642],{"type":25,"value":643},";\n",{"type":20,"tag":66,"props":645,"children":647},{"class":68,"line":646},15,[648,653,657,662],{"type":20,"tag":66,"props":649,"children":650},{"style":307},[651],{"type":25,"value":652},"    await",{"type":20,"tag":66,"props":654,"children":655},{"style":73},[656],{"type":25,"value":460},{"type":20,"tag":66,"props":658,"children":659},{"style":151},[660],{"type":25,"value":661},"ExecuteAsync",{"type":20,"tag":66,"props":663,"children":664},{"style":73},[665],{"type":25,"value":666},"(operation);\n",{"type":20,"tag":66,"props":668,"children":670},{"class":68,"line":669},16,[671],{"type":20,"tag":66,"props":672,"children":673},{"emptyLinePlaceholder":382},[674],{"type":25,"value":385},{"type":20,"tag":66,"props":676,"children":678},{"class":68,"line":677},17,[679,684,688,693,697,702,706,711,716,720,724,728],{"type":20,"tag":66,"props":680,"children":681},{"style":307},[682],{"type":25,"value":683},"    return",{"type":20,"tag":66,"props":685,"children":686},{"style":73},[687],{"type":25,"value":262},{"type":20,"tag":66,"props":689,"children":690},{"style":151},[691],{"type":25,"value":692},"CreateResponse",{"type":20,"tag":66,"props":694,"children":695},{"style":73},[696],{"type":25,"value":348},{"type":20,"tag":66,"props":698,"children":699},{"style":181},[700],{"type":25,"value":701},"OK",{"type":20,"tag":66,"props":703,"children":704},{"style":73},[705],{"type":25,"value":189},{"type":20,"tag":66,"props":707,"children":708},{"style":307},[709],{"type":25,"value":710},"new",{"type":20,"tag":66,"props":712,"children":713},{"style":73},[714],{"type":25,"value":715}," { viewCount ",{"type":20,"tag":66,"props":717,"children":718},{"style":115},[719],{"type":25,"value":257},{"type":20,"tag":66,"props":721,"children":722},{"style":73},[723],{"type":25,"value":558},{"type":20,"tag":66,"props":725,"children":726},{"style":181},[727],{"type":25,"value":563},{"type":20,"tag":66,"props":729,"children":730},{"style":73},[731],{"type":25,"value":732}," });\n",{"type":20,"tag":66,"props":734,"children":736},{"class":68,"line":735},18,[737],{"type":20,"tag":66,"props":738,"children":739},{"style":73},[740],{"type":25,"value":741},"}\n",{"type":20,"tag":47,"props":743,"children":745},{"id":744},"v2-aspnet-core-mvc-6",[746],{"type":25,"value":747},"v2 (ASP.NET Core / MVC 6)",{"type":20,"tag":54,"props":749,"children":751},{"className":56,"code":750,"language":58,"meta":59,"style":59},"[FunctionName(\"PageView\")]\npublic static async Task\u003CIActionResult> Run(\n    [HttpTrigger(AuthorizationLevel.Anonymous, \"get\")]HttpRequest req, TraceWriter log) {\n    var page = req.Query[\"page\"];\n    if (String.IsNullOrEmpty(page))\n       return new BadRequestObjectResult(\"'page' parameter missing.\");\n\n    var table = Helpers.GetTableReference(\"PageViewCounts\");\n    var pageView = await table.RetrieveAsync\u003CPageViewCount>(\"damieng.com\", page)\n        ?? new PageViewCount(page) { ViewCount = 0 };\n    var operation = pageView.ViewCount == 0\n        ? TableOperation.Insert(pageView)\n        : TableOperation.Replace(pageView);\n    pageView.ViewCount++;\n    await table.ExecuteAsync(operation);\n\n    return new OkObjectResult(new { viewCount = pageView.ViewCount });\n}\n",[752],{"type":20,"tag":62,"props":753,"children":754},{"__ignoreMap":59},[755,786,826,890,934,953,990,997,1040,1095,1126,1157,1176,1195,1214,1233,1240,1284],{"type":20,"tag":66,"props":756,"children":757},{"class":68,"line":69},[758,762,766,770,774,778,782],{"type":20,"tag":66,"props":759,"children":760},{"style":73},[761],{"type":25,"value":76},{"type":20,"tag":66,"props":763,"children":764},{"style":79},[765],{"type":25,"value":82},{"type":20,"tag":66,"props":767,"children":768},{"style":73},[769],{"type":25,"value":87},{"type":20,"tag":66,"props":771,"children":772},{"style":90},[773],{"type":25,"value":93},{"type":20,"tag":66,"props":775,"children":776},{"style":96},[777],{"type":25,"value":99},{"type":20,"tag":66,"props":779,"children":780},{"style":90},[781],{"type":25,"value":93},{"type":20,"tag":66,"props":783,"children":784},{"style":73},[785],{"type":25,"value":108},{"type":20,"tag":66,"props":787,"children":788},{"class":68,"line":111},[789,793,797,801,805,809,814,818,822],{"type":20,"tag":66,"props":790,"children":791},{"style":115},[792],{"type":25,"value":118},{"type":20,"tag":66,"props":794,"children":795},{"style":115},[796],{"type":25,"value":123},{"type":20,"tag":66,"props":798,"children":799},{"style":115},[800],{"type":25,"value":128},{"type":20,"tag":66,"props":802,"children":803},{"style":79},[804],{"type":25,"value":133},{"type":20,"tag":66,"props":806,"children":807},{"style":73},[808],{"type":25,"value":138},{"type":20,"tag":66,"props":810,"children":811},{"style":79},[812],{"type":25,"value":813},"IActionResult",{"type":20,"tag":66,"props":815,"children":816},{"style":73},[817],{"type":25,"value":148},{"type":20,"tag":66,"props":819,"children":820},{"style":151},[821],{"type":25,"value":154},{"type":20,"tag":66,"props":823,"children":824},{"style":73},[825],{"type":25,"value":159},{"type":20,"tag":66,"props":827,"children":828},{"class":68,"line":162},[829,833,837,841,845,849,853,857,861,865,870,874,878,882,886],{"type":20,"tag":66,"props":830,"children":831},{"style":73},[832],{"type":25,"value":168},{"type":20,"tag":66,"props":834,"children":835},{"style":79},[836],{"type":25,"value":173},{"type":20,"tag":66,"props":838,"children":839},{"style":73},[840],{"type":25,"value":178},{"type":20,"tag":66,"props":842,"children":843},{"style":181},[844],{"type":25,"value":184},{"type":20,"tag":66,"props":846,"children":847},{"style":73},[848],{"type":25,"value":189},{"type":20,"tag":66,"props":850,"children":851},{"style":90},[852],{"type":25,"value":93},{"type":20,"tag":66,"props":854,"children":855},{"style":96},[856],{"type":25,"value":198},{"type":20,"tag":66,"props":858,"children":859},{"style":90},[860],{"type":25,"value":93},{"type":20,"tag":66,"props":862,"children":863},{"style":73},[864],{"type":25,"value":207},{"type":20,"tag":66,"props":866,"children":867},{"style":79},[868],{"type":25,"value":869},"HttpRequest",{"type":20,"tag":66,"props":871,"children":872},{"style":215},[873],{"type":25,"value":218},{"type":20,"tag":66,"props":875,"children":876},{"style":73},[877],{"type":25,"value":189},{"type":20,"tag":66,"props":879,"children":880},{"style":79},[881],{"type":25,"value":227},{"type":20,"tag":66,"props":883,"children":884},{"style":215},[885],{"type":25,"value":232},{"type":20,"tag":66,"props":887,"children":888},{"style":73},[889],{"type":25,"value":237},{"type":20,"tag":66,"props":891,"children":892},{"class":68,"line":240},[893,897,901,905,909,914,918,922,926,930],{"type":20,"tag":66,"props":894,"children":895},{"style":244},[896],{"type":25,"value":247},{"type":20,"tag":66,"props":898,"children":899},{"style":73},[900],{"type":25,"value":252},{"type":20,"tag":66,"props":902,"children":903},{"style":115},[904],{"type":25,"value":257},{"type":20,"tag":66,"props":906,"children":907},{"style":73},[908],{"type":25,"value":262},{"type":20,"tag":66,"props":910,"children":911},{"style":181},[912],{"type":25,"value":913},"Query",{"type":20,"tag":66,"props":915,"children":916},{"style":73},[917],{"type":25,"value":76},{"type":20,"tag":66,"props":919,"children":920},{"style":90},[921],{"type":25,"value":93},{"type":20,"tag":66,"props":923,"children":924},{"style":96},[925],{"type":25,"value":291},{"type":20,"tag":66,"props":927,"children":928},{"style":90},[929],{"type":25,"value":93},{"type":20,"tag":66,"props":931,"children":932},{"style":73},[933],{"type":25,"value":300},{"type":20,"tag":66,"props":935,"children":936},{"class":68,"line":303},[937,941,945,949],{"type":20,"tag":66,"props":938,"children":939},{"style":307},[940],{"type":25,"value":310},{"type":20,"tag":66,"props":942,"children":943},{"style":73},[944],{"type":25,"value":315},{"type":20,"tag":66,"props":946,"children":947},{"style":151},[948],{"type":25,"value":320},{"type":20,"tag":66,"props":950,"children":951},{"style":73},[952],{"type":25,"value":325},{"type":20,"tag":66,"props":954,"children":955},{"class":68,"line":328},[956,961,965,970,974,978,982,986],{"type":20,"tag":66,"props":957,"children":958},{"style":307},[959],{"type":25,"value":960},"       return",{"type":20,"tag":66,"props":962,"children":963},{"style":307},[964],{"type":25,"value":511},{"type":20,"tag":66,"props":966,"children":967},{"style":79},[968],{"type":25,"value":969}," BadRequestObjectResult",{"type":20,"tag":66,"props":971,"children":972},{"style":73},[973],{"type":25,"value":87},{"type":20,"tag":66,"props":975,"children":976},{"style":90},[977],{"type":25,"value":93},{"type":20,"tag":66,"props":979,"children":980},{"style":96},[981],{"type":25,"value":366},{"type":20,"tag":66,"props":983,"children":984},{"style":90},[985],{"type":25,"value":93},{"type":20,"tag":66,"props":987,"children":988},{"style":73},[989],{"type":25,"value":375},{"type":20,"tag":66,"props":991,"children":992},{"class":68,"line":378},[993],{"type":20,"tag":66,"props":994,"children":995},{"emptyLinePlaceholder":382},[996],{"type":25,"value":385},{"type":20,"tag":66,"props":998,"children":999},{"class":68,"line":388},[1000,1004,1008,1012,1016,1020,1024,1028,1032,1036],{"type":20,"tag":66,"props":1001,"children":1002},{"style":244},[1003],{"type":25,"value":247},{"type":20,"tag":66,"props":1005,"children":1006},{"style":73},[1007],{"type":25,"value":398},{"type":20,"tag":66,"props":1009,"children":1010},{"style":115},[1011],{"type":25,"value":257},{"type":20,"tag":66,"props":1013,"children":1014},{"style":73},[1015],{"type":25,"value":407},{"type":20,"tag":66,"props":1017,"children":1018},{"style":151},[1019],{"type":25,"value":412},{"type":20,"tag":66,"props":1021,"children":1022},{"style":73},[1023],{"type":25,"value":87},{"type":20,"tag":66,"props":1025,"children":1026},{"style":90},[1027],{"type":25,"value":93},{"type":20,"tag":66,"props":1029,"children":1030},{"style":96},[1031],{"type":25,"value":425},{"type":20,"tag":66,"props":1033,"children":1034},{"style":90},[1035],{"type":25,"value":93},{"type":20,"tag":66,"props":1037,"children":1038},{"style":73},[1039],{"type":25,"value":375},{"type":20,"tag":66,"props":1041,"children":1042},{"class":68,"line":436},[1043,1047,1051,1055,1059,1063,1067,1071,1075,1079,1083,1087,1091],{"type":20,"tag":66,"props":1044,"children":1045},{"style":244},[1046],{"type":25,"value":247},{"type":20,"tag":66,"props":1048,"children":1049},{"style":73},[1050],{"type":25,"value":446},{"type":20,"tag":66,"props":1052,"children":1053},{"style":115},[1054],{"type":25,"value":257},{"type":20,"tag":66,"props":1056,"children":1057},{"style":307},[1058],{"type":25,"value":455},{"type":20,"tag":66,"props":1060,"children":1061},{"style":73},[1062],{"type":25,"value":460},{"type":20,"tag":66,"props":1064,"children":1065},{"style":151},[1066],{"type":25,"value":465},{"type":20,"tag":66,"props":1068,"children":1069},{"style":73},[1070],{"type":25,"value":138},{"type":20,"tag":66,"props":1072,"children":1073},{"style":79},[1074],{"type":25,"value":474},{"type":20,"tag":66,"props":1076,"children":1077},{"style":73},[1078],{"type":25,"value":479},{"type":20,"tag":66,"props":1080,"children":1081},{"style":90},[1082],{"type":25,"value":93},{"type":20,"tag":66,"props":1084,"children":1085},{"style":96},[1086],{"type":25,"value":488},{"type":20,"tag":66,"props":1088,"children":1089},{"style":90},[1090],{"type":25,"value":93},{"type":20,"tag":66,"props":1092,"children":1093},{"style":73},[1094],{"type":25,"value":497},{"type":20,"tag":66,"props":1096,"children":1097},{"class":68,"line":500},[1098,1102,1106,1110,1114,1118,1122],{"type":20,"tag":66,"props":1099,"children":1100},{"style":115},[1101],{"type":25,"value":506},{"type":20,"tag":66,"props":1103,"children":1104},{"style":307},[1105],{"type":25,"value":511},{"type":20,"tag":66,"props":1107,"children":1108},{"style":79},[1109],{"type":25,"value":516},{"type":20,"tag":66,"props":1111,"children":1112},{"style":73},[1113],{"type":25,"value":521},{"type":20,"tag":66,"props":1115,"children":1116},{"style":115},[1117],{"type":25,"value":257},{"type":20,"tag":66,"props":1119,"children":1120},{"style":528},[1121],{"type":25,"value":531},{"type":20,"tag":66,"props":1123,"children":1124},{"style":73},[1125],{"type":25,"value":536},{"type":20,"tag":66,"props":1127,"children":1128},{"class":68,"line":539},[1129,1133,1137,1141,1145,1149,1153],{"type":20,"tag":66,"props":1130,"children":1131},{"style":244},[1132],{"type":25,"value":247},{"type":20,"tag":66,"props":1134,"children":1135},{"style":73},[1136],{"type":25,"value":549},{"type":20,"tag":66,"props":1138,"children":1139},{"style":115},[1140],{"type":25,"value":257},{"type":20,"tag":66,"props":1142,"children":1143},{"style":73},[1144],{"type":25,"value":558},{"type":20,"tag":66,"props":1146,"children":1147},{"style":181},[1148],{"type":25,"value":563},{"type":20,"tag":66,"props":1150,"children":1151},{"style":115},[1152],{"type":25,"value":568},{"type":20,"tag":66,"props":1154,"children":1155},{"style":528},[1156],{"type":25,"value":573},{"type":20,"tag":66,"props":1158,"children":1159},{"class":68,"line":576},[1160,1164,1168,1172],{"type":20,"tag":66,"props":1161,"children":1162},{"style":115},[1163],{"type":25,"value":582},{"type":20,"tag":66,"props":1165,"children":1166},{"style":73},[1167],{"type":25,"value":587},{"type":20,"tag":66,"props":1169,"children":1170},{"style":151},[1171],{"type":25,"value":592},{"type":20,"tag":66,"props":1173,"children":1174},{"style":73},[1175],{"type":25,"value":597},{"type":20,"tag":66,"props":1177,"children":1178},{"class":68,"line":600},[1179,1183,1187,1191],{"type":20,"tag":66,"props":1180,"children":1181},{"style":115},[1182],{"type":25,"value":606},{"type":20,"tag":66,"props":1184,"children":1185},{"style":73},[1186],{"type":25,"value":587},{"type":20,"tag":66,"props":1188,"children":1189},{"style":151},[1190],{"type":25,"value":615},{"type":20,"tag":66,"props":1192,"children":1193},{"style":73},[1194],{"type":25,"value":620},{"type":20,"tag":66,"props":1196,"children":1197},{"class":68,"line":623},[1198,1202,1206,1210],{"type":20,"tag":66,"props":1199,"children":1200},{"style":73},[1201],{"type":25,"value":629},{"type":20,"tag":66,"props":1203,"children":1204},{"style":181},[1205],{"type":25,"value":563},{"type":20,"tag":66,"props":1207,"children":1208},{"style":115},[1209],{"type":25,"value":638},{"type":20,"tag":66,"props":1211,"children":1212},{"style":73},[1213],{"type":25,"value":643},{"type":20,"tag":66,"props":1215,"children":1216},{"class":68,"line":646},[1217,1221,1225,1229],{"type":20,"tag":66,"props":1218,"children":1219},{"style":307},[1220],{"type":25,"value":652},{"type":20,"tag":66,"props":1222,"children":1223},{"style":73},[1224],{"type":25,"value":460},{"type":20,"tag":66,"props":1226,"children":1227},{"style":151},[1228],{"type":25,"value":661},{"type":20,"tag":66,"props":1230,"children":1231},{"style":73},[1232],{"type":25,"value":666},{"type":20,"tag":66,"props":1234,"children":1235},{"class":68,"line":669},[1236],{"type":20,"tag":66,"props":1237,"children":1238},{"emptyLinePlaceholder":382},[1239],{"type":25,"value":385},{"type":20,"tag":66,"props":1241,"children":1242},{"class":68,"line":677},[1243,1247,1251,1256,1260,1264,1268,1272,1276,1280],{"type":20,"tag":66,"props":1244,"children":1245},{"style":307},[1246],{"type":25,"value":683},{"type":20,"tag":66,"props":1248,"children":1249},{"style":307},[1250],{"type":25,"value":511},{"type":20,"tag":66,"props":1252,"children":1253},{"style":79},[1254],{"type":25,"value":1255}," OkObjectResult",{"type":20,"tag":66,"props":1257,"children":1258},{"style":73},[1259],{"type":25,"value":87},{"type":20,"tag":66,"props":1261,"children":1262},{"style":307},[1263],{"type":25,"value":710},{"type":20,"tag":66,"props":1265,"children":1266},{"style":73},[1267],{"type":25,"value":715},{"type":20,"tag":66,"props":1269,"children":1270},{"style":115},[1271],{"type":25,"value":257},{"type":20,"tag":66,"props":1273,"children":1274},{"style":73},[1275],{"type":25,"value":558},{"type":20,"tag":66,"props":1277,"children":1278},{"style":181},[1279],{"type":25,"value":563},{"type":20,"tag":66,"props":1281,"children":1282},{"style":73},[1283],{"type":25,"value":732},{"type":20,"tag":66,"props":1285,"children":1286},{"class":68,"line":735},[1287],{"type":20,"tag":66,"props":1288,"children":1289},{"style":73},[1290],{"type":25,"value":741},{"type":20,"tag":47,"props":1292,"children":1294},{"id":1293},"differences",[1295],{"type":25,"value":1296},"Differences",{"type":20,"tag":21,"props":1298,"children":1299},{},[1300],{"type":25,"value":1301},"The main differences are that:",{"type":20,"tag":1303,"props":1304,"children":1305},"ol",{},[1306,1334],{"type":20,"tag":1307,"props":1308,"children":1309},"li",{},[1310,1312,1317,1319,1325,1327,1332],{"type":25,"value":1311},"Return types are ",{"type":20,"tag":62,"props":1313,"children":1315},{"className":1314},[],[1316],{"type":25,"value":813},{"type":25,"value":1318},"/",{"type":20,"tag":62,"props":1320,"children":1322},{"className":1321},[],[1323],{"type":25,"value":1324},"ObjectResult",{"type":25,"value":1326}," objects rather than extension methods against ",{"type":20,"tag":62,"props":1328,"children":1330},{"className":1329},[],[1331],{"type":25,"value":212},{"type":25,"value":1333}," (easier to mock/create custom ones)",{"type":20,"tag":1307,"props":1335,"children":1336},{},[1337,1339,1344,1346,1351],{"type":25,"value":1338},"Input is the ",{"type":20,"tag":62,"props":1340,"children":1342},{"className":1341},[],[1343],{"type":25,"value":869},{"type":25,"value":1345}," object rather than ",{"type":20,"tag":62,"props":1347,"children":1349},{"className":1348},[],[1350],{"type":25,"value":143},{"type":25,"value":1352}," (easier to get query parameters)",{"type":20,"tag":21,"props":1354,"children":1355},{},[1356,1358,1364],{"type":25,"value":1357},"The error ",{"type":20,"tag":62,"props":1359,"children":1361},{"className":1360},[],[1362],{"type":25,"value":1363},"Can not create abstract class",{"type":25,"value":1365}," when executing your function means you are trying to use the wrong tech for that environment.",{"type":20,"tag":47,"props":1367,"children":1369},{"id":1368},"helpers",[1370],{"type":25,"value":1371},"Helpers",{"type":20,"tag":21,"props":1373,"children":1374},{},[1375],{"type":25,"value":1376},"Both classes above utilise a small helper class to take care of Table Storage which doesn't have the nicest to use API. A data-context like wrapper that ensures the right types go to the right table might be an even better option.",{"type":20,"tag":54,"props":1378,"children":1380},{"className":56,"code":1379,"language":58,"meta":59,"style":59},"static class Helpers {\n    public static CloudStorageAccount GetCloudStorageAccount() {\n        var connection = ConfigurationManager.AppSettings[\"DamienGTableStorage\"];\n        return connection == null ? CloudStorageAccount.DevelopmentStorageAccount : CloudStorageAccount.Parse(connection);\n    }\n\n    public static CloudTable GetTableReference(string name) {\n        return GetCloudStorageAccount().CreateCloudTableClient().GetTableReference(name);\n    }\n\n    public static async Task\u003CT> RetrieveAsync\u003CT>(this CloudTable cloudTable, string partitionKey, string rowKey)\n        where T:TableEntity {\n        var tableResult = await cloudTable.ExecuteAsync(TableOperation.Retrieve\u003CT>(partitionKey, rowKey));\n        return (T)tableResult.Result;\n    }\n}\n",[1381],{"type":20,"tag":62,"props":1382,"children":1383},{"__ignoreMap":59},[1384,1408,1435,1483,1538,1546,1553,1592,1626,1633,1640,1734,1761,1813,1843,1850],{"type":20,"tag":66,"props":1385,"children":1386},{"class":68,"line":69},[1387,1392,1397,1403],{"type":20,"tag":66,"props":1388,"children":1389},{"style":115},[1390],{"type":25,"value":1391},"static",{"type":20,"tag":66,"props":1393,"children":1394},{"style":307},[1395],{"type":25,"value":1396}," class",{"type":20,"tag":66,"props":1398,"children":1400},{"style":1399},"--shiki-default:#3A94C5;--shiki-dark:#8BE9FD",[1401],{"type":25,"value":1402}," Helpers",{"type":20,"tag":66,"props":1404,"children":1405},{"style":73},[1406],{"type":25,"value":1407}," {\n",{"type":20,"tag":66,"props":1409,"children":1410},{"class":68,"line":111},[1411,1416,1420,1425,1430],{"type":20,"tag":66,"props":1412,"children":1413},{"style":115},[1414],{"type":25,"value":1415},"    public",{"type":20,"tag":66,"props":1417,"children":1418},{"style":115},[1419],{"type":25,"value":123},{"type":20,"tag":66,"props":1421,"children":1422},{"style":79},[1423],{"type":25,"value":1424}," CloudStorageAccount",{"type":20,"tag":66,"props":1426,"children":1427},{"style":151},[1428],{"type":25,"value":1429}," GetCloudStorageAccount",{"type":20,"tag":66,"props":1431,"children":1432},{"style":73},[1433],{"type":25,"value":1434},"() {\n",{"type":20,"tag":66,"props":1436,"children":1437},{"class":68,"line":162},[1438,1443,1448,1452,1457,1462,1466,1470,1475,1479],{"type":20,"tag":66,"props":1439,"children":1440},{"style":244},[1441],{"type":25,"value":1442},"        var",{"type":20,"tag":66,"props":1444,"children":1445},{"style":73},[1446],{"type":25,"value":1447}," connection ",{"type":20,"tag":66,"props":1449,"children":1450},{"style":115},[1451],{"type":25,"value":257},{"type":20,"tag":66,"props":1453,"children":1454},{"style":73},[1455],{"type":25,"value":1456}," ConfigurationManager.",{"type":20,"tag":66,"props":1458,"children":1459},{"style":181},[1460],{"type":25,"value":1461},"AppSettings",{"type":20,"tag":66,"props":1463,"children":1464},{"style":73},[1465],{"type":25,"value":76},{"type":20,"tag":66,"props":1467,"children":1468},{"style":90},[1469],{"type":25,"value":93},{"type":20,"tag":66,"props":1471,"children":1472},{"style":96},[1473],{"type":25,"value":1474},"DamienGTableStorage",{"type":20,"tag":66,"props":1476,"children":1477},{"style":90},[1478],{"type":25,"value":93},{"type":20,"tag":66,"props":1480,"children":1481},{"style":73},[1482],{"type":25,"value":300},{"type":20,"tag":66,"props":1484,"children":1485},{"class":68,"line":240},[1486,1490,1494,1499,1504,1509,1514,1519,1524,1528,1533],{"type":20,"tag":66,"props":1487,"children":1488},{"style":307},[1489],{"type":25,"value":334},{"type":20,"tag":66,"props":1491,"children":1492},{"style":73},[1493],{"type":25,"value":1447},{"type":20,"tag":66,"props":1495,"children":1496},{"style":115},[1497],{"type":25,"value":1498},"==",{"type":20,"tag":66,"props":1500,"children":1501},{"style":528},[1502],{"type":25,"value":1503}," null",{"type":20,"tag":66,"props":1505,"children":1506},{"style":115},[1507],{"type":25,"value":1508}," ?",{"type":20,"tag":66,"props":1510,"children":1511},{"style":73},[1512],{"type":25,"value":1513}," CloudStorageAccount.",{"type":20,"tag":66,"props":1515,"children":1516},{"style":181},[1517],{"type":25,"value":1518},"DevelopmentStorageAccount",{"type":20,"tag":66,"props":1520,"children":1521},{"style":115},[1522],{"type":25,"value":1523}," :",{"type":20,"tag":66,"props":1525,"children":1526},{"style":73},[1527],{"type":25,"value":1513},{"type":20,"tag":66,"props":1529,"children":1530},{"style":151},[1531],{"type":25,"value":1532},"Parse",{"type":20,"tag":66,"props":1534,"children":1535},{"style":73},[1536],{"type":25,"value":1537},"(connection);\n",{"type":20,"tag":66,"props":1539,"children":1540},{"class":68,"line":303},[1541],{"type":20,"tag":66,"props":1542,"children":1543},{"style":73},[1544],{"type":25,"value":1545},"    }\n",{"type":20,"tag":66,"props":1547,"children":1548},{"class":68,"line":328},[1549],{"type":20,"tag":66,"props":1550,"children":1551},{"emptyLinePlaceholder":382},[1552],{"type":25,"value":385},{"type":20,"tag":66,"props":1554,"children":1555},{"class":68,"line":378},[1556,1560,1564,1569,1574,1578,1583,1588],{"type":20,"tag":66,"props":1557,"children":1558},{"style":115},[1559],{"type":25,"value":1415},{"type":20,"tag":66,"props":1561,"children":1562},{"style":115},[1563],{"type":25,"value":123},{"type":20,"tag":66,"props":1565,"children":1566},{"style":79},[1567],{"type":25,"value":1568}," CloudTable",{"type":20,"tag":66,"props":1570,"children":1571},{"style":151},[1572],{"type":25,"value":1573}," GetTableReference",{"type":20,"tag":66,"props":1575,"children":1576},{"style":73},[1577],{"type":25,"value":87},{"type":20,"tag":66,"props":1579,"children":1580},{"style":244},[1581],{"type":25,"value":1582},"string",{"type":20,"tag":66,"props":1584,"children":1585},{"style":215},[1586],{"type":25,"value":1587}," name",{"type":20,"tag":66,"props":1589,"children":1590},{"style":73},[1591],{"type":25,"value":237},{"type":20,"tag":66,"props":1593,"children":1594},{"class":68,"line":388},[1595,1599,1603,1608,1613,1617,1621],{"type":20,"tag":66,"props":1596,"children":1597},{"style":307},[1598],{"type":25,"value":334},{"type":20,"tag":66,"props":1600,"children":1601},{"style":151},[1602],{"type":25,"value":1429},{"type":20,"tag":66,"props":1604,"children":1605},{"style":73},[1606],{"type":25,"value":1607},"().",{"type":20,"tag":66,"props":1609,"children":1610},{"style":151},[1611],{"type":25,"value":1612},"CreateCloudTableClient",{"type":20,"tag":66,"props":1614,"children":1615},{"style":73},[1616],{"type":25,"value":1607},{"type":20,"tag":66,"props":1618,"children":1619},{"style":151},[1620],{"type":25,"value":412},{"type":20,"tag":66,"props":1622,"children":1623},{"style":73},[1624],{"type":25,"value":1625},"(name);\n",{"type":20,"tag":66,"props":1627,"children":1628},{"class":68,"line":436},[1629],{"type":20,"tag":66,"props":1630,"children":1631},{"style":73},[1632],{"type":25,"value":1545},{"type":20,"tag":66,"props":1634,"children":1635},{"class":68,"line":500},[1636],{"type":20,"tag":66,"props":1637,"children":1638},{"emptyLinePlaceholder":382},[1639],{"type":25,"value":385},{"type":20,"tag":66,"props":1641,"children":1642},{"class":68,"line":539},[1643,1647,1651,1655,1659,1663,1668,1672,1676,1680,1685,1689,1694,1698,1703,1707,1711,1716,1720,1724,1729],{"type":20,"tag":66,"props":1644,"children":1645},{"style":115},[1646],{"type":25,"value":1415},{"type":20,"tag":66,"props":1648,"children":1649},{"style":115},[1650],{"type":25,"value":123},{"type":20,"tag":66,"props":1652,"children":1653},{"style":115},[1654],{"type":25,"value":128},{"type":20,"tag":66,"props":1656,"children":1657},{"style":79},[1658],{"type":25,"value":133},{"type":20,"tag":66,"props":1660,"children":1661},{"style":73},[1662],{"type":25,"value":138},{"type":20,"tag":66,"props":1664,"children":1665},{"style":79},[1666],{"type":25,"value":1667},"T",{"type":20,"tag":66,"props":1669,"children":1670},{"style":73},[1671],{"type":25,"value":148},{"type":20,"tag":66,"props":1673,"children":1674},{"style":151},[1675],{"type":25,"value":465},{"type":20,"tag":66,"props":1677,"children":1678},{"style":73},[1679],{"type":25,"value":138},{"type":20,"tag":66,"props":1681,"children":1683},{"style":1682},"--shiki-default:#3A94C5;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic",[1684],{"type":25,"value":1667},{"type":20,"tag":66,"props":1686,"children":1687},{"style":73},[1688],{"type":25,"value":479},{"type":20,"tag":66,"props":1690,"children":1691},{"style":115},[1692],{"type":25,"value":1693},"this",{"type":20,"tag":66,"props":1695,"children":1696},{"style":79},[1697],{"type":25,"value":1568},{"type":20,"tag":66,"props":1699,"children":1700},{"style":215},[1701],{"type":25,"value":1702}," cloudTable",{"type":20,"tag":66,"props":1704,"children":1705},{"style":73},[1706],{"type":25,"value":189},{"type":20,"tag":66,"props":1708,"children":1709},{"style":244},[1710],{"type":25,"value":1582},{"type":20,"tag":66,"props":1712,"children":1713},{"style":215},[1714],{"type":25,"value":1715}," partitionKey",{"type":20,"tag":66,"props":1717,"children":1718},{"style":73},[1719],{"type":25,"value":189},{"type":20,"tag":66,"props":1721,"children":1722},{"style":244},[1723],{"type":25,"value":1582},{"type":20,"tag":66,"props":1725,"children":1726},{"style":215},[1727],{"type":25,"value":1728}," rowKey",{"type":20,"tag":66,"props":1730,"children":1731},{"style":73},[1732],{"type":25,"value":1733},")\n",{"type":20,"tag":66,"props":1735,"children":1736},{"class":68,"line":576},[1737,1742,1747,1752,1757],{"type":20,"tag":66,"props":1738,"children":1739},{"style":115},[1740],{"type":25,"value":1741},"        where",{"type":20,"tag":66,"props":1743,"children":1744},{"style":1682},[1745],{"type":25,"value":1746}," T",{"type":20,"tag":66,"props":1748,"children":1749},{"style":73},[1750],{"type":25,"value":1751},":",{"type":20,"tag":66,"props":1753,"children":1754},{"style":79},[1755],{"type":25,"value":1756},"TableEntity",{"type":20,"tag":66,"props":1758,"children":1759},{"style":73},[1760],{"type":25,"value":1407},{"type":20,"tag":66,"props":1762,"children":1763},{"class":68,"line":600},[1764,1768,1773,1777,1781,1786,1790,1795,1800,1804,1808],{"type":20,"tag":66,"props":1765,"children":1766},{"style":244},[1767],{"type":25,"value":1442},{"type":20,"tag":66,"props":1769,"children":1770},{"style":73},[1771],{"type":25,"value":1772}," tableResult ",{"type":20,"tag":66,"props":1774,"children":1775},{"style":115},[1776],{"type":25,"value":257},{"type":20,"tag":66,"props":1778,"children":1779},{"style":307},[1780],{"type":25,"value":455},{"type":20,"tag":66,"props":1782,"children":1783},{"style":73},[1784],{"type":25,"value":1785}," cloudTable.",{"type":20,"tag":66,"props":1787,"children":1788},{"style":151},[1789],{"type":25,"value":661},{"type":20,"tag":66,"props":1791,"children":1792},{"style":73},[1793],{"type":25,"value":1794},"(TableOperation.",{"type":20,"tag":66,"props":1796,"children":1797},{"style":151},[1798],{"type":25,"value":1799},"Retrieve",{"type":20,"tag":66,"props":1801,"children":1802},{"style":73},[1803],{"type":25,"value":138},{"type":20,"tag":66,"props":1805,"children":1806},{"style":79},[1807],{"type":25,"value":1667},{"type":20,"tag":66,"props":1809,"children":1810},{"style":73},[1811],{"type":25,"value":1812},">(partitionKey, rowKey));\n",{"type":20,"tag":66,"props":1814,"children":1815},{"class":68,"line":623},[1816,1820,1825,1829,1834,1839],{"type":20,"tag":66,"props":1817,"children":1818},{"style":307},[1819],{"type":25,"value":334},{"type":20,"tag":66,"props":1821,"children":1822},{"style":73},[1823],{"type":25,"value":1824}," (",{"type":20,"tag":66,"props":1826,"children":1827},{"style":79},[1828],{"type":25,"value":1667},{"type":20,"tag":66,"props":1830,"children":1831},{"style":73},[1832],{"type":25,"value":1833},")tableResult.",{"type":20,"tag":66,"props":1835,"children":1836},{"style":181},[1837],{"type":25,"value":1838},"Result",{"type":20,"tag":66,"props":1840,"children":1841},{"style":73},[1842],{"type":25,"value":643},{"type":20,"tag":66,"props":1844,"children":1845},{"class":68,"line":646},[1846],{"type":20,"tag":66,"props":1847,"children":1848},{"style":73},[1849],{"type":25,"value":1545},{"type":20,"tag":66,"props":1851,"children":1852},{"class":68,"line":669},[1853],{"type":20,"tag":66,"props":1854,"children":1855},{"style":73},[1856],{"type":25,"value":741},{"type":20,"tag":47,"props":1858,"children":1860},{"id":1859},"to-compile",[1861],{"type":25,"value":1862},"To compile",{"type":20,"tag":21,"props":1864,"children":1865},{},[1866,1868,1873],{"type":25,"value":1867},"If you want to compile this, or Google led you here looking for code to do a simple page counter, here's the missing ",{"type":20,"tag":62,"props":1869,"children":1871},{"className":1870},[],[1872],{"type":25,"value":1756},{"type":25,"value":1874}," class;",{"type":20,"tag":54,"props":1876,"children":1878},{"className":56,"code":1877,"language":58,"meta":59,"style":59},"public class PageViewCount : TableEntity\n{\n    public PageViewCount(string pageName)\n    {\n        PartitionKey = \"damieng.com\";\n        RowKey = pageName;\n    }\n\n    public PageViewCount() { }\n    public int ViewCount { get; set; }\n}\n",[1879],{"type":20,"tag":62,"props":1880,"children":1881},{"__ignoreMap":59},[1882,1907,1915,1943,1951,1980,1997,2004,2011,2027,2063],{"type":20,"tag":66,"props":1883,"children":1884},{"class":68,"line":69},[1885,1889,1893,1897,1902],{"type":20,"tag":66,"props":1886,"children":1887},{"style":115},[1888],{"type":25,"value":118},{"type":20,"tag":66,"props":1890,"children":1891},{"style":307},[1892],{"type":25,"value":1396},{"type":20,"tag":66,"props":1894,"children":1895},{"style":1399},[1896],{"type":25,"value":516},{"type":20,"tag":66,"props":1898,"children":1899},{"style":73},[1900],{"type":25,"value":1901}," : ",{"type":20,"tag":66,"props":1903,"children":1904},{"style":79},[1905],{"type":25,"value":1906},"TableEntity\n",{"type":20,"tag":66,"props":1908,"children":1909},{"class":68,"line":111},[1910],{"type":20,"tag":66,"props":1911,"children":1912},{"style":73},[1913],{"type":25,"value":1914},"{\n",{"type":20,"tag":66,"props":1916,"children":1917},{"class":68,"line":162},[1918,1922,1926,1930,1934,1939],{"type":20,"tag":66,"props":1919,"children":1920},{"style":115},[1921],{"type":25,"value":1415},{"type":20,"tag":66,"props":1923,"children":1924},{"style":151},[1925],{"type":25,"value":516},{"type":20,"tag":66,"props":1927,"children":1928},{"style":73},[1929],{"type":25,"value":87},{"type":20,"tag":66,"props":1931,"children":1932},{"style":244},[1933],{"type":25,"value":1582},{"type":20,"tag":66,"props":1935,"children":1936},{"style":215},[1937],{"type":25,"value":1938}," pageName",{"type":20,"tag":66,"props":1940,"children":1941},{"style":73},[1942],{"type":25,"value":1733},{"type":20,"tag":66,"props":1944,"children":1945},{"class":68,"line":240},[1946],{"type":20,"tag":66,"props":1947,"children":1948},{"style":73},[1949],{"type":25,"value":1950},"    {\n",{"type":20,"tag":66,"props":1952,"children":1953},{"class":68,"line":303},[1954,1959,1963,1968,1972,1976],{"type":20,"tag":66,"props":1955,"children":1956},{"style":73},[1957],{"type":25,"value":1958},"        PartitionKey ",{"type":20,"tag":66,"props":1960,"children":1961},{"style":115},[1962],{"type":25,"value":257},{"type":20,"tag":66,"props":1964,"children":1965},{"style":90},[1966],{"type":25,"value":1967}," \"",{"type":20,"tag":66,"props":1969,"children":1970},{"style":96},[1971],{"type":25,"value":488},{"type":20,"tag":66,"props":1973,"children":1974},{"style":90},[1975],{"type":25,"value":93},{"type":20,"tag":66,"props":1977,"children":1978},{"style":73},[1979],{"type":25,"value":643},{"type":20,"tag":66,"props":1981,"children":1982},{"class":68,"line":328},[1983,1988,1992],{"type":20,"tag":66,"props":1984,"children":1985},{"style":73},[1986],{"type":25,"value":1987},"        RowKey ",{"type":20,"tag":66,"props":1989,"children":1990},{"style":115},[1991],{"type":25,"value":257},{"type":20,"tag":66,"props":1993,"children":1994},{"style":73},[1995],{"type":25,"value":1996}," pageName;\n",{"type":20,"tag":66,"props":1998,"children":1999},{"class":68,"line":378},[2000],{"type":20,"tag":66,"props":2001,"children":2002},{"style":73},[2003],{"type":25,"value":1545},{"type":20,"tag":66,"props":2005,"children":2006},{"class":68,"line":388},[2007],{"type":20,"tag":66,"props":2008,"children":2009},{"emptyLinePlaceholder":382},[2010],{"type":25,"value":385},{"type":20,"tag":66,"props":2012,"children":2013},{"class":68,"line":436},[2014,2018,2022],{"type":20,"tag":66,"props":2015,"children":2016},{"style":115},[2017],{"type":25,"value":1415},{"type":20,"tag":66,"props":2019,"children":2020},{"style":151},[2021],{"type":25,"value":516},{"type":20,"tag":66,"props":2023,"children":2024},{"style":73},[2025],{"type":25,"value":2026},"() { }\n",{"type":20,"tag":66,"props":2028,"children":2029},{"class":68,"line":500},[2030,2034,2039,2044,2048,2053,2058],{"type":20,"tag":66,"props":2031,"children":2032},{"style":115},[2033],{"type":25,"value":1415},{"type":20,"tag":66,"props":2035,"children":2036},{"style":244},[2037],{"type":25,"value":2038}," int",{"type":20,"tag":66,"props":2040,"children":2041},{"style":73},[2042],{"type":25,"value":2043}," ViewCount { ",{"type":20,"tag":66,"props":2045,"children":2046},{"style":244},[2047],{"type":25,"value":198},{"type":20,"tag":66,"props":2049,"children":2050},{"style":73},[2051],{"type":25,"value":2052},"; ",{"type":20,"tag":66,"props":2054,"children":2055},{"style":244},[2056],{"type":25,"value":2057},"set",{"type":20,"tag":66,"props":2059,"children":2060},{"style":73},[2061],{"type":25,"value":2062},"; }\n",{"type":20,"tag":66,"props":2064,"children":2065},{"class":68,"line":539},[2066],{"type":20,"tag":66,"props":2067,"children":2068},{"style":73},[2069],{"type":25,"value":741},{"type":20,"tag":21,"props":2071,"children":2072},{},[2073],{"type":20,"tag":2074,"props":2075,"children":2076},"em",{},[2077],{"type":25,"value":2078},"[)amien",{"type":20,"tag":2080,"props":2081,"children":2082},"style",{},[2083],{"type":25,"value":2084},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":59,"searchDepth":111,"depth":111,"links":2086},[2087,2088,2089,2090,2091],{"id":49,"depth":111,"text":52},{"id":744,"depth":111,"text":747},{"id":1293,"depth":111,"text":1296},{"id":1368,"depth":111,"text":1371},{"id":1859,"depth":111,"text":1862},"markdown","content:blog:2018:azure-functions-differences-v1-v2.md","content","blog/2018/azure-functions-differences-v1-v2.md","blog/2018/azure-functions-differences-v1-v2","md","/blog/2018/azure-functions-differences-v1-v2/",669,[2101,2105,2109],{"title":2102,"date":2103,"url":2104},"HTML5 Video Cheatsheet: Optimizing videos for the web","2025-12-05T00:00:00Z","/blog/2025/html5-video-cheatsheet/",{"title":2106,"date":2107,"url":2108},"Transactions in the MongoDB EF Core Provider","2025-10-25","/blog/2025/mongodb-explicit-transactions/",{"title":2110,"date":2111,"url":2112},"Queryable Encryption with the MongoDB EF Core Provider","2025-09-22","/blog/2025/mongodb-queryable-encryption/",[2114,2134],{"_path":2115,"_dir":2116,"_draft":6,"_partial":6,"_locale":7,"title":2117,"description":2118,"id":2119,"date":2120,"name":2121,"avatar":2122,"body":2123,"_type":2092,"_id":2131,"_source":2094,"_file":2132,"_stem":2133,"_extension":2097},"/comments/azure-functions-differences-v1-v2/a5edbd5d","azure-functions-differences-v1-v2","A5edbd5d","The explanation was helpful! Thanks.","a5edbd5d","2018-11-20T05:50:58.4075040Z","Rahul","https://secure.gravatar.com/avatar/8ef66cd25d112d49d749e8dd3568e581?s=80&d=identicon&r=pg",{"type":17,"children":2124,"toc":2129},[2125],{"type":20,"tag":21,"props":2126,"children":2127},{},[2128],{"type":25,"value":2118},{"title":59,"searchDepth":111,"depth":111,"links":2130},[],"content:comments:azure-functions-differences-v1-v2:a5edbd5d.md","comments/azure-functions-differences-v1-v2/a5edbd5d.md","comments/azure-functions-differences-v1-v2/a5edbd5d",{"_path":2135,"_dir":2116,"_draft":6,"_partial":6,"_locale":7,"title":2136,"description":2137,"id":2136,"date":2138,"name":2139,"avatar":2140,"body":2141,"_type":2092,"_id":2149,"_source":2094,"_file":2150,"_stem":2151,"_extension":2097},"/comments/azure-functions-differences-v1-v2/4bd57096","4bd57096","Thank you for explaining with example. Superb!!!","2018-07-13T06:25:35.9306826Z","Anjum Rizwi","https://unavatar.io/twitter/@anjumrizwi",{"type":17,"children":2142,"toc":2147},[2143],{"type":20,"tag":21,"props":2144,"children":2145},{},[2146],{"type":25,"value":2137},{"title":59,"searchDepth":111,"depth":111,"links":2148},[],"content:comments:azure-functions-differences-v1-v2:4bd57096.md","comments/azure-functions-differences-v1-v2/4bd57096.md","comments/azure-functions-differences-v1-v2/4bd57096",1779264581832]