<!doctypehtml><html lang=en><link href=https://apps.developermedia.com rel=preconnect><link href=https://cdn1.developermedia.com rel=preconnect><link href=https://cdn.ampproject.org rel=preconnect><link href=https://fonts.googleapis.com rel=preconnect><link href=https://ajax.googleapis.com rel=preconnect><link href=https://adservice.google.com rel=preconnect><link href=https://www.googletagservices.com rel=preconnect><link href=https://www.googletagmanager.com rel=preconnect><link href=https://www.google.com rel=preconnect><link href=https://www.google-analytics.com rel=preconnect><link href=https://pagead2.googlesyndication.com rel=preconnect><link href=https://www.codeproject.com rel=preconnect><link as=image href=https://www.codeproject.com/App_Themes/CodeProject/Img/Halloween/logo250x135.gif rel=preload><link as=image href=/App_Themes/CodeProject/Img/logo135-bg.gif rel=preload><link as=script href=https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js rel=preload type=text/javascript><title>
   Azure Content Delivery Network (CDN) – A Walk Though - CodeProject
  </title><link href=https://www.codeproject.com/App_Themes/CodeProject/Css/Main.min.css?dt=2.8.20211028.1 rel=stylesheet><script defer src=https://www.codeproject.com/script/JS/jquery-2.2.4.min.js></script><script defer src=https://www.codeproject.com/script/Articles/JS/article.min.js?dt=2.8.20211028.1></script><script async defer src=https://accounts.google.com/gsi/client></script><script defer src=/script/JS/advertisement.min.js></script><script defer src=/script/Membership/JS/MemberProfilePopup.min.js?v=1.4></script><script defer src=/a.min.js?v=1.3></script><meta content=en-US http-equiv=content-language><meta charset=utf-8><meta content="This post is going to walk through about Azure Content Delivery Network (CDN)."name=Description><meta content="Azure, cloud"name=Keywords><meta content="Sibeesh Passion"name=Author><meta content=General name=Rating><meta content="1 days"name=Revisit-After><meta content=CodeProject name=application-name><meta content=d908bb7ce7aff658-4c2f3a504525c916-g629383f736781a8a-13 name=google-translate-customization><link href=//ajax.googleapis.com rel=dns-prefetch><link href=https://www.codeproject.com/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though rel=canonical><meta content=summary name=twitter:card><meta content=@CodeProject name=twitter:site><meta content=CodeProject name=og:site_name><meta content=@SibeeshVenu name=twitter:creator><meta content=article property=og:type><meta content="5/27/2017 10:43:00 AM"property=article:published_time><meta content="5/27/2017 12:34:00 PM"property=article:modified_time><meta content="Written by"name=twitter:label1><meta content="Sibeesh Passion"name=twitter:data1><meta content="Reading time"name=twitter:label2><meta content="5 min read"name=twitter:data2><meta content=https://www.codeproject.com/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though property=og:url><meta content="Azure Content Delivery Network (CDN) – A Walk Though"property=og:title><meta content="This post is going to walk through about Azure Content Delivery Network (CDN)."property=og:description><link title="CodeProject Latest articles - All Topics"href=https://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=1 rel=alternate type=application/rss+xml><link title="CodeProject Latest articles - Python"href=https://www.codeproject.com/WebServices/ArticleRSS.aspx?cat=34 rel=alternate type=application/rss+xml><link title="CodeProject Lounge Postings"href=https://www.codeproject.com/webservices/LoungeRSS.aspx rel=alternate type=application/rss+xml><meta content="index, follow"name=robots><link href=https://www.codeproject.com/info/OpenSearch.xml rel=search title=CodeProject type=application/opensearchdescription+xml><meta content=width=device-width,initial-scale=1.0 name=viewport><link href=/favicon/apple-touch-icon.png rel=apple-touch-icon sizes=144x144><link href=/favicon/favicon-32x32.png rel=icon sizes=32x32 type=image/png><link href=/favicon/favicon-16x16.png rel=icon sizes=16x16 type=image/png><link href=/favicon/manifest.json rel=manifest><link color=#ff9900 href=/favicon/safari-pinned-tab.svg rel=mask-icon><script type=application/ld+json>
   {
  "@context": "http://schema.org",
  "@type": "TechArticle",
  "mainEntityOfPage": {
    "@type": "WebPage",
    "@id": "https://www.codeproject.com/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though"
   },
  "name": "Azure Content Delivery Network (CDN) – A Walk Though",
  "headline": "Azure Content Delivery Network (CDN) – A Walk Though",
  "url": "https://www.codeproject.com/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though",
  "discussionUrl": "https://www.codeproject.com/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though#_comments",
  "isFamilyFriendly": "true",
  "image": "https://codeproject.global.ssl.fastly.net/App_Themes/CodeProject/Img/Article100.png",
  "keywords": "Azure,cloud",
  "commentCount": "0",
  "editor" : {
    "@type" : "Person",
    "name" : "Sibeesh Passion",
    "url" : "https://www.codeproject.com/script/Membership/View.aspx?mid=11316299"
  },
  "license": "http://www.opensource.org/licenses/mit-license.php",
  "publisher" : {
    "@type" : "Organization",
    "name" : "CodeProject"
  },
  "description": "This post is going to walk through about Azure Content Delivery Network (CDN).",
  "articleSection": "Azure",
  "author" : [{
      "@type" : "Person",
      "name" : "Sibeesh Passion",
      "url" : "https://www.codeproject.com/script/Membership/View.aspx?mid=11316299"
    }],
  "datePublished": "2017-05-27",
  "dateCreated": "2017-05-27",
  "dateModified": "2017-05-27"
,
  "contentRating" : {
    "@type" : "Rating",
    "ratingValue" : 5.00,
    "bestRating" : 5,
    "worstRating" : 1
  }
}
  </script><script type=application/ld+json>
   {
  "@context": "http://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [{
    "@type": "ListItem",
    "position": 1,
    "item" : {
      "@id" : "/script/Content/Tag.aspx?tags=Hosted-services",
      "name" : "Hosted Services"
    }
  },{
    "@type": "ListItem",
    "position": 2,
    "item" : {
      "@id" : "/script/Content/Tag.aspx?tags=Azure",
      "name" : "Azure"
    }
  }]
}
  </script><base target=_top><script>function defrm () { /* thanks twitter */
    document.write = '';
    window.top.location = window.self.location;
    setTimeout(function() { document.body.innerHTML = ''; }, 0);
    window.self.onload = function(evt) { document.body.innerHTML = ''; };
}

if (window.top !== window.self) {
    try {
        if (window.top.location.host) { /* will throw for all except chrome */ }
        else { defrm(); /* chrome */ }
    } catch (ex) { defrm(); /* everyone else */ }
}

// Specific case where a site is screwing with us.
if (typeof(DemoUrl) !== 'undefined') {
    document.write(unescape('%3Cme') + 'ta http' + '-equiv="re' + 'fresh con' +
                           'tent="1;url=' + DemoUrl + unescape('"%3CE'));
}</script><script async src=https://www.googletagmanager.com/gtag/js?id=G-YZNPNQ0F2S></script><script>window.dataLayer = window.dataLayer || [];
        function gtag() { dataLayer.push(arguments); }
        gtag('js', new Date());

        gtag('config', 'G-YZNPNQ0F2S' );</script><body class="python-requests python-requests2"><div id=ctl00_OneTap_OneTap><div data-client_id=857795997829.apps.googleusercontent.com data-login_uri=/script/Membership/OAuthLogOn.aspx?auth=Google id=g_id_onload></div></div><a class=access-link href=#Main> <img alt="Click here to Skip to main content"src=https://www.codeproject.com/images/t.gif> </a><div class=page-background><div class="site-top-menu fixed"id=ctl00_STM><div class=main-content><div class="container memberbar clearfix flex-container flex-extend"><div class="flex-item align-left"id=ctl00_MemberBar_GenInfo>15,081,049 members</div><div class=flex-item></div><div class="flex-item align-right"><script>//<!--
			function doSubmit(secure)
			{
				if (secure)
					document.signinForm.action = "https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though"
				else
					document.signinForm.action = "https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though"
				document.signinForm.submit();
				return true;
			}//--></script><a name=SignUp> </a><span class="member-signin tooltip openable"> <span> <a href=https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though> Sign in </a> <img height=16 src=https://www.codeproject.com/App_Themes/CodeProject/Img/login32.png style=vertical-align:middle; width=16> </span> <div class=tooltip-flyout><form action=https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though class=tight id=signinForm method=post name=signinForm><input id=FormName name=FormName type=hidden value=MenuBarForm><div>Email</div><div><input autocomplete=email class=small-text id=Email name=Email type=email></div><div>Password</div><div><input autocomplete=current-password class=small-text id=Password name=Password type=password></div><div class=action><input class="create hidden"onclick="return Join();"id=joinBtn type=button value=Join><input name=fld_quicksign type=hidden value=true><input onclick="return doSubmit(false);"value="Sign in"class=signin type=submit></div><div class=container>  <a class="forgot float-right"href=/script/Membership/SendPassword.aspx?rp=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though id=ctl00_MemberBar_SendPassword> Forgot your password? </a></div></form><hr class=divider-dark> Sign in with <a alt="Sign in using Github"title="Sign in using Github"class=oauth href=/script/Membership/OAuthLogOn.aspx?auth=GitHub> <img src=/script/Membership/Images/octicons_github.png style=vertical-align:middle;padding-right:3px;border:0;> </a><a alt="Sign in using Facebook"title="Sign in using Facebook"class=oauth href=/script/Membership/OAuthLogOn.aspx?auth=Facebook> <img src=/script/Membership/Images/facebook.png style=vertical-align:middle;padding-right:3px;border:0;> </a><a alt="Sign in using Google"title="Sign in using Google"class=oauth href=/script/Membership/OAuthLogOn.aspx?auth=Google> <img src=/script/Membership/Images/google-plus.png style=vertical-align:middle;padding-right:3px;border:0;> </a><a alt="Sign in using Microsoft"title="Sign in using Microsoft"class=oauth href=/script/Membership/OAuthLogOn.aspx?auth=Microsoft> <img src=/script/Membership/Images/microsoft.png style=vertical-align:middle;padding-right:3px;border:0;> </a></div> </span></div></div></div></div><div class="site-header fixed"id=ctl00_SH><div class=main-content><div class=logo><a href=/> <img alt=Home border=0 height=135 id=ctl00_Logo src=https://www.codeproject.com/App_Themes/CodeProject/Img/Halloween/logo250x135.gif tabindex=1 title=CodeProject width=250> </a></div><div class=promo><div data-tags="Azure, cloud,rating4.5"class=msg-728x90 data-country=US data-format=728x90 data-publisher=lqm.codeproject.site data-type=ad data-zone=Hosted-ServicesAzure><noscript><a href=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=728x90&c=999899> <img height=90px src=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=728x90&c=999899 target=_blank width=728px> </a></noscript></div></div></div></div><div class="sub-headerbar clearfix fixed"id=ctl00_TPR><div class=float-right><div class=searchbar><form action=/search.aspx?sbo=kw class=tight name=Search><table border=0 cellpadding=0 cellspacing=0 class=search><tbody><tr><td><input autocomplete=off class=search id=sb_tb name=q tabindex=2><td><input src=https://www.codeproject.com/images/search.gif type=image></table><div class=hover-container><div class="search-advanced popup small-text align-left"id=SearchFilter><b> Search within: <br> </b><input checked id=sb_kw name=sbo type=radio value=kw><label for=sb_kw>Articles</label><br><input id=sb_qa name=sbo type=radio value=qa><label for=sb_qa>Quick Answers</label><br><input id=sb_fm name=sbo type=radio value=fm><label for=sb_fm>Messages</label><br></div></div></form></div></div><div class=float-left><div class="navbar clearfix"><ul class="navmenu openable"><li class=desktop-only><a href=https://www.codeproject.com id=ctl00_TopNavBar_Home> home </a><li class=openable><a class="down selected"href=/script/Articles/Latest.aspx id=ctl00_TopNavBar_Art> articles </a> <ul><li class=openable><a onmouseover="navBarMenu.ShowMap(this, 'ctl00_TopNavBar_MapFlyout');"class=fly href=/script/Content/SiteMap.aspx id=ctl00_TopNavBar_ArtTopicList> Browse Topics <span class=has-submenu> > </span> </a> <ul class=taxonomy id=ctl00_TopNavBar_MapFlyout><li><div id=siteMap></div></ul><li><a class=fly href=/script/Articles/Latest.aspx id=ctl00_TopNavBar_ArtLatestArts> Latest Articles </a><li><a class=fly href=/script/Articles/TopArticles.aspx?ta_so=5 id=ctl00_TopNavBar_ArtTop> Top Articles </a><li><a class=fly href=/info/Submit.aspx id=ctl00_TopNavBar_ArtGuide> Posting/Update Guidelines </a><li><a class=fly href=/Forums/1641/Article-Writing id=ctl00_TopNavBar_ArtHelpForum> Article Help Forum </a><li><a class="fly highlight1"href=/script/Articles/Submit.aspx id=ctl00_TopNavBar_ArtPostArticle> <img height=13 src=https://www.codeproject.com/images/write13.png width=13> Submit an article or tip </a><li><a class="fly highlight3"href=/script/Articles/ImportArticle.aspx id=ctl00_TopNavBar_ArtImportGitHub> <img height=13 src=https://www.codeproject.com/images/write13.png width=13> Import GitHub Project </a><li><a class="fly highlight2"href=/script/Articles/BlogFeed.aspx id=ctl00_TopNavBar_ArtPostBlog> <img height=13 src=https://www.codeproject.com/images/write13.png width=13> Import your Blog </a><li class=last></ul><li class=openable><a href=/script/Answers/List.aspx?tab=active id=ctl00_TopNavBar_Answers> <span class="desktop-only tablet-only"> quick answers </span> <span class=mobile-only> Q&A </span> </a> <ul><li id=ctl00_TopNavBar_AQL><a class="fly highlight1"href=#_comments id=ctl00_TopNavBar_ArticleQuestion> <img height=13 src=https://www.codeproject.com/images/write13.png width=13> Ask a Question about this article </a><li><a class="fly highlight2"href=/Questions/ask.aspx id=ctl00_TopNavBar_QAAsk> <img height=13 src=https://www.codeproject.com/images/write13.png width=13> Ask a Question </a><li><a class=fly href=/script/Answers/List.aspx?tab=unanswered id=ctl00_TopNavBar_QAUnanswered> View Unanswered Questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active id=ctl00_TopNavBar_QALatest> View All Questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active&ampamp;alltags=true&ampamp;tags=81 id=ctl00_TopNavBar_QATR_ctl00_Tag style=padding-left:30px> View C# questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active&ampamp;alltags=true&ampamp;tags=78 id=ctl00_TopNavBar_QATR_ctl01_Tag style=padding-left:30px> View C++ questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active&ampamp;alltags=true&ampamp;tags=87 id=ctl00_TopNavBar_QATR_ctl02_Tag style=padding-left:30px> View Javascript questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active&ampamp;alltags=true&ampamp;tags=268 id=ctl00_TopNavBar_QATR_ctl03_Tag style=padding-left:30px> View Python questions </a><li><a class=fly href=/script/Answers/List.aspx?tab=active&ampamp;alltags=true&ampamp;tags=91 id=ctl00_TopNavBar_QATR_ctl04_Tag style=padding-left:30px> View Java questions </a><li class=last></ul><li class=openable><a href=/script/Forums/List.aspx id=ctl00_TopNavBar_Forums> <span class="desktop-only tablet-only"> discussions </span> <span class=mobile-only> forums </span> </a> <ul><li><a class=fly href=/script/Forums/List.aspx id=ctl00_TopNavBar_MessageBoardsAll> All Message Boards... </a><li class=openable><a class=fly href=/Forums/1580997/Application-Lifecycle style=padding-left:30px> Application Lifecycle <span class=has-submenu> > </span> </a> <ul class=openable><li><a class=fly href=/Forums/1533717/Running-a-Business> Running a Business </a><li><a class=fly href=/Forums/1533716/Sales-Marketing> Sales / Marketing </a><li><a class=fly href=/Forums/1651/Collaboration-Beta-Testing> Collaboration / Beta Testing </a><li><a class=fly href=/Forums/3304/Work-Issues> Work Issues </a></ul><li><a class=fly href=/Forums/369270/Design-and-Architecture style=padding-left:30px> Design and Architecture </a><li><a class=fly href=/Forums/1969389/Artificial-Intelligence style=padding-left:30px> Artificial Intelligence </a><li><a class=fly href=/Forums/12076/ASP-NET style=padding-left:30px> ASP.NET </a><li><a class=fly href=/Forums/1580226/JavaScript style=padding-left:30px> JavaScript </a><li><a class=fly href=/Forums/1969388/Internet-of-Things style=padding-left:30px> Internet of Things </a><li class=openable><a class=fly href=/Forums/1647/C-Cplusplus-MFC style=padding-left:30px> C / C++ / MFC <span class=has-submenu> > </span> </a> <ul class=openable><li><a class=fly href=/Forums/4486/ATL-WTL-STL> ATL / WTL / STL </a><li><a class=fly href=/Forums/3785/Managed-Cplusplus-CLI> Managed C++/CLI </a></ul><li><a class=fly href=/Forums/1649/Csharp style=padding-left:30px> C# </a><li><a class=fly href=/Forums/1627782/Free-Tools style=padding-left:30px> Free Tools </a><li><a class=fly href=/Forums/1827460/Objective-C-and-Swift style=padding-left:30px> Objective-C and Swift </a><li><a class=fly href=/Forums/1725/Database style=padding-left:30px> Database </a><li class=openable><a class=fly href=/Forums/186301/Hardware-Devices style=padding-left:30px> Hardware & Devices <span class=has-submenu> > </span> </a> <ul class=openable><li><a class=fly href=/Forums/1644/System-Admin> System Admin </a></ul><li><a class=fly href=/Forums/1606152/Hosting-and-Servers style=padding-left:30px> Hosting and Servers </a><li><a class=fly href=/Forums/1643/Java style=padding-left:30px> Java </a><li><a class=fly href=/Forums/1942421/Linux-Programming style=padding-left:30px> Linux Programming </a><li><a class=fly href=/Forums/1650/NET-Core-and-Framework style=padding-left:30px> .NET (Core and Framework) </a><li><a class=fly href=/Forums/1848626/Android style=padding-left:30px> Android </a><li><a class=fly href=/Forums/1876716/iOS style=padding-left:30px> iOS </a><li><a class=fly href=/Forums/13695/Mobile style=padding-left:30px> Mobile </a><li><a class=fly href=/Forums/1004257/WPF style=padding-left:30px> WPF </a><li><a class=fly href=/Forums/1646/Visual-Basic style=padding-left:30px> Visual Basic </a><li><a class=fly href=/Forums/1640/Web-Development style=padding-left:30px> Web Development </a><li><a class=fly href=/suggestions.aspx style=padding-left:30px> Site Bugs / Suggestions </a><li><a class=fly href=/Forums/1652005/Spam-and-Abuse-Watch style=padding-left:30px> Spam and Abuse Watch </a><li class=last></ul><li class=openable><a href=/Feature/ id=ctl00_TopNavBar_Features> <span class="desktop-only tablet-only"> features </span> <span class=mobile-only> stuff </span> </a> <ul><li><a class=fly href=/script/Contests/CurrentCompetitions.aspx?cmpTpId=3&ampamp;awsac=true id=ctl00_TopNavBar_Comps> Competitions </a><li><a class=fly href=/script/Conferences/List.aspx id=ctl00_TopNavBar_Conferences> Conferences </a><li><a class=fly href=/script/News/List.aspx id=ctl00_TopNavBar_News> News </a><li><a class=fly href=/Feature/Insider/ id=ctl00_TopNavBar_Insider> The Insider Newsletter </a><li><a class=fly href=/Feature/DailyBuild id=ctl00_TopNavBar_DailyBuild> The Daily Build Newsletter </a><li><a class=fly href=/script/Mailouts/Archive.aspx?mtpid=1 id=ctl00_TopNavBar_Newsletters> Newsletter archive </a><li><a class=fly href=/script/Surveys/List.aspx id=ctl00_TopNavBar_Surveys> Surveys </a><li><a class=fly href=/KB/showcase/ id=ctl00_TopNavBar_Showcase> Product Showcase </a><li><a class=fly href=/Info/Stuff.aspx id=ctl00_TopNavBar_Stuff> CodeProject Stuff </a><li class=last></ul><li class=openable><a href=/Lounge.aspx id=ctl00_TopNavBar_Lounge> <span class="desktop-only tablet-only"> community </span> <span class=mobile-only> lounge </span> </a> <ul><li><a class=fly href=/script/Membership/Profiles.aspx id=ctl00_TopNavBar_WhosWho> Who's Who </a><li><a class="fly break"href=/script/Contests/Winners.aspx?obtid=1&ampamp;cmpTpId=2&ampamp;cid=0 id=ctl00_TopNavBar_MVPs> Most Valuable Professionals </a><li><a class="fly highlight2"href=/Lounge.aspx id=ctl00_TopNavBar_LoungeLnk> The Lounge   </a><li><a class="fly break"href=/Members/CodeProject#_comments id=ctl00_TopNavBar_SiteBlog> The CodeProject Blog </a><li><a class=fly href=/Forums/1939564/Where-I-am-Member-Photos id=ctl00_TopNavBar_WhereAmILink> Where I Am: Member Photos </a><li><a class=fly href=/Insider.aspx id=ctl00_TopNavBar_InsiderLnk> The Insider News </a><li><a class=fly href=/Feature/WeirdAndWonderful.aspx id=ctl00_TopNavBar_WeirdWonderful> The Weird & The Wonderful </a><li class=last></ul><li class=openable style=margin-left:20px><a href=/KB/FAQs/ id=ctl00_TopNavBar_Help> <span class="desktop-only tablet-only"> help </span> <span class=mobile-only> ? </span> </a> <ul><li><a class=fly href=/info/guide.aspx id=ctl00_TopNavBar_HelpWhatIs> What is 'CodeProject'? </a><li><a class="fly break"href=/KB/FAQs/ id=ctl00_TopNavBar_HelpGeneral> General FAQ </a><li><a class="fly break highlight2"href=/Questions/ask.aspx id=ctl00_TopNavBar_HelpPostQuestion> Ask a Question </a><li><a class=fly href=/suggestions.aspx id=ctl00_TopNavBar_HelpBugs> Bugs and Suggestions </a><li><a class=fly href=/Forums/1641/Article-Writing id=ctl00_TopNavBar_HelpArticles> Article Help Forum </a><li><a class=fly href=/info/about.aspx id=ctl00_TopNavBar_HelpAboutUs> About Us </a><li class=last></ul></ul></div></div><div class=sub-headerbar-divider></div></div><div class="container-content-wrap fixed"id=A><div class=container-content><div class=clearfix><div class="container-breadcrumb float-left"><div><a href=/script/Content/SiteMap.aspx rel=nofollow> Articles </a> / <a href=/script/Content/Tag.aspx?tags=Hosted-services rel=nofollow> Hosted Services </a> / <a href=/script/Content/Tag.aspx?tags=Azure rel=nofollow> Azure </a></div></div><div class=float-left></div><div class="edit-links float-right"> </div><div class="article-nav float-right"><div style=display:inline-block;position:relative;top:-6px;margin-right:20px></div><a data-enabletooltip=true data-tooltip=Print data-width=auto href=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though?display=Print id=ctl00_ActionLinks_PrintMd> <img height=24 src=/App_Themes/CodeProject/Img/print48.png style=border:0 width=24> </a><span id=ctl00_ActionLinks_R> </span></div></div><div class="extended article-container-parts"><div class=article-left-sidebar id=ctl00_LeftSideBar><div class=article-left-sidebar-inner id=ctl00_StickyBlock><div class=tabs><div class=selected>Article</div><div><a href=/script/Articles/Statistics.aspx?aid=1189316> View Stats </a></div><div><a href=/script/Articles/ListVersions.aspx?aid=1189316> Revisions (8) </a></div><div><a href=#_comments> Comments </a></div><div>Posted 27 May 2017</div></div><div><h4 id=ctl00_TaggedAsWrapper>Tagged as</h4><span class="tags vertical"id=ctl00_TagList_TagWrp> <span id=ctl00_TagList_VisibleTags> <div class=t><a data-id=319 href=/Tags/Azure rel=tag> Azure </a></div> <div class=t><a data-id=1120 href=/Tags/cloud rel=tag> cloud </a></div> </span> </span></div><div class=stats id=ctl00_VerticalStatsWrapper><h4>Stats</h4><div id=ctl00_VerticalStats><div class=stats><div>8.4K views</div><div>5 bookmarked</div></div></div></div></div></div><div class="article-container fixed"id=AT><div class=article><form action=./View.aspx id=aspnetForm method=post name=aspnetForm style=margin:0;padding:0><input id=__VIEWSTATE name=__VIEWSTATE type=hidden value=B+FOcweKdk2gSFRp+wpZejTNXyr7p2BcGPxISE2vylINWYGs51JZz3RzKfUbOsQmeSgjuplq02wGnMELzw569pPRuliBrBQfpPV3VP68O1TWb1giLNxt/rKZJEfFEb2gJE97lri8Egj6GZcxWoERx7zStK+tA724M3H+QEJbe+SNBDs643/PmT4DIP5Um04IvoTHbTTdTfEy5aawfEJO+MFupexjGlJf3WTkt5vZw2Jp6gOIvpk2b84Yl8fUnMZCLVLDNwQlAMvJ+553B+37mci/+NDFVCZDxb+i0O0pe7RK0avgzUBsDXvGNIDS4DlJWTvEYsNw9Wt8BGV7vegAgX19IIWONoBjEf7g5JdXROvu33pqI5C7oq7J6U3NJiKMq4sfGsCpPlySxyignRNd8w3Lc5Y6y6o1ogWa9quXUuRwcF1qViC07bhU0a3sMsgx+XG64MfEfCz5DklltnOyfq0hPJfah9SoJJ2/GnrUBW2iIS0AcuWlGavdzoxuBbLZNzrHNJGUN0kxtMhGZsYDvMdQkTIrGO3RvgixHpI3SJnlbmlDsjU5/XY05myJi0RgKxuq4B8Me8iVGfoot8HmKBzhfWtj+Vqp7NPqaxJFaiktEabRsY3t9m8zrn+YSG8dxGuJBR3bi9BYj9c51AcXrnpKyqMriaB/ubtvpObiEzoI7mnzIpOhLN93cjvuxB/tD0JqxswrceBb6u3JkugTpu8jKlvWGiwK/pRp97ydzuHWh/LlirigLIvhMLjcRmwiNhCiplyAOoeyUfDwOyfYfJZc4b1DZxdzvoAKFp57SGSpTnlQcxIWlfy5xj8wlqPATw9GQGKa7hBgp92CxExg1jcQgGtVbwveFzxp0urIeA79ZTM4S/bjP7snv0qcnSqHZPYFRV3dPhRdT5a+k9poKtgsY7Rw/a3LIkQU7m6Sg51N8rK4rG6jG2MTuDxDjKDzpbV6aWjmxl2VYm+3skixjjTalktkLf0cd/YedHN4BIIrDHOt7kh8eeIthoZiS4r+QyZiSl2Q22DlZOxlYQQ58YS/n3cI4687l0oYHbEiOfAXccEl1ZZpD6hZ/SBmeYYh95LOLGxMGF+WbKYl99iv/bzELHwOehf/0hzCcrhjjPTQmpWVJQ9qs7bw/W500+d4yxGkQ6UtjviYNIA72RG4P2uDruO3PYg2psF7iAqEy1iMjtVitfAMugxHge0z/cD6FzmIP2b+NutXA4jU02sOrEOWExFGR8rAFZ4McRfeEiQiA6KkiU7syIRnjbCS81g408PzAsthFya82EJoDoVsCptZLNEpjlrbjv9HjYUpHhuNyJFiT9bFc3hGJosdmOrUYNXXApUX9auOLNhAdGlYniJTl5Rs4MB9JHHSCcq64h9I3Uy3nUv8EzDMzlm2X8Po5WITCB7MO0K2HS1WdL0okGVnBiKoP6TKLkRrnCVCrrEKVAzbc5YaltmWbUaQfRnESdipbu6Z4FF2+hGAIsbcCK6G2RtQTzAsBGEnWdi0KM04RYdcuy0ELq4Z4kneOY8BgMxEZVOM3xRd2J3ddsWF400yImNRSbu/KevNuQ6sjT1lp8ZK1L3GNqpqVlJt56IORgRus1TppFdZ/Z8WRSsyohQxjeBtZVrZnw+9JxvLb7kAwK0aKSnXvZ5/RwZ4snonQYIOUuniodRs8M3m/dbA0yyBj/6tGAdL20rI9+QZl7qqOX6VTG7TZyOvEqSxK3mTb1UYoIGex2zhUk/ZqZ+e7YyDxzUI3RiZG/XR9Tj5ijEjLH8yPPO15VeZUknfKePqQDr6k21Kc4lB1GBIRUYK87ys3v521fWpgqbNq7W/hkiMFNxcjEi5lBL/Oc3TUdjgDBtmGQ0yEuFeEwUpoTR4k0WEI80Hdhx42Vx0/AZNuCLEqoMdt84E4fAKAhgSyobGGeHWufFAwjHF8ERdKCT7ZHLoqdtxIaCL7Y889x6IkBosr6fo4hgybhB6FD91q6d23AfGFFP1wZbO2t6LMH2YcRV0wZHh5DxAkfbt2eDqw5jAhvkKMKXxHzhA/DOU8QdudGZZMJhXTHs46U8QgJO9WqH/8+wRu1TiZGTuLccXMN7ozmES><input id=__VIEWSTATEGENERATOR name=__VIEWSTATEGENERATOR type=hidden value=10C1FD69><div class=header><a name=Main> </a><a id=_articleTop name=_articleTop> </a><div class=title><h1 id=ctl00_ArticleTitle>Azure Content Delivery Network (CDN) – A Walk Though</h1></div><div><div class="entry flex-container"><div class="avatar-wrap align-center"id=ctl00_avatarWrap><img class=avatar id=ctl00_avatar src=https://www.codeproject.com/script/Membership/ProfileImages/{4c3c106a-bb95-41f3-8551-dee787fa133e}.jpg></div><div style="flex:1 1 auto"class=flex-item><div class=flex-container style=justify-content:space-between;flex-wrap:wrap-reverse><span class="author flex-item"id=ctl00_Authors> <a href=/script/Membership/View.aspx?mid=11316299 rel=author> Sibeesh Passion </a> </span><div class=flex-item style=margin-top:-4px;><div class=small-text data-objectref=2_1189316_8 id=ctl00_RateArticle_RatingTable><meta content=4 itemprop=upvoteCount><div class="flex-container rating-container large-stars"id=ctl00_RateArticle_RatingRow><div class="rating-prompt nowrap"id=ctl00_RateArticle_Prompt>Rate me:</div><div class="nowrap tooltip"><div class=tooltip id=ctl00_RateArticle_RatingHistWrap><div class=rating-result id=ctl00_RateArticle_ResultWithHist><div class="flex-container rating-stars large-stars"><div><img src=https://codeproject.freetls.fastly.net/script/Ratings/Images/star-fill-lg.png style=width:24px;height:24px></div><div><img src=https://codeproject.freetls.fastly.net/script/Ratings/Images/star-fill-lg.png style=width:24px;height:24px></div><div><img src=https://codeproject.freetls.fastly.net/script/Ratings/Images/star-fill-lg.png style=width:24px;height:24px></div><div><img src=https://codeproject.freetls.fastly.net/script/Ratings/Images/star-fill-lg.png style=width:24px;height:24px></div><div><img src=https://codeproject.freetls.fastly.net/script/Ratings/Images/star-fill-lg.png style=width:24px;height:24px></div></div></div><div class=speech-bubble-container-up-right style=width:170px><div class=speech-bubble-up-right><div class=histogram></div></div><div class=speech-bubble-pointer-up-right><div class=speech-bubble-pointer-up-right-inner></div></div></div></div><span class=speech-bubble-container-down id=ctl00_RateArticle_RatingSignin> <div class=speech-bubble-down>Please <a href=https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though id=ctl00_RateArticle_SignUp> Sign up or sign in </a> to vote.</div> <div class=speech-bubble-pointer-down><div class=speech-bubble-pointer-down-inner></div></div> </span></div><div class="rating-votes nowrap"id=ctl00_RateArticle_VoteCountNoHist>5.00/5 (4 votes)</div><div title="Undo vote"class=rating-undo style=margin-left:5px;display:none></div></div></div></div></div><div class=flex-container><span class="date flex-item-tight"title="Date last updated"id=ctl00_LastUpdated> 27 May 2017 </span><a class="license flex-item-tight"title="The MIT License"href=http://www.opensource.org/licenses/mit-license.php id=ctl00_LicenseLink> MIT </a><span class="stats flex-item-tight"id=ctl00_ReadingTime> 5 min read </span></div></div></div></div><div class=summary id=ctl00_DescriptionSpot>This post is going to walk through about Azure Content Delivery Network (CDN).</div><span class=date content=https://codeproject.global.ssl.fastly.net/script/Articles/Images/article100x80.png id=ctl00_ThumbnailUrl> </span></div><div class=text id=contentdiv><h2>Table of contents</h2><ul><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#introduction> Introduction </a> <ul><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#what-is-a-cdn> What is a CDN </a><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#what-is-a-azure-cdn> What is a Azure CDN </a></ul><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#background> Background </a><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#creating-a-azure-cdn> Creating a Azure CDN </a><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#creating-a-custom-domain> Creating a Custom Domain </a><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#conclusion> Conclusion </a><li><a href=https://www.codeproject.com/Articles/1189316/AZURE-CONTENT-DELIVERY-NETWORK-CDN-A-WALKTHROUGH#your-turn-what-do-you-think> Your turn. What do you think? </a></ul><h3 id=Introduction>Introduction</h3><p>This post is going to walkthrough about  <a rel="noopener noreferrer"href=http://sibeeshpassion.com/category/Azure target=_blank> Azure </a>  Content Delivery Network (CDN). Before we go deep into Azure CDN, it is recommended that you must know What is a CDN and What is the use of a CDN? So let’s go and try to answer those.<h4 id=what-is-a-cdn>What is a CDN</h4><p>In our day to day life, we all open websites many times, how fast you area getting responses from those sites? Some might be loading very fast, others may be slow, have you ever thought why there is such a huge delay in giving response? There are a lot of possible reasons behind it, here we are going to discuss about one reason and a solution that we can do, that is CDN. With the help of a CDN, we can reduce the physical distance between the user and our website server, and we can cache our images and other contents, so that the contents can be serced quickly.<h4 id=what-is-a-azure-cdn>What is a Azure CDN</h4><p>Azure CDN, caches all the static contents that you have in your website, in different locations. Using a Azure CDN, can reduce the number of riund trips for getting the required contents, hence we get better performance and user experience.<p><a href=/KB/azure/1189316/cdn-overview.png> <img alt="Image 1"data-srcset="/KB/azure/1189316/cdn-overview-r-400.png 400w, /KB/azure/1189316/cdn-overview.png 640w"style="width: 640px; height: 355px"class=lazyload data-sizes=auto src=/KB/azure/1189316/cdn-overview.png> </a><p>Figure 1: cdn-overview<p>Image Courtesy: Microsoft Docs<p>Advantages of having a Azure CDN are listed below.<ul><li>Better performance for your apps and services<li>Global distributed network<li>Highly scalable infrastructure<li>Active redundancy and failover<li>High reliability<li>Robust security</ul><h3 id=background>Background</h3><p>I own a personal website( <a href=http://sibeeshpassion.com/ target=_blank> http://sibeeshpassion.com/ </a> ) and I wanted to make sure the end users of my site, get a better experience, creating a CDN is the first step towards it. And in this article I am just sharing how a Azure CDN can help in that. I hope you will like this.<h3 id=creating-a-azure-cdn>Creating a Azure CDN</h3><p>To create a CDN, you must login to  <a href=https://portal.azure.com/ target=_blank> https://portal.azure.com/ </a>  and then click on the New icon.<p><a href=/KB/azure/1189316/Azure_Create_New_Resource.png> <img alt="Image 2"data-srcset="/KB/azure/1189316/Azure_Create_New_Resource-r-400.png 400w, /KB/azure/1189316/Azure_Create_New_Resource.png 470w"style="width: 470px; height: 506px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Azure_Create_New_Resource.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 2: Azure Create New Resource<p>Now, search for CDN.<p><a href=/KB/azure/1189316/Search_for_CDN.png> <img alt="Image 3"data-srcset="/KB/azure/1189316/Search_for_CDN-r-400.png 400w, /KB/azure/1189316/Search_for_CDN.png 634w"style="width: 634px; height: 261px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Search_for_CDN.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 3: Search for CDN<p>Our next step is to create the CDN profile, to do so, you must fill the form according to your preferences.<p><a href=/KB/azure/1189316/Create_CDN_Profile.png> <img alt="Image 4"style="width: 393px; height: 817px"class=lazyload data-src=/KB/azure/1189316/Create_CDN_Profile.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 4: Create CDN Profile<p>Please be sure that you are checking your price tier and, as per your needs, you can select one. Here I am selecting S1 Standard Verizon.<p><a href=/KB/azure/1189316/Choose_the_Pricing_Tier.png> <img alt="Image 5"data-srcset="/KB/azure/1189316/Choose_the_Pricing_Tier-r-400.png 400w, /KB/azure/1189316/Choose_the_Pricing_Tier.png 634w"style="width: 634px; height: 739px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Choose_the_Pricing_Tier.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 5: Choose the Pricing Tier<p>As we have created our CDN Profile, now it is time to create an End Point. Navigate to your CDN profile and click on the End Point.<p><a href=/KB/azure/1189316/Endpoint_Option_in_CDN.png> <img alt="Image 6"data-srcset="/KB/azure/1189316/Endpoint_Option_in_CDN-r-400.png 400w, /KB/azure/1189316/Endpoint_Option_in_CDN.png 634w"style="width: 634px; height: 182px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Endpoint_Option_in_CDN.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 6: Endpoint Option in CDN<p>You must add the required data in the upcoming Add and end point form. Here, the name is the name of your CDN end point, that will be created as  <em> .azureedge.net </em> .<p>Once you are finished, you can see that your CDN end point is in running.<p><a href=/KB/azure/1189316/CDN_Endpoint_Running.png> <img alt="Image 7"data-srcset="/KB/azure/1189316/CDN_Endpoint_Running-r-400.png 400w, /KB/azure/1189316/CDN_Endpoint_Running.png 634w"style="width: 634px; height: 118px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/CDN_Endpoint_Running.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 7: CDN Endpoint Running<h3 id=creating-a-custom-domain>Creating a Custom Domain</h3><p>We have successfully created an Azure CDN, but is that really over? For some people it is, but for others it is not. Let’s see why? We have an option to add a custom domain for our CDN, that’s cool right? If you noticed well, we have created a CDN as  <a href=https://cdn-sp.azureedge.net/ target=_blank> https://cdn-sp.azureedge.net </a>  but it would be great we can get one as  <a href=https://cdn.sibeeshpassion.com/ target=_blank> https://cdn.sibeeshpassion.com </a>  right?. So here in this step, we are going to see how we can get a custom domain for our CDN.<p>To start with, login to your Azure Portal and browse for the CDN profile we have just created and click on the end point to which you want to map your custom domain.<p><a href=/KB/azure/1189316/Custom_Domain_Option_in_CDN.png> <img alt="Image 8"data-srcset="/KB/azure/1189316/Custom_Domain_Option_in_CDN-r-400.png 400w, /KB/azure/1189316/Custom_Domain_Option_in_CDN.png 634w"style="width: 634px; height: 77px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Custom_Domain_Option_in_CDN.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Custom Domain Option in CDN<p>Now login to your Domain Registrar’s website and navigate to DNS records (If you could not find DNS records, search for Domain Name or Name Server Management). Here I am using BigRocks, and the screenshots may be different for other service providers.<p><a href=/KB/azure/1189316/Manage_DNS_in_BigRock.png> <img alt="Image 9"data-srcset="/KB/azure/1189316/Manage_DNS_in_BigRock-r-400.png 400w, /KB/azure/1189316/Manage_DNS_in_BigRock.png 634w"style="width: 634px; height: 274px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Manage_DNS_in_BigRock.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 8: Manage DNS in BigRock<p>Navigate to the CNAME creation page, please check in advanced settings if you could not find it in default settings page. And fill the required fields.<p><a href=/KB/azure/1189316/CNAME_Creation_in_DNS_Window.png> <img alt="Image 10"data-srcset="/KB/azure/1189316/CNAME_Creation_in_DNS_Window-r-400.png 400w, /KB/azure/1189316/CNAME_Creation_in_DNS_Window.png 634w"style="width: 634px; height: 266px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/CNAME_Creation_in_DNS_Window.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 9: CNAME Creation in DNS Window<p>Now, go back to azure portal, and give the custom domain name, we created in the DNS management settings(cdn.sibeeshpassion.com), in the Add a custom domain form.<p><a href=/KB/azure/1189316/Adding_Custom_Hostname.png> <img alt="Image 11"style="width: 390px; height: 850px"class=lazyload data-src=/KB/azure/1189316/Adding_Custom_Hostname.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 10: Adding Custom Hostname<p>Click Add. If everything goes fine, you will get a notification as preceding.<p><a href=/KB/azure/1189316/Success_Notification_Custom_Domain_CDN.png> <img alt="Image 12"data-srcset="/KB/azure/1189316/Success_Notification_Custom_Domain_CDN-r-400.png 400w, /KB/azure/1189316/Success_Notification_Custom_Domain_CDN.png 525w"style="width: 525px; height: 225px"class=lazyload data-sizes=auto data-src=/KB/azure/1189316/Success_Notification_Custom_Domain_CDN.png src=data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==> </a><p>Figure 11: Success Notification Custom Domain CDN<blockquote><p>Please be noted that, the verification process may take few minutes or hours. If you are sure that the CNAME configuration is correct, please wait some more time and check if you are getting any error.</blockquote><p>That’s all for today, I will come with another article which explore Azure CDN more. Till then, bye.<h3 id=conclusion>Conclusion</h3><p>Did I miss anything that you may think which is needed? Could you find this post as useful? I hope you liked this article. Please share me your valuable suggestions and feedback.<h3 id=your-turn-what-do-you-think>Your turn. What do you think?</h3><p>A blog isn’t a blog without comments, but do try to stay on topic. If you have a question unrelated to this post, you’re better off posting it on C# Corner, Code Project, Stack Overflow, Asp.Net Forum instead of commenting here. Tweet or email me a link to your question there and I’ll definitely try to help if I can.<p>Kindest Regards <br> Sibeesh Venu</div><div style="margin:20px 0 0 10px;border:1px solid #ccc"class=float-right><div data-tags="Azure, cloud,rating4.5"class=msg-300x250 data-country=US data-format=300x250 data-loadonview=true data-publisher=lqm.codeproject.site data-type=ad data-zone=Hosted-ServicesAzure><noscript><a href=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=300x250&c=999899> <img height=250px src=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=300x250&c=999899 target=_blank width=300px> </a></noscript></div></div><h2>License</h2><div id=LicenseTerms><p>This article, along with any associated source code and files, is licensed under <a href=http://www.opensource.org/licenses/mit-license.php rel=license> The MIT License </a></div><h2>Share</h2><div class=share-list><ul class="rrssb-buttons clearfix"><li class="email compact"id=ctl00_SocialLike_Email><a href=mailto:?subject=Azure%20Content%20Delivery%20Network%20(CDN)%20%e2%80%93%20A%20Walk%20Though%20-%20CodeProject&body=Here%27s%20an%20interesting%20article%20on%20for%20you%20on%20codeproject.com%0a%0aThis%20post%20is%20going%20to%20walk%20through%20about%20Azure%20Content%20Delivery%20Network%20(CDN).%0a%0ahttps%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though%0a> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><g><path d="M20.111 26.147c-2.336 1.051-4.361 1.401-7.125 1.401c-6.462 0-12.146-4.633-12.146-12.265 c0-7.94 5.762-14.833 14.561-14.833c6.853 0 11.8 4.7 11.8 11.252c0 5.684-3.194 9.265-7.399 9.3 c-1.829 0-3.153-0.934-3.347-2.997h-0.077c-1.208 1.986-2.96 2.997-5.023 2.997c-2.532 0-4.361-1.868-4.361-5.062 c0-4.749 3.504-9.071 9.111-9.071c1.713 0 3.7 0.4 4.6 0.973l-1.169 7.203c-0.388 2.298-0.116 3.3 1 3.4 c1.673 0 3.773-2.102 3.773-6.58c0-5.061-3.27-8.994-9.303-8.994c-5.957 0-11.175 4.673-11.175 12.1 c0 6.5 4.2 10.2 10 10.201c1.986 0 4.089-0.43 5.646-1.245L20.111 26.147z M16.646 10.1 c-0.311-0.078-0.701-0.155-1.207-0.155c-2.571 0-4.595 2.53-4.595 5.529c0 1.5 0.7 2.4 1.9 2.4 c1.441 0 2.959-1.828 3.311-4.087L16.646 10.068z"></path></g></svg> </span> </a><li class="twitter compact"id=ctl00_SocialLike_Twitter><a class=popup href=http://twitter.com/home?status=Azure+Content+Delivery+Network+(CDN)+%e2%80%93+A+Walk+Though+-+CodeProject+-+https%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px id=Layer_1 version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><path d="M24.253,8.756C24.689,17.08,18.297,24.182,9.97,24.62c-3.122,0.162-6.219-0.646-8.861-2.32 c2.703,0.179,5.376-0.648,7.508-2.321c-2.072-0.247-3.818-1.661-4.489-3.638c0.801,0.128,1.62,0.076,2.399-0.155 C4.045,15.72,2.215,13.6,2.115,11.077c0.688,0.275,1.426,0.407,2.168,0.386c-2.135-1.65-2.729-4.621-1.394-6.965 C5.575,7.816,9.54,9.84,13.803,10.071c-0.842-2.739,0.694-5.64,3.434-6.482c2.018-0.623,4.212,0.044,5.546,1.683 c1.186-0.213,2.318-0.662,3.329-1.317c-0.385,1.256-1.247,2.312-2.399,2.942c1.048-0.106,2.069-0.394,3.019-0.851 C26.275,7.229,25.39,8.196,24.253,8.756z"></path></svg> </span> </a><li class="facebook compact"id=ctl00_SocialLike_Facebook><a class=popup href=https://www.facebook.com/sharer/sharer.php?u=https%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px id=Layer_1 version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><path d="M27.825,4.783c0-2.427-2.182-4.608-4.608-4.608H4.783c-2.422,0-4.608,2.182-4.608,4.608v18.434 c0,2.427,2.181,4.608,4.608,4.608H14V17.379h-3.379v-4.608H14v-1.795c0-3.089,2.335-5.885,5.192-5.885h3.718v4.608h-3.726 c-0.408,0-0.884,0.492-0.884,1.236v1.836h4.609v4.608h-4.609v10.446h4.916c2.422,0,4.608-2.188,4.608-4.608V4.783z"></path></svg> </span> </a><li class="linkedin compact"id=ctl00_SocialLike_LinkedIn><a class=popup href=http://www.linkedin.com/shareArticle?mini=true&url=https%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though&title=Azure+Content+Delivery+Network+(CDN)+%e2%80%93+A+Walk+Though+-+CodeProject&summary=This+post+is+going+to+walk+through+about+Azure+Content+Delivery+Network+(CDN).&source=codeproject.com> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px id=Layer_1 version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><path d="M25.424,15.887v8.447h-4.896v-7.882c0-1.979-0.709-3.331-2.48-3.331c-1.354,0-2.158,0.911-2.514,1.803 c-0.129,0.315-0.162,0.753-0.162,1.194v8.216h-4.899c0,0,0.066-13.349,0-14.731h4.899v2.088c-0.01,0.016-0.023,0.032-0.033,0.048 h0.033V11.69c0.65-1.002,1.812-2.435,4.414-2.435C23.008,9.254,25.424,11.361,25.424,15.887z M5.348,2.501 c-1.676,0-2.772,1.092-2.772,2.539c0,1.421,1.066,2.538,2.717,2.546h0.032c1.709,0,2.771-1.132,2.771-2.546 C8.054,3.593,7.019,2.501,5.343,2.501H5.348z M2.867,24.334h4.897V9.603H2.867V24.334z"></path></svg> </span> </a><li class="reddit compact"id=ctl00_SocialLike_Reddit><a href=http://www.reddit.com/submit?url=https%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though&title=Azure+Content+Delivery+Network+(CDN)+%e2%80%93+A+Walk+Though+-+CodeProject> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><g><path d="M11.794 15.316c0-1.029-0.835-1.895-1.866-1.895c-1.03 0-1.893 0.865-1.893 1.895s0.863 1.9 1.9 1.9 C10.958 17.2 11.8 16.3 11.8 15.316z"></path><path d="M18.1 13.422c-1.029 0-1.895 0.864-1.895 1.895c0 1 0.9 1.9 1.9 1.865c1.031 0 1.869-0.836 1.869-1.865 C19.969 14.3 19.1 13.4 18.1 13.422z"></path><path d="M17.527 19.791c-0.678 0.678-1.826 1.006-3.514 1.006c-0.004 0-0.009 0-0.014 0c-0.004 0-0.01 0-0.015 0 c-1.686 0-2.834-0.328-3.51-1.005c-0.264-0.265-0.693-0.265-0.958 0c-0.264 0.265-0.264 0.7 0 1 c0.943 0.9 2.4 1.4 4.5 1.402c0.005 0 0 0 0 0c0.005 0 0 0 0 0c2.066 0 3.527-0.459 4.47-1.402 c0.265-0.264 0.265-0.693 0.002-0.958C18.221 19.5 17.8 19.5 17.5 19.791z"></path><path d="M27.707 13.267c0-1.785-1.453-3.237-3.236-3.237c-0.793 0-1.518 0.287-2.082 0.761c-2.039-1.295-4.646-2.069-7.438-2.219 l1.483-4.691l4.062 0.956c0.071 1.4 1.3 2.6 2.7 2.555c1.488 0 2.695-1.208 2.695-2.695C25.881 3.2 24.7 2 23.2 2 c-1.059 0-1.979 0.616-2.42 1.508l-4.633-1.091c-0.344-0.081-0.693 0.118-0.803 0.455l-1.793 5.7 C10.548 8.6 7.7 9.4 5.6 10.75C5.006 10.3 4.3 10 3.5 10.029c-1.785 0-3.237 1.452-3.237 3.2 c0 1.1 0.6 2.1 1.4 2.69c-0.04 0.272-0.061 0.551-0.061 0.831c0 2.3 1.3 4.4 3.7 5.9 c2.299 1.5 5.3 2.3 8.6 2.325c3.228 0 6.271-0.825 8.571-2.325c2.387-1.56 3.7-3.66 3.7-5.917 c0-0.26-0.016-0.514-0.051-0.768C27.088 15.5 27.7 14.4 27.7 13.267z M23.186 3.355c0.74 0 1.3 0.6 1.3 1.3 c0 0.738-0.6 1.34-1.34 1.34s-1.342-0.602-1.342-1.34C21.844 4 22.4 3.4 23.2 3.355z M1.648 13.3 c0-1.038 0.844-1.882 1.882-1.882c0.31 0 0.6 0.1 0.9 0.209c-1.049 0.868-1.813 1.861-2.26 2.9 C1.832 14.2 1.6 13.8 1.6 13.267z M21.773 21.57c-2.082 1.357-4.863 2.105-7.831 2.105c-2.967 0-5.747-0.748-7.828-2.105 c-1.991-1.301-3.088-3-3.088-4.782c0-1.784 1.097-3.484 3.088-4.784c2.081-1.358 4.861-2.106 7.828-2.106 c2.967 0 5.7 0.7 7.8 2.106c1.99 1.3 3.1 3 3.1 4.784C24.859 18.6 23.8 20.3 21.8 21.57z M25.787 14.6 c-0.432-1.084-1.191-2.095-2.244-2.977c0.273-0.156 0.59-0.245 0.928-0.245c1.035 0 1.9 0.8 1.9 1.9 C26.354 13.8 26.1 14.3 25.8 14.605z"></path></g></svg> </span> </a><li class="pinterest compact"id=ctl00_SocialLike_Pinterest><a href=http://pinterest.com/pin/create/bookmarklet/?is_video=false&url=https%3a%2f%2fwww.codeproject.com%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though&description=Azure+Content+Delivery+Network+(CDN)+%e2%80%93+A+Walk+Though+-+CodeProject> <span class=icon> <svg enable-background="new 0 0 28 28"viewbox="0 0 28 28"height=28px id=Layer_1 version=1.1 width=28px x=0px xml:space=preserve xmlns=http://www.w3.org/2000/svg xmlns:xlink=http://www.w3.org/1999/xlink y=0px><path d="M14.021,1.57C6.96,1.57,1.236,7.293,1.236,14.355c0,7.062,5.724,12.785,12.785,12.785c7.061,0,12.785-5.725,12.785-12.785 C26.807,7.294,21.082,1.57,14.021,1.57z M15.261,18.655c-1.161-0.09-1.649-0.666-2.559-1.219c-0.501,2.626-1.113,5.145-2.925,6.458 c-0.559-3.971,0.822-6.951,1.462-10.116c-1.093-1.84,0.132-5.545,2.438-4.632c2.837,1.123-2.458,6.842,1.099,7.557 c3.711,0.744,5.227-6.439,2.925-8.775c-3.325-3.374-9.678-0.077-8.897,4.754c0.19,1.178,1.408,1.538,0.489,3.168 C7.165,15.378,6.53,13.7,6.611,11.462c0.131-3.662,3.291-6.227,6.46-6.582c4.007-0.448,7.771,1.474,8.29,5.239 c0.579,4.255-1.816,8.865-6.102,8.533L15.261,18.655z"></path></svg> </span> </a></ul></div><h2 id=ctl00_AboutHeading>About the Author</h2><div class=author-wrapper><div class=pic-wrapper><img border=0 class=profile-pic id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberPhoto src=https://www.codeproject.com/script/Membership/ProfileImages/{4c3c106a-bb95-41f3-8551-dee787fa133e}.jpg style=transform:rotate(2deg);></div><div class=container-member><b> <a class=author href=/Members/SibeeshPassion id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberProfileLink> Sibeesh Passion </a> </b><table><tbody><tr><td nowrap rowspan=2 valign=middle><div class=follow id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_FollowOn><a href=https://www.twitter.com/SibeeshVenu> <img alt=Twitter src=/images/twitter32.png style=vertical-align:middle;border:0;height:24px;width:24px> </a><a href=https://www.linkedin.com/in/SibeeshVenu> <img alt=LinkedIn src=/images/linkedin-32.png style=vertical-align:middle;border:0;height:24px;width:24px> </a></div><td nowrap=nowrap><div class=company><span id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberJobTitle> Software Developer </span><span id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberCompany> </span></div><td rowspan=2 style=padding-left:15px><tr><td><span id=ctl00_AboutAuthorRptr_ctl00_AboutAuthor_memberLocation> Germany <img alt=Germany height=11 src=/script/Geo/Images/DE.gif width=16> </span></table></div><div class=description>I am Sibeesh Venu, an engineer by profession and writer by passion. I’m neither an expert nor a guru. I have been awarded <b> Microsoft MVP 3 times </b> , <b> C# Corner MVP 5 times </b> , <b> DZone MVB </b> . I always love to learn new technologies, and I strongly believe that the one who stops learning is old. <br><br> My Blog: <a rel="nofollow noopener"href=https://sibeeshpassion.com/ target=_blank> Sibeesh Passion </a><br> My Website: <a rel="nofollow noopener"href=https://sibeeshvenu.com/ target=_blank> Sibeesh Venu </a></div></div><br><div class=clearfix></div><div style=padding-top:8px></div></form></div><div class=bottom-promo><div data-tags="Azure, cloud,rating4.5,pos_bottom"class=msg-728x90 data-country=US data-format=728x90 data-loadonview=true data-publisher=lqm.codeproject.site data-type=ad data-zone=Hosted-ServicesAzure><noscript><a href=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=728x90&c=999899> <img height=90px src=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=728x90&c=999899 target=_blank width=728px> </a></noscript></div></div><h2>Comments and Discussions</h2><a class=float-left id=_comments name=_comments>   </a><div onclick="return forumCtrl_ctl00_MessageBoard.SwitchMessage(event, null)"id=_MessageBoardctl00_MessageBoard><table class="forum relaxed"cellpadding=0 cellspacing=0 id=ForumTable><tbody><tr><td class=header1><div class=callout><b> You must <a href=https://www.codeproject.com/script/Membership/LogOn.aspx?rp=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though%3ffid%3d1922045%26df%3d90%26mpp%3d25%26sort%3dPosition%26view%3dNormal%26spc%3dRelaxed%26prof%3dTrue> Sign In </a> to use this message board. </b></div><tr><td><table border=0 cellpadding=3px cellspacing=0 width=100%><tbody><tr class=header1><td colspan=2 nowrap=nowrap><div class=container><div class=float-right><form action=/Search.aspx?sbo=fm class=searchbar><input name=fid type=hidden value=1922045><input name=sbo type=hidden value=fm><input autocomplete=off class=search id=search_forumCtrl_ctl00_MessageBoard name=q type=search><input src=https://www.codeproject.com/images/search.gif type=image></form></div></div><tr class=header2><td><td width=100%><div align=right><form action=/script/Forums/SetOptions.aspx?fid=1922045&df=90&mpp=25&sort=Position&view=Normal&spc=Relaxed&prof=True&floc=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though><input name=fid type=hidden value=1922045><input name=currentQS type=hidden value=fid=1922045&df=90&mpp=25&sort=Position&view=Normal&spc=Relaxed&prof=True&floc=%2fArticles%2f1189316%2fAzure-Content-Delivery-Network-CDN-A-Walk-Though><input name=floc type=hidden value=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though> Spacing <select class=dropdown name=spc size=1><option selected value=Relaxed>Relaxed<option value=Compact>Compact<option value=Tight>Tight</select>   Layout <select class=dropdown name=view size=1><option selected value=Normal>Normal<option value=Topic>Open Topics<option value=Expanded>Open All<option value=Thread>Thread View</select>   Per page <select class=dropdown name=mpp size=1><option value=10>10<option selected value=25>25<option value=50>50</select>     <input class=button name=SetOpt type=submit value=Update></form></div></table><tr><td><a name=xx0xx> </a> <table border=0 cellpadding=2px cellspacing=0 width=100%><tbody><tr class=navbar><td><td align=right width=50%><td align=right nowrap=nowrap> </table><tr><td><table class="fixed-layout blank-background"border=0 cellpadding=0 cellspacing=0 width=100%><tbody><tr><td align=center class=small-text>-- There are no messages in this forum --</table></table></div></div><div class=article-right-sidebar id=ctl00_RightSideBar><div class=container-article-info-sticky id=RHSticky><div class=article-summary></div><div style="width:160px;margin:10px auto"class=padded-top id=ctl00_SectionSponsor><div data-tags="Azure, cloud,rating4.5"class=msg-160x200 data-country=US data-format=160x200 data-publisher=lqm.codeproject.site data-showindicator=true data-type=ad data-zone=Hosted-ServicesAzure><noscript><a href=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=160x200&c=999899> <img height=200px src=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=160x200&c=999899 target=_blank width=160px> </a></noscript></div></div><div style="width:160px;margin: 10px auto;"><div data-tags="Azure, cloud,rating4.5"class=msg-160x600 data-country=US data-format=160x600 data-publisher=lqm.codeproject.site data-type=ad data-zone=Hosted-ServicesAzure><noscript><a href=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=160x600&c=999899> <img height=600px src=https://pubads.g.doubleclick.net/gampad/jump?iu=/6839/lqm.codeproject.site/Hosted-ServicesAzure&sz=160x600&c=999899 target=_blank width=160px> </a></noscript></div></div><div class="anchorLink gototop"id=gototop><a href=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though#_articleTop id=ctl00_GoToTop> Go to top </a></div></div></div></div><div style="height:2px;margin:5px 0"class=theme1-background id=stickyStop></div><div class=site-footer><div class=align-left><a href=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though id=ctl00_PermaLink> Permalink </a><br><a href=http://developermedia.com/ id=ctl00_AdvertiseLink> Advertise </a><br><a href=/info/privacy.aspx id=ctl00_PrivacyLink> Privacy </a><br><a href=/info/cookie.aspx id=ctl00_CookiePolicyLink> Cookies </a><br><a href=/info/TermsOfUse.aspx id=ctl00_TermsOfUseLink> Terms of Use </a><br></div><div class=align-center><div class=page-width>Layout: <a title="Fixed width layout"class=active href=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though?PageFlow=FixedWidth id=ctl00_PageWidth_FixedT rel=nofollow> fixed </a> | <a title="Fluid layout"href=/Articles/1189316/Azure-Content-Delivery-Network-CDN-A-Walk-Though?PageFlow=Fluid id=ctl00_PageWidth_FluidT rel=nofollow> fluid </a></div><br></div><div class=align-right>Article Copyright 2017 by Sibeesh Passion <br> Everything else Copyright © <a href=mailto:webmaster@codeproject.com> CodeProject </a> , 1999-2021 <br><br> Web02 2.8.20211028.1 <br></div></div><br clear=all></div></div></div><img border=0 height=1 id=ctl00_Audience src=https://pubads.g.doubleclick.net/activity;dc_iu=/6839/DFPAudiencePixel;ord='637712920217843695';dc_seg=33707530? width=1><script>// IMMEDIATE script

function Join() {
                                     document.location.href = 'https://www.codeproject.com/script/Membership/Modify.aspx';
                                     return false;
                                  }

var uzwebgdxnp = function(n){var t=!1;n=n||{};var r=n.RetrievalServiceUrl||"/script/content/webservices/RetrieveContent.aspx/GetContent",u=n.RetrievalServiceRetries||3,f=n.RetrievalServiceTimeout||5e3,e=function(){t||(t=!0,$(window).on("resize scroll",i),i())},i=function(){if(typeof DMAds=="undefined"){var n=$('[data-type="ad"]');n.each(function(){var n=$(this),u=n.attr("data-format")||"",f=n.attr("data-publisher")||"",e=n.attr("data-zone")||"",t=n.attr("data-loadonview"),i=n.attr("data-noadx"),h=n.attr("data-tags")||"",c=n.find("iframe").length!==0||n.find("img").length!==0,r=n.attr("data-processed");t=typeof t=="string"&&t.toLowerCase()==="true";i=typeof i=="string"&&i.toLowerCase()==="true";r=typeof r=="string"&&r.toLowerCase()==="true";r||c||t&&!s(this)||(o(n,u,f,e,i,h),n.attr("data-processed","true"))})}},o=function(n,t,i,e,o,s){var h=new $.Deferred,c=JSON.stringify({format:t,publisherCode:i,zone:e,noAdX:o,keywords:s});$.ajax({url:r,cache:!1,type:"POST",data:c,contentType:"application/json; charset=utf-8",dataType:"json",tryCount:0,retryLimit:u,timeout:f}).done(function(t){var i=t?t.d:null;h.resolve(i); i && i.html && n.html(i.html)}).fail(function(n,t){h.reject(t)})},s=function(n){var t,f,e,o;if(!h(n))return!1;var u=!1,i=0,r=0;try{t=n.getBoundingClientRect();typeof innerWidth=="number"?(i=window.innerWidth,r=window.innerHeight):document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)?(i=document.documentElement.clientWidth,r=document.documentElement.clientHeight):document.body&&(document.body.clientWidth||document.body.clientHeight)&&(i=document.body.clientWidth,r=document.body.clientHeight);f=-200;t.top===t.bottom&&(f+=n.height*-1);e=t.top>=0&&t.top-200<=r||t.top<=0&&t.top>=f;o=i>t.left&&t.right>=0;u=e&&o}catch(s){u=!0}return u},h=function(n){var t=!1,i;return n&&n.style.position!=="fixed"&&n.offsetParent?t=!0:n&&n.style.position==="fixed"&&(i=window.getComputedStyle(n),t=i&&i.display!=="none"),t&&c()},c=function(){var t=!0,n="";return typeof document.hidden!="undefined"?n="hidden":typeof document.mozHidden!="undefined"?n="mozHidden":typeof document.msHidden!="undefined"?n="msHidden":typeof document.webkitHidden!="undefined"&&(n="webkitHidden"),n!==null&&document[n]&&(t=!1),t};return{init:e}};
document.addEventListener('DOMContentLoaded', function() {
var n=window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP"),t;n.onreadystatechange=function(){try{if(n.readyState==4)if(n.status==200){var t=document.createElement("script");t.type="text/javascript";t.innerHTML=n.responseText;document.getElementsByTagName("body")[0].appendChild(t)}else(new uzwebgdxnp).init()}catch(i){(new uzwebgdxnp).init()}};try{t='/a.min.js?v=1.3';n.open("GET",t,!0);n.send()}catch(i){(new uzwebgdxnp).init()}

  $('div[data-type="ad"][data-showindicator="true"]').before('<div class="small-text muted hidden">Advertisement</div>');
  setTimeout(function(){ 
    $('div[data-type="ad"][data-showindicator="true"]').each(function( index ) {
      if ($(this).height() > 0) {
       $(this).prev().removeClass('hidden');
      }
    });
  }, 2000);

});

var ratingCtrl_ctl00_RateArticle;

var forumConfig_ctl00_MessageBoard;
var forumCtrl_ctl00_MessageBoard;
var forumCtrl_ctl00_MessageBoard_forumMsgFlag;
var forumCtrl_ctl00_MessageBoard_rating;
var forumCtrl_ctl00_MessageBoard_ratingConfig;
var forumCtrl_ctl00_MessageBoard_reaction;
var forumCtrl_ctl00_MessageBoard__reactionConfig;

var subscriptionConfig_ctl00_MessageBoard = {
 ParentId      : 'ctl00_MessageBoard_SubscribeDiv',
 NewId         : 'ctl00_MessageBoard_SubscribeNew',
 ReplyId       : 'ctl00_MessageBoard_SubscribeReplies',
 InstantId     : 'ctl00_MessageBoard_SubscribeInstant',
 DailyId       : 'ctl00_MessageBoard_SubscribeDaily',
 MessageTypeId : 'ctl00_MessageBoard_MessageType',
 GetInfoUrl    : '/script/Forums/WebServices/ForumSubscriptionServices.aspx/GetSubscriptions',
 UpdateInfoUrl : '/script/Forums/WebServices/ForumSubscriptionServices.aspx/UpdateSubscription',
 ForumId       : 1922045,
};
var subscriptions_ctl00_MessageBoard;

var rpatadj = false;
var DMReportsOK = null;
function showDMAlert() { 
  var $div = $('div.msg-728x90');
  $div.append($('<img src="/images/alert-top-block.gif" style="right:0;position:absolute;z-index:0">'));
}
function onDMcallBack(event)
{
   if (event.originalEvent) event = event.originalEvent;
   jQuery.support.cors = true;
   if (event.data === 'DM-disabled') DMReportsOK = false;
   else if (event.data=='DM-enabled') DMReportsOK = true;
   else if (typeof event.data == 'object' && event.data.sender &&             event.data.sender == 'DeveloperMedia' && event.data.application=='apps' &&
            event.data.action == 'reportEnabled') {
            DMReportsOK = event.data.data.enabled;
   }
   cajgvkljko = !DMReportsOK;
}
function checkLoaded() { 
 var showBlockMsg = false;
 var block        = 'None';
 if (block === 'None' && typeof DMAds === 'undefined')
     block = 'ResourceBlocked';
 if (block === 'None' && !document.getElementById('adbp-tester'))     block = 'ResourceBlocked';
 if (block === 'None' && DMReportsOK === false)     block = 'DomModified';
 cajgvkljko = block != 'None';
 if (rpatadj) {
  $.ajax({ url:'/script/Content/Ajax/VS.aspx',    data:{'cadm':block},     cache:false, async:true });
};
 if (showBlockMsg && block != 'None')
    showDMAlert();
}</script><script>// DEFERRED script

document.addEventListener('DOMContentLoaded', function() {

	new CodeBlocks().initialise('#contentdiv');
	
	$('.author-wrapper .description').shorten({showChars: 400});
	
	anchorAnimate();
	$('#RHSticky').sticky($('#stickyStop'));
	$('#ctl00_StickyBlock').sticky($('#stickyStop'));
	
	$('#__EVENTVALIDATION').attr('autocomplete', 'off');
	
	$('#joinBtn').css('visibility', 'visible');
	
	$('.oauth').click(function () {
	    $this = $(this);
	    href = $this.attr('href');
	    var myWindow = window.open(href, 'popup',
	                              'width=800,height=600,location=0,menubar=0,resizeable=0,scrollbars=0,toolbar=0');
	    myWindow.focus();
	    var timer = setInterval(function () {
	        if (myWindow.closed) {
	            clearInterval(timer);
	            // window.location.reload(); // May do a POST reload, shows a warning
	            window.location = window.location; // force a GET reload
	        }
	    }, 200);
	    return false;
	});
	
	var oSrchFlt = false, oSrchBox=false, srchBoxFoc=false;
	var sbar     = $('#sb_tb');
	var sfilter  = $('#SearchFilter');
	
	if (typeof(InitWatermark) !== 'undefined')
	  InitWatermark('sb_tb', 'Search for articles, questions, tips');
	if (sbar && sfilter) {
	  sfilter.removeClass('popup'); sfilter.hide(); sfilter.removeClass('open');
	  sbar.blur(function() {
	    if (!oSrchFlt) { sfilter.hide(); sfilter.removeClass('open'); }
	    srchBoxFoc = false;
	  });
	  sbar.focus(function() {
	    oSrchFlt   = false;
	    srchBoxFoc = true;
	    sfilter.show();
	    sfilter.addClass('open');
	  });
	  sbar.mouseleave(function()    { oSrchBox = false; });
	  sbar.mouseover(function()     { oSrchBox = true; });
	  sfilter.mouseleave(function() {
	    oSrchFlt=false;
	    if (!srchBoxFoc && !oSrchBox) { sfilter.hide(); sfilter.removeClass('open'); }
	  });
	  sfilter.mouseover(function()  { oSrchFlt = true; });
	}
	
	var ratingConfig_ctl00_RateArticle = {
	  objectRef:          '2_1189316_8',
	  objectSubtypeId:    1,
	  objectTypeName:     'article',
	  ownerId:            11316299,
	  votingType:         'None',
	  ratingDisplayMode:  'LargeStars',
	  resultDisplayMode:  'LargeStars',
	  ratingCallback:     null,
	  staticServer:       'https://www.codeproject.com',
	  baseDir:            '/script/Ratings/',
	  ratingUrl:          'ajax/RateItem.aspx',
	  histogramUrl:       'ajax/Histogram.aspx',
	  getRatingUrl:       'ajax/GetRatings.aspx',
	  width:              130,
	  forceComment:       false,
	  lowVoteThreshold:   0,
	  minRating:          1,
	  maxRating:          5
	};
	ratingCtrl_ctl00_RateArticle = new RatingControl('#ctl00_RateArticle_RatingTable',ratingConfig_ctl00_RateArticle);
	
	forumConfig_ctl00_MessageBoard_ratingConfig = {
	  objectTypeId:       3,
	  objectTypeName:     'message',
	  bulkResultSelector: '#_MessageBoardctl00_MessageBoard',
	  votingType:         'GoodOrBad',
	  staticServer:       'https://www.codeproject.com',
	  forceComment:       false,
	  ratingDisplayMode:  'TextOnly',
	  resultDisplayMode:  'TextOnly'
	};
	forumCtrl_ctl00_MessageBoard_rating = new RatingControl('#_MessageBoardctl00_MessageBoard .content', forumConfig_ctl00_MessageBoard_ratingConfig);
	forumConfig_ctl00_MessageBoard = {
	    objectName          : 'forumCtrl_ctl00_MessageBoard',
	    messageTypeId       : 3,
	    searchPrompt        : 'Search Comments',
	    smoothScroll        : true,
	    allowReporting      : false,
	    allowRating         : false,
	    allowRatingDisplay  : true,
	    allowReactions      : false,
	    forumDir            : '/script/Forums/',
	    staticServer        : 'https://www.codeproject.com',
	    switchMsgCallback   : null,
	    ratingControl       : forumCtrl_ctl00_MessageBoard_rating,
	    reactionControl     : null,
	    codeblockProcessor  : new CodeBlocks(),
	    getReportFormMethod : getReportFormHtml,
	    voteHiThreshold     : 5 - 0.5,
	    reportOptions       : [
	       { reportTypeId : 19, name : 'Abusive / Trolling'},
	       { reportTypeId : 20, name : 'Inappropriate'},
	       { reportTypeId : 5, name : 'Spam'},
	    ],
	};
	forumCtrl_ctl00_MessageBoard = new ForumControl('#ForumTable',forumConfig_ctl00_MessageBoard, -1);
	forumCtrl_ctl00_MessageBoard_rating.setConfig('ratingCallback', forumCtrl_ctl00_MessageBoard.showMessageRating);
	forumCtrl_ctl00_MessageBoard.Initialise();
	
	subscriptions_ctl00_MessageBoard = new Subscriptions(subscriptionConfig_ctl00_MessageBoard);
	subscriptions_ctl00_MessageBoard.initialise();
	
	cookieconsent.initialise({
	                                    enabled : true,
	                                    cookie  : { domain: 'codeproject.com' },
	                                    palette : {
	                                        popup: { background: '#ff9900' },
	                                        button: { background: '#f5d948' }
	                                    },
	                                    law :  {
	                                        showForAllRegions : true, 
	                                        countryCode : 'US' 
	                                    },
	                                    theme: 'edgeless',
	                                    type : 'opt-in-out',
	                                    content: {
	                                        message: 'Like every other website we use cookies. By using our site you acknowledge that you have read and understand our <a href=\'/info/cookie.aspx\'>Cookie Policy</a>, <a href=\'/info/privacy.aspx\'>Privacy Policy</a>, and our <a href=\'/info/TermsOfUse.aspx\'>Terms of Service</a>.',
	                                        href:    'https://www.codeproject.com/info/privacy.aspx',
	                                        dismiss: 'Ask me later'
	                                    },
	                                    revokable:true,
	                                    onStatusChange: function(status) {
	                                        $.ajax({
	                                		    dataType  : 'json',
	                                            data: JSON.stringify({ allowCookies : this.hasConsented() }),
	                                            url: '/script/membership/webservices/LoggedOnMemberservices.aspx/SetCookieConsent',
	                                            cache: false,
	                                            type: 'POST',
	                                            contentType: 'application/json'
	                                        })
	                                        console.log(this.hasConsented() ? 'enable cookies' : 'disable cookies');
	                                        console.log(this.hasAnswered() ? 'has answered' : 'did not answer');
	                                    },
	                                });
	
	$(window).on('message', onDMcallBack);
	setTimeout(checkLoaded, 4000);

})</script>