CINXE.COM
MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4[Book]
<!DOCTYPE html> <!--[if lt IE 10]><html class="no-js ie8 oldie" lang="en" prefix="og: http://ogp.me/ns/# og:book: http://ogp.me/ns/book# og:video: http://ogp.me/ns/video#" itemscope itemtype="http://schema.org/Book http://schema.org/CollectionPage" data-offline-url="/" data-url="/library/view/mcpd-70-519-exam/9780735664814/" data-reading-url="/library/view/mcpd-70-519-exam/9780735664814/ch01.html" data-archive="9780735664814" data-publishers="Microsoft Press" data-book-overview="true" data-federated-auth-enabled="true" data-env="production" data-debug="0" ><![endif]--> <!--[if gt IE 9]><!--><html class="no-js" lang="en" prefix="og: http://ogp.me/ns/# og:book: http://ogp.me/ns/book# og:video: http://ogp.me/ns/video#" itemscope itemtype="http://schema.org/Book http://schema.org/CollectionPage" data-offline-url="/" data-url="/library/view/mcpd-70-519-exam/9780735664814/" data-reading-url="/library/view/mcpd-70-519-exam/9780735664814/ch01.html" data-archive="9780735664814" data-publishers="Microsoft Press" data-book-overview="true" data-federated-auth-enabled="true" data-env="production" data-debug="0" ><!--<![endif]--> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <title>MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4[Book]</title> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="stylesheet" href="/library/view/static/CACHE/css/output.119cc64003b7.css" type="text/css"> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro' rel='stylesheet' type='text/css' /> <link rel="stylesheet" type="text/css" href="https://cdn.oreillystatic.com/assets/css/2018_font_face.css" /> <meta property="og:title" content="MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4" /> <meta itemprop="name" content="MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4" /> <meta property="og:url" itemprop="url" content="https://www.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/" /> <meta property="og:site_name" content="O’Reilly Online Learning" /> <meta property="og:description" itemprop="description" name="description" content="Prepare for MCPD Exam 70-519—and help demonstrate your real-world mastery of web application design and development—with this official Microsoft Exam Ref. Written for experienced, MCTS-certified professionals ready to advance their … - Selection from MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4 [Book]"> <meta itemprop="inLanguage" content="en" /> <meta itemprop="publisher" content="Microsoft Press" /> <meta property="og:type" content="article" /> <meta property="og:book:isbn" itemprop="isbn" content="9780735664814" /> <meta property="og:book:author" itemprop="author" content="Tony Northrup" /> <meta property="og:image" itemprop="thumbnailUrl" content="https://www.oreilly.com/library/cover/9780735664814/1200w630h/" /> <meta property="og:image:secure_url" itemprop="thumbnailUrl" content="https://www.oreilly.com/library/cover/9780735664814/1200w630h/"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@OReillyMedia"> <!-- Start Visual Website Optimizer Asynchronous Code --> <script type='text/javascript'> var _vwo_code=(function(){ var account_id=291788, settings_tolerance=2000, library_tolerance=2500, use_existing_jquery=false, /* DO NOT EDIT BELOW THIS LINE */ f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init(); </script> <!-- End Visual Website Optimizer Asynchronous Code --> <link class="t-canonical-link" rel="canonical" href="https://www.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/" /> <link rel="shortcut icon" href="//www.oreilly.com/favicon.ico" type="image/vnd.microsoft.icon" /> <link rel="apple-touch-icon" href="/library/view/static/images/apple-touch-icon.png" /> </head> <body class="js-preview-content "> <div class="skipToMain" id="skipToMain"><a href="#maincontent"><span class="skipToMain-text">Skip to main content</span></a></div> <header role="banner" class="global"> <div class="global-nav"> <div class="content"> <nav role="navigation" aria-label="site sections"> <a href="https://www.oreilly.com" class="logo" title="home page" aria-current="page"><img src="https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red.svg" onerror="this.src='https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red_@2x.png'; this.onerror=null;" alt="O'Reilly home"></a> <button id="mobileNavButton" class="mobileNavButton mobileNavButton--collapse mobileNavButton--3dx" type="button" aria-expanded="false" aria-controls="menuList"> <span class="mobileNavButton-box"> <span class="mobileNavButton-inner"></span> </span> </button> <ul id="menuList" class="menuList mobileHidden "> <li class="menuList-itemsP1"> <ul> <li class="menuList-item menuList-signIn"><a class="t-sign-in" href="/member/login/?next=/library/view/mcpd-70-519-exam/9780735664814/">Sign In</a></li> <li class="menuList-item menuList-tryNow"><a class="menuList-cta" href="https://learning.oreilly.com/start-trial/?next=/library/view/mcpd-70-519-exam/9780735664814/">Try Now</a></li> </ul> </li> <li class="menuList-itemsP2"> <ul> <li class="menuList-item menuList-itemWithSub"><a href="https://www.oreilly.com/online-learning/teams.html">Teams</a> <ul class="menuList-subList menuList-itemWithSub"> <li class="menuList-subItem menuList-extra"><a href="https://www.oreilly.com/online-learning/business.html">For business</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/government.html">For government</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/academic.html">For higher ed</a></li> </ul> </li> <li class="menuList-item"><a href="https://www.oreilly.com/online-learning/individuals.html">Individuals</a></li> <li class="menuList-item menuList-itemWithSub"><a href="https://www.oreilly.com/online-learning/features.html">Features</a> <ul class="menuList-subList"> <li class="menuList-subItem menuList-extra"><a href="https://www.oreilly.com/online-learning/features.html">All features</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/courses.html">Courses</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/feature-certification.html">Certifications</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/intro-interactive-learning.html">Interactive learning</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/live-events.html">Live events</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/feature-answers.html">Answers</a></li> <li class="menuList-subItem"><a href="https://www.oreilly.com/online-learning/insights-dashboard.html">Insights reporting</a></li> </ul> </li> <li class="menuList-item"><a href="https://www.oreilly.com/radar/">Blog</a></li> <li class="menuList-item" id="nav-forMarketers"><a href="https://www.oreilly.com/content-marketing-solutions.html">Content sponsorship</a></li> </ul> </li> </ul> </nav> </div> </div> <div class="global-search"> <div id="globalSearchContent" class="content"> <form id="js-search-form" class="t-navigation-form" action="https://learning.oreilly.com/search/"> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "url": "https://learning.oreilly.com", "potentialAction": { "@type": "SearchAction", "target": "https://learning.oreilly.com/search/?q={search_term_string}", "query-input": "required name=search_term_string" } } </script> <input data-search-text-focus= "See everything available through the O’Reilly learning platform and start a free trial. Explore now." data-search-text-idle = "See everything available through the O’Reilly learning platform and start a free trial. Explore now." id="search" type="search" name="query" placeholder="See everything available through the O’Reilly learning platform and start a free trial. Explore now." autocomplete="off" required /> <input type="submit" value="Search" class="search-submit" /> </form> </div> </div> </header> <section id="trial-overlay"> <div class="trial-overlay-content"> <p>Get full access to <em>MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4</em> and 60K+ other titles, with a free 10-day trial of O'Reilly.</p> <p>There are also live events, courses curated by job role, <span class="nowrap">and more.</span></p> <div class="controls"> <a href="https://learning.oreilly.com/start-trial/?next=/library/view/mcpd-70-519-exam/9780735664814/" class="button-primary" data-ga-label="Bottom CTA">Start your free trial</a> </div> <a class="modal-dismiss" aria-label="modal dismiss"></a> </div> </section> <main role="main" id="maincontent"> <div role="document" class="document"> <section id="sbo-reader" class="sbo-reader-title"> <div class="title-info"> <div class="content"> <figure class="t-cover"> <img class="t-cover-img" src="https://learning.oreilly.com/library/cover/9780735664814/250w/" alt="MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4"/> </figure> <div class="metadata"> <h1 class="t-title">MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4</h1> <div class="t-authors">by <a href="/search?q=author:"Tony Northrup"" class="author-name">Tony Northrup</a> </div> <div class="t-release-date">Released October 2011</div> <div class="t-publisher">Publisher(s): Microsoft Press</div> <div class="t-isbn">ISBN: 9780735664814</div> <div id="titlePromo"> <p class="t-promo"> Read it now on the O’Reilly learning platform with a 10-day <span class="nowrap">free trial.</span> </p> <p class="t-promo">O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly <span class="nowrap">200 top publishers.</span></p> </div> <div class="controls"> <a href="https://learning.oreilly.com/start-trial/?next=/library/view/mcpd-70-519-exam/9780735664814/" id="startTrial" class="button-primary">Start <span class="mobile-hide">your</span> free trial</a> </div> <div id="next-edition"> </div> </div> </div> </div> <div class="title-description t-description sbo-reader-content"> <div class="content"> <h2 class="t-description-heading"> Book description</h2> <span><span><p>Prepare for MCPD Exam 70-519—and help demonstrate your real-world mastery of web application design and development—with this official Microsoft Exam Ref. Written for experienced, MCTS-certified professionals ready to advance their status—this guide focuses on the critical-thinking and decision-making acumen needed for success at the MCPD level. With concise, objective-by-objective reviews, strategic case scenarios, and "Thought Experiments", you get professional-level preparation for the professional-level exam.</p><p>Optimize your exam-prep by focusing on the expertise needed to:</p><li><p>Design the application architecture</p></li><li><p>Choose the right server-side and client-side technologies</p></li><li><p>Design the user experience</p></li><li><p>Design data access and presentation</p></li><li><p>Plan for security</p></li><li><p>Choose a testing methodology</p></li><li><p>Plan for scalability and reliability</p></li><p>—making this book an exceptional value and a great career investment.</p></span></span> <div id="showMoreDescription" class="showMore hidden"><button class="more"><span class="screen-reader-text">Show and hide more</span></button></div> <div id="toc-start"></div> </div> </div> <div id="title-tabs" class="title-tabs"><button id="title-tab-toc" class="title-tab title-tab-active" data-target="toc">Table of contents</button><button id="title-tab-pi" class="title-tab" data-target="product-information">Product information</button></div> <div class="title-toc" id="toc"> <div class="content"> <h2>Table of contents</h2> <ol class="detail-toc"> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/dedication.html" class="t-chapter js-chapter">Dedication</a> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html" class="t-chapter js-chapter">Introduction</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#microsoft_certified_professional_program" class="t-chapter js-chapter">Microsoft Certified Professional Program</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#acknowledgments" class="t-chapter js-chapter">Acknowledgments</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#support_ampersand_feedback" class="t-chapter js-chapter">Support & Feedback</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#errata" class="t-chapter js-chapter">Errata</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#we_want_to_hear_from_you" class="t-chapter js-chapter">We Want to Hear from You</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr02.html#stay_in_touch" class="t-chapter js-chapter">Stay in Touch</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/pr03.html" class="t-chapter js-chapter">Preparing for the Exam</a> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html" class="t-chapter js-chapter">1. Designing the Application Architecture</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot1_plan_the_division_of_app" class="t-chapter js-chapter">Objective 1.1: Plan the Division of Application Logic</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#choosing_between_the_client_side_and_ser" class="t-chapter js-chapter">Choosing Between the Client Side and Server Side</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#partitioning_according_to_separation_of" class="t-chapter js-chapter">Partitioning According to Separation of Concerns</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#classic_asp" class="t-chapter js-chapter">Classic ASP</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#aspdotnet" class="t-chapter js-chapter">ASP.NET</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#aspdotnet_mvc" class="t-chapter js-chapter">ASP.NET MVC</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#planning_for_long-running_processes" class="t-chapter js-chapter">Planning for Long-Running Processes</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#designing_a_webpage_for_a_long-running_p" class="t-chapter js-chapter">Designing a Webpage for a Long-Running Process</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#designing_a_web_service_for_a_long-runni" class="t-chapter js-chapter">Designing a Web Service for a Long-Running Process</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_summary-id00001" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_review-id00002" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot2_analyze_requirements_and" class="t-chapter js-chapter">Objective 1.2: Analyze Requirements and Recommend a System Topology</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#designing_a_system_topology" class="t-chapter js-chapter">Designing a System Topology</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#designing_interactions_between_applicati" class="t-chapter js-chapter">Designing Interactions Between Applications</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#mapping_the_logical_design_to_the_physic" class="t-chapter js-chapter">Mapping the Logical Design to the Physical Implementation</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#validating_nonfunctional_requirements_an" class="t-chapter js-chapter">Validating Nonfunctional Requirements and Cross-Cutting Concerns</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#evaluating_baseline_needs" class="t-chapter js-chapter">Evaluating Baseline Needs</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_summary-id00004" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_review-id00005" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot3_choose_appropriate_clien" class="t-chapter js-chapter">Objective 1.3: Choose Appropriate Client-Side Technologies</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_client-side_scripting_languages" class="t-chapter js-chapter">Using Client-Side Scripting Languages</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#client-side_libraries" class="t-chapter js-chapter">Client-Side Libraries</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#delivering_libraries_with_a_cdn" class="t-chapter js-chapter">Delivering Libraries with a CDN</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_rich_client-side_plug-ins" class="t-chapter js-chapter">Using Rich Client-Side Plug-ins</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_summary-id00006" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_review-id00007" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot4_choose_appropriate_serve" class="t-chapter js-chapter">Objective 1.4: Choose Appropriate Server-Side Technologies</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#choosing_between_different_control_types" class="t-chapter js-chapter">Choosing Between Different Control Types</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#html_controls" class="t-chapter js-chapter">HTML Controls</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#server_controls" class="t-chapter js-chapter">Server Controls</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#user_controls" class="t-chapter js-chapter">User Controls</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#web_parts" class="t-chapter js-chapter">Web Parts</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#custom_server_controls" class="t-chapter js-chapter">Custom Server Controls</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#dynamic_data_controls" class="t-chapter js-chapter">Dynamic Data Controls</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_partial_classes_and_methods" class="t-chapter js-chapter">Using Partial Classes and Methods</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#accessing_server_methods_from_client_cod" class="t-chapter js-chapter">Accessing Server Methods from Client Code</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_summary-id00008" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_review-id00009" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot5_design_state_management" class="t-chapter js-chapter">Objective 1.5: Design State Management</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_application_state" class="t-chapter js-chapter">Using Application State</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_the_cache_object" class="t-chapter js-chapter">Using the Cache Object</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#evaluating_user_state_technologies" class="t-chapter js-chapter">Evaluating User State Technologies</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#using_session_state" class="t-chapter js-chapter">Using Session State</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#tracking_session_on_the_client" class="t-chapter js-chapter">Tracking Session on the Client</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#storing_session_on_the_server" class="t-chapter js-chapter">Storing Session on the Server</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#creating_custom_page_state_persisters" class="t-chapter js-chapter">Creating Custom Page State Persisters</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_summary-id00010" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_review-id00011" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#chapter_summary-id00012" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#answers-id00013" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot1_review" class="t-chapter js-chapter">Objective 1.1: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot1_thought_experiment" class="t-chapter js-chapter">Objective 1.1: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot2_review" class="t-chapter js-chapter">Objective 1.2: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot2_thought_experiment" class="t-chapter js-chapter">Objective 1.2: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot3_review" class="t-chapter js-chapter">Objective 1.3: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot3_thought_experiment" class="t-chapter js-chapter">Objective 1.3: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot4_review" class="t-chapter js-chapter">Objective 1.4: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot4_thought_experiment" class="t-chapter js-chapter">Objective 1.4: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot5_review" class="t-chapter js-chapter">Objective 1.5: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch01.html#objective_1dot5_thought_experiment" class="t-chapter js-chapter">Objective 1.5: Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html" class="t-chapter js-chapter">2. Designing the User Experience</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot1_design_the_site_structur" class="t-chapter js-chapter">Objective 2.1: Design the Site Structure</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#designing_application_segmentation" class="t-chapter js-chapter">Designing Application Segmentation</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#using_style_sheets" class="t-chapter js-chapter">Using Style Sheets</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#using_themes" class="t-chapter js-chapter">Using Themes</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#configuring_the_routing_engine" class="t-chapter js-chapter">Configuring the Routing Engine</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_summary-id00014" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_review-id00015" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot2_plan_for_cross-browser_a" class="t-chapter js-chapter">Objective 2.2: Plan for Cross-Browser and/or Form Factors</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#evaluating_the_impact_of_features" class="t-chapter js-chapter">Evaluating the Impact of Features</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#deciding_when_to_apply_the_browsers_file" class="t-chapter js-chapter">Deciding When to Apply the Browsers File</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#examining_user_agents_and_browser_capabi" class="t-chapter js-chapter">Examining User Agents and Browser Capabilities</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#identifying_structural_approaches" class="t-chapter js-chapter">Identifying Structural Approaches</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_summary-id00016" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_review-id00017" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot3_plan_for_globalization" class="t-chapter js-chapter">Objective 2.3: Plan for Globalization</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#handling_language_and_culture_preference" class="t-chapter js-chapter">Handling Language and Culture Preferences</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#designing_to_support_cultural_preference" class="t-chapter js-chapter">Designing to Support Cultural Preferences</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#choosing_between_currentculture_and_curr" class="t-chapter js-chapter">Choosing Between CurrentCulture and CurrentUICulture</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#displaying_text_for_differing_cultures" class="t-chapter js-chapter">Displaying Text for Differing Cultures</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#translating_web_applications" class="t-chapter js-chapter">Translating Web Applications</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#handling_unicode_data" class="t-chapter js-chapter">Handling Unicode Data</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_summary-id00019" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_review-id00020" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#chapter_summary-id00021" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#answers-id00022" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot1_review" class="t-chapter js-chapter">Objective 2.1: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot1_thought_experiment" class="t-chapter js-chapter">Objective 2.1: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot2_review" class="t-chapter js-chapter">Objective 2.2: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot2_thought_experiment" class="t-chapter js-chapter">Objective 2.2: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot3_review" class="t-chapter js-chapter">Objective 2.3: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch02.html#objective_2dot3_thought_experiment" class="t-chapter js-chapter">Objective 2.3: Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html" class="t-chapter js-chapter">3. Designing Data Strategies and Structures</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot1_design_data_access" class="t-chapter js-chapter">Objective 3.1: Design Data Access</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_adodotnet" class="t-chapter js-chapter">Using ADO.NET</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_the_entity_framework" class="t-chapter js-chapter">Using the Entity Framework</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_wcf_web_services" class="t-chapter js-chapter">Using WCF Web Services</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_wcf_data_services" class="t-chapter js-chapter">Using WCF Data Services</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_aspdotnet_web_services" class="t-chapter js-chapter">Using ASP.NET Web Services</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#choosing_a_data_access_technology" class="t-chapter js-chapter">Choosing a Data Access Technology</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_summary-id00023" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_review-id00024" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot2_design_data_presentation" class="t-chapter js-chapter">Objective 3.2: Design Data Presentation and Interaction</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_server_controls_to_data_sources" class="t-chapter js-chapter">Binding Server Controls to Data Sources</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_at_design_time" class="t-chapter js-chapter">Binding at Design Time</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_at_runtime" class="t-chapter js-chapter">Binding at Runtime</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_mvc_views_to_data_sources" class="t-chapter js-chapter">Binding MVC Views to Data Sources</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#displaying_data_in_views" class="t-chapter js-chapter">Displaying Data in Views</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#allowing_data_to_be_edited" class="t-chapter js-chapter">Allowing Data to be Edited</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#using_default_model_binders" class="t-chapter js-chapter">Using Default Model Binders</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#creating_custom_model_binders" class="t-chapter js-chapter">Creating Custom Model Binders</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#creating_custom_htmlhelper_extensions" class="t-chapter js-chapter">Creating Custom HtmlHelper Extensions</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_client_controls_to_data_sources" class="t-chapter js-chapter">Binding Client Controls to Data Sources</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#binding_using_inline_expressions" class="t-chapter js-chapter">Binding Using Inline Expressions</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#live_binding" class="t-chapter js-chapter">Live Binding</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#two-way_data_binding" class="t-chapter js-chapter">Two-Way Data Binding</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#updating_server_data_from_client_control" class="t-chapter js-chapter">Updating Server Data from Client Controls</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#datacontext" class="t-chapter js-chapter">DataContext</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#adonetserviceproxy" class="t-chapter js-chapter">AdoNetServiceProxy</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#adonetdatacontext" class="t-chapter js-chapter">AdoNetDataContext</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_summary-id00025" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_review-id00026" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot3_plan_for_data_validation" class="t-chapter js-chapter">Objective 3.3: Plan for Data Validation</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#designing_data_validation_for_aspdotnet" class="t-chapter js-chapter">Designing Data Validation for ASP.NET Applications</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#designing_data_validation_for_mvc_applic" class="t-chapter js-chapter">Designing Data Validation for MVC Applications</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#validating_data_in_the_data_model" class="t-chapter js-chapter">Validating Data in the Data Model</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#validating_data_in_the_model_binder" class="t-chapter js-chapter">Validating Data in the Model Binder</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#validating_data_in_controllers" class="t-chapter js-chapter">Validating Data in Controllers</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#validating_data_in_views" class="t-chapter js-chapter">Validating Data in Views</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_summary-id00027" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_review-id00028" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#chapter_summary-id00029" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#answers-id00030" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot1_review" class="t-chapter js-chapter">Objective 3.1: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot1_thought_experiment" class="t-chapter js-chapter">Objective 3.1: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot2_review" class="t-chapter js-chapter">Objective 3.2: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot2_thought_experiment" class="t-chapter js-chapter">Objective 3.2: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot3_review" class="t-chapter js-chapter">Objective 3.3: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch03.html#objective_3dot3_thought_experiment" class="t-chapter js-chapter">Objective 3.3: Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html" class="t-chapter js-chapter">4. Designing Security Architecture and Implementation</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot1_plan_for_operational_sec" class="t-chapter js-chapter">Objective 4.1: Plan for Operational Security</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#planning_code_access_security" class="t-chapter js-chapter">Planning Code Access Security</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_trust_levels" class="t-chapter js-chapter">Using Trust Levels</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_cas_imperatively" class="t-chapter js-chapter">Using CAS Imperatively</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_application_domains" class="t-chapter js-chapter">Using Application Domains</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#understanding_process_identity" class="t-chapter js-chapter">Understanding Process Identity</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#understanding_impersonation_and_delegati" class="t-chapter js-chapter">Understanding Impersonation and Delegation</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#impersonating_users" class="t-chapter js-chapter">Impersonating Users</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#delegating_credentials" class="t-chapter js-chapter">Delegating Credentials</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_summary-id00032" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_review-id00033" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot2_design_an_authentication" class="t-chapter js-chapter">Objective 4.2: Design an Authentication and Authorization Model</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_aspdotnet_membership" class="t-chapter js-chapter">Using ASP.NET Membership</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#implementing_authorization" class="t-chapter js-chapter">Implementing Authorization</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#authorizing_access_with_configuration_fi" class="t-chapter js-chapter">Authorizing Access with Configuration Files</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#declaratively_requiring_membership_roles" class="t-chapter js-chapter">Declaratively Requiring Membership Roles</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#imperatively_requiring_membership_roles" class="t-chapter js-chapter">Imperatively Requiring Membership Roles</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#planning_role_management" class="t-chapter js-chapter">Planning Role Management</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#storing_passwords" class="t-chapter js-chapter">Storing Passwords</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_authorization_manager" class="t-chapter js-chapter">Using Authorization Manager</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#designing_trusted_subsystems" class="t-chapter js-chapter">Designing Trusted Subsystems</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_summary-id00034" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_review-id00035" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot3_plan_for_minimizing_atta" class="t-chapter js-chapter">Objective 4.3: Plan for Minimizing Attack Surfaces</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#handling_user_input" class="t-chapter js-chapter">Handling User Input</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#throttling_input" class="t-chapter js-chapter">Throttling Input</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#filtering_requests" class="t-chapter js-chapter">Filtering Requests</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#filtering_cross-site_scripting_attacks" class="t-chapter js-chapter">Filtering Cross-Site Scripting Attacks</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#filtering_cross-site_request_forgery_att" class="t-chapter js-chapter">Filtering Cross-Site Request Forgery Attacks</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#filtering_by_source_ip_address" class="t-chapter js-chapter">Filtering by Source IP Address</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#implementing_custom_filtering" class="t-chapter js-chapter">Implementing Custom Filtering</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#using_ssl" class="t-chapter js-chapter">Using SSL</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_summary-id00036" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_review-id00037" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#chapter_summary-id00038" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#answers-id00039" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot1_review" class="t-chapter js-chapter">Objective 4.1: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot1_thought_experiment" class="t-chapter js-chapter">Objective 4.1: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot2_review" class="t-chapter js-chapter">Objective 4.2: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot2_thought_experiment" class="t-chapter js-chapter">Objective 4.2: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot3_review" class="t-chapter js-chapter">Objective 4.3: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch04.html#objective_4dot3_thought_experiment" class="t-chapter js-chapter">Objective 4.3: Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html" class="t-chapter js-chapter">5. Preparing for and Investigating Application Issues</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot1_choose_a_testing_methodo" class="t-chapter js-chapter">Objective 5.1: Choose a Testing Methodology</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#understanding_testing_methodologies" class="t-chapter js-chapter">Understanding Testing Methodologies</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#understanding_code_coverage" class="t-chapter js-chapter">Understanding Code Coverage</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#testing_the_appropriate_layer" class="t-chapter js-chapter">Testing the Appropriate Layer</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_summary-id00040" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_review-id00041" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot2_design_an_exception-hand" class="t-chapter js-chapter">Objective 5.2: Design an Exception-Handling Strategy</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#designing_an_exception-handling_strategy" class="t-chapter js-chapter">Designing an Exception-Handling Strategy</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#processing_unhandled_exceptions_in_aspdo" class="t-chapter js-chapter">Processing Unhandled Exceptions in ASP.NET</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#using_pageunderscoreerror" class="t-chapter js-chapter">Using Page_Error</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#using_pagedoterrorpage" class="t-chapter js-chapter">Using Page.ErrorPage</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#using_applicationunderscoreerror" class="t-chapter js-chapter">Using Application_Error</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#using_the_webdotconfig_file" class="t-chapter js-chapter">Using the Web.config File</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#processing_unhandled_exceptions_in_mvc_a" class="t-chapter js-chapter">Processing Unhandled Exceptions in MVC Applications</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_summary-id00042" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_review-id00043" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot3_recommend_an_approach_to" class="t-chapter js-chapter">Objective 5.3: Recommend an Approach to Debugging</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#debugging_complex_issues" class="t-chapter js-chapter">Debugging Complex Issues</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#debugging_deadlocks" class="t-chapter js-chapter">Debugging Deadlocks</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#debugging_memory_dumps" class="t-chapter js-chapter">Debugging Memory Dumps</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#debugging_assembly_binding" class="t-chapter js-chapter">Debugging Assembly Binding</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#performing_a_root-cause_analysis" class="t-chapter js-chapter">Performing a Root-Cause Analysis</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#attaching_to_processes" class="t-chapter js-chapter">Attaching to Processes</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#debugging_javascript" class="t-chapter js-chapter">Debugging JavaScript</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#controlling_debugger_displays" class="t-chapter js-chapter">Controlling Debugger Displays</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_summary-id00044" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_review-id00045" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot4_recommend_an_approach_to" class="t-chapter js-chapter">Objective 5.4: Recommend an Approach to Performance Issues</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#monitoring_applications" class="t-chapter js-chapter">Monitoring Applications</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#logging_tracing" class="t-chapter js-chapter">Logging Tracing</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#caching_pages_and_fragments" class="t-chapter js-chapter">Caching Pages and Fragments</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_summary-id00046" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_review-id00047" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#chapter_summary-id00048" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#answers-id00049" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot1_review" class="t-chapter js-chapter">Objective 5.1: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot1_thought_experiment" class="t-chapter js-chapter">Objective 5.1: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot2_review" class="t-chapter js-chapter">Objective 5.2: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot2_thought_experiment" class="t-chapter js-chapter">Objective 5.2: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot3_review" class="t-chapter js-chapter">Objective 5.3: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot3_thought_experiment" class="t-chapter js-chapter">Objective 5.3: Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot4_review" class="t-chapter js-chapter">Objective 5.4: Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch05.html#objective_5dot4_thought_experiment" class="t-chapter js-chapter">Objective 5.4: Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html" class="t-chapter js-chapter">6. Designing a Deployment Strategy</a> <ol> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot1_design_a_deployment_proc" class="t-chapter js-chapter">Objective 6.1: Design a Deployment Process</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#understanding_deployment_methods" class="t-chapter js-chapter">Understanding Deployment Methods</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#creating_web_packages" class="t-chapter js-chapter">Creating Web Packages</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#deploying_applications_with_xcopy" class="t-chapter js-chapter">Deploying Applications with XCopy</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#publishing_web_applications" class="t-chapter js-chapter">Publishing Web Applications</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#creating_windows_installer_packages" class="t-chapter js-chapter">Creating Windows Installer Packages</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#preventing_websites_and_applications_fro" class="t-chapter js-chapter">Preventing Websites and Applications from Being Updated</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#deploying_applications_as_a_single_assem" class="t-chapter js-chapter">Deploying Applications as a Single Assembly</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_summary-id00051" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_review-id00052" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot2_design_configuration_man" class="t-chapter js-chapter">Objective 6.2: Design Configuration Management</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#understanding_the_configuration_hierarch" class="t-chapter js-chapter">Understanding the Configuration Hierarchy</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#using_the_configsource_attribute" class="t-chapter js-chapter">Using the ConfigSource Attribute</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#modifying_configuration_files_for_differ" class="t-chapter js-chapter">Modifying Configuration Files for Different Environments</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#comparing_iis_to_the_visual_studio_devel" class="t-chapter js-chapter">Comparing IIS to the Visual Studio Development Server</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#configuring_application_pools" class="t-chapter js-chapter">Configuring Application Pools</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#migrating_between_different_versions_of" class="t-chapter js-chapter">Migrating Between Different Versions of the .NET Framework</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_summary-id00053" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_review-id00054" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot3_plan_for_scalability_and" class="t-chapter js-chapter">Objective 6.3: Plan for Scalability and Reliability</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#scaling_web_applications" class="t-chapter js-chapter">Scaling Web Applications</a> <ol> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#scaling_up" class="t-chapter js-chapter">Scaling Up</a> </li> <li class="toc-level-4 t-toc-level-4"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#scaling_out" class="t-chapter js-chapter">Scaling Out</a> </li> </ol> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#moving_to_the_cloud" class="t-chapter js-chapter">Moving to the Cloud</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#load_testing" class="t-chapter js-chapter">Load Testing</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#using_queuing" class="t-chapter js-chapter">Using Queuing</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#performance_tuning" class="t-chapter js-chapter">Performance Tuning</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_summary-id00055" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_review-id00056" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot4_design_a_health-monitori" class="t-chapter js-chapter">Objective 6.4: Design a Health-Monitoring Strategy</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#understanding_health-monitoring_events" class="t-chapter js-chapter">Understanding Health-Monitoring Events</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#understanding_event_providers" class="t-chapter js-chapter">Understanding Event Providers</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#configuring_health_monitoring" class="t-chapter js-chapter">Configuring Health Monitoring</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#designing_a_health-monitoring_strategy" class="t-chapter js-chapter">Designing a Health-Monitoring Strategy</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_summary-id00057" class="t-chapter js-chapter">Objective Summary</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_review-id00058" class="t-chapter js-chapter">Objective Review</a> </li> </ol> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#chapter_summary-id00059" class="t-chapter js-chapter">Chapter Summary</a> </li> <li class="toc-level-2 t-toc-level-2"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#answers-id00060" class="t-chapter js-chapter">Answers</a> <ol> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot1_review" class="t-chapter js-chapter">Objective 6.1 Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot1_thought_experiment" class="t-chapter js-chapter">Objective 6.1 Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot2_review" class="t-chapter js-chapter">Objective 6.2 Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot2_thought_experiment" class="t-chapter js-chapter">Objective 6.2 Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot3_review" class="t-chapter js-chapter">Objective 6.3 Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot3_thought_experiment" class="t-chapter js-chapter">Objective 6.3 Thought Experiment</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot4_review" class="t-chapter js-chapter">Objective 6.4 Review</a> </li> <li class="toc-level-3 t-toc-level-3"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ch06.html#objective_6dot4_thought_experiment" class="t-chapter js-chapter">Objective 6.4 Thought Experiment</a> </li> </ol> </li> </ol> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/apa.html" class="t-chapter js-chapter">A. About the Author</a> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/ix01.html" class="t-chapter js-chapter">Index</a> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/author_bios.html" class="t-chapter js-chapter">About the Author</a> </li> <li class="toc-level-1 t-toc-level-1"> <a href="https://learning.oreilly.com/library/view/mcpd-70-519-exam/9780735664814/copyright.html" class="t-chapter js-chapter">Copyright</a> </li> </ol> <div id="showMoreTOC" class="showMore hidden"><button class="more"><span class="screen-reader-text">Show and hide more</span></button></div> </div> </div> <div id="product-information" class="title-product-information"> <div class="content"> <h2>Product information</h2> <ul class="detail-product-information"> <li><span class="name">Title:</span> <span class="value">MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4</span></li> <li><span class="name">Author(s):</span> <span class="value authors">Tony Northrup</span></li> <li><span class="name">Release date:</span> <span class="value">October 2011</span></li> <li><span class="name">Publisher(s):</span> <span class="value t-publishers">Microsoft Press</span></li> <li><span class="name">ISBN:</span> <span class="value t-isbn">9780735664814</span></li> </ul> </div> </div> <div class="title-recommendations" id="recommendations"> <div class="content"> <h2 class="t-recommendations-heading">You might also like</h2> <div class="recommendations"> <a id="recommendation1" class="recommendations-item" href="https://learning.oreilly.com/library/view/-/9780735666641/" data-id="9780735666641"> <figure class="recommendations-cover" style="background-image:url(https://learning.oreilly.com/library/cover/9780735666641//300h/)"></figure> <p class="recommendations-format recommendations-format-book">book</p> <h3 class="recommendations-title">MCPD 70-518 Exam Ref: Designing and Developing Windows® Applications Using Microsoft® .NET Framework 4</h3> <p class="recommendations-authors"> by Tony Northrup and Matthew A. Stoecker </p> <p class="recommendations-description">Professional-level prep for the professional-level exam. Prepare for MCPD Exam 70-518—and help demonstrate your real-world mastery …</p> </a> <a id="recommendation2" class="recommendations-item" href="https://learning.oreilly.com/library/view/-/9780735677418/" data-id="9780735677418"> <figure class="recommendations-cover" style="background-image:url(https://learning.oreilly.com/library/cover/9780735677418//300h/)"></figure> <p class="recommendations-format recommendations-format-book">book</p> <h3 class="recommendations-title">Exam Ref 70-486: Developing ASP.NET MVC 4 Web Applications</h3> <p class="recommendations-authors"> by William Penberthy </p> <p class="recommendations-description">Prepare for Microsoft Exam 70-486—and help demonstrate your real-world mastery of developing ASP.NET MVC-based solutions. Designed …</p> </a> <a id="recommendation3" class="recommendations-item" href="https://learning.oreilly.com/library/view/-/9781430224556/" data-id="9781430224556"> <figure class="recommendations-cover" style="background-image:url(https://learning.oreilly.com/library/cover/9781430224556//300h/)"></figure> <p class="recommendations-format recommendations-format-book">book</p> <h3 class="recommendations-title">Introducing .NET 4.0: with Visual Studio 2010</h3> <p class="recommendations-authors"> by Alex Mackey </p> <p class="recommendations-description">You may know what's happening in C#, but what about the Azure cloud? How is that …</p> </a> <a id="recommendation4" class="recommendations-item" href="https://learning.oreilly.com/library/view/-/9780132565851/" data-id="9780132565851"> <figure class="recommendations-cover" style="background-image:url(https://learning.oreilly.com/library/cover/9780132565851//300h/)"></figure> <p class="recommendations-format recommendations-format-book">book</p> <h3 class="recommendations-title">ASP.NET 4 Unleashed</h3> <p class="recommendations-authors"> by Stephen Walther, Kevin Hoffman, Nate Dudek </p> <p class="recommendations-description">The most comprehensive book on Microsoft’s new ASP.NET 4, ASP.NET 4 Unleashed covers all facets of …</p> </a> </div> </div> </div> </section> </div> </main> <footer id="footer" class="footer"> <div class="content"> <div class="footer-main" aria-label="company info"> <div class="footer-mainLeft"> <div class="footer-mainLeftOne"> <div class="footer-approach"> <h2 class="footer-header"><a href="https://www.oreilly.com/about/">About O’Reilly</a></h2> <ul class="footer-links"> <li><a href="https://www.oreilly.com/work-with-us.html">Teach/write/train</a></li> <li><a href="https://www.oreilly.com/careers/">Careers</a></li> <li><a href="https://www.oreilly.com/press/">Press releases</a></li> <li><a href="https://www.oreilly.com/press/media-coverage.html">Media coverage</a></li> <li><a href="https://www.oreilly.com/partner/signup.csp">Community partners</a></li> <li><a href="https://www.oreilly.com/affiliates/">Affiliate program</a></li> <li><a href="https://www.oreilly.com/online-learning/rfp.html">Submit an RFP</a></li> <li><a href="https://www.oreilly.com/diversity/">Diversity</a></li> <li><a href="https://www.oreilly.com/content-marketing-solutions.html" id="footerSponsorshipLink">O’Reilly for marketers</a></li> </ul> </div> </div> <div class="footer-mainLeftTwo"> <div class="footer-contact"> <h2 class="footer-header"><a href="https://www.oreilly.com/online-learning/support/">Support</a></h2> <ul class="footer-links"> <li><a href="https://www.oreilly.com/about/contact.html">Contact us</a></li> <li><a href="https://www.oreilly.com/emails/newsletters/">Newsletters</a></li> <li><a href="https://www.oreilly.com/privacy.html">Privacy policy</a></li> </ul> <a href="https://twitter.com/oreillymedia" target="_blank"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 400 400" style="enable-background:new 0 0 400 400;" xml:space="preserve"><style type="text/css">.st0{fill:#ee0000;}.st1{fill:#FFFFFF;}</style><g id="Red"><circle class="st0" cx="200" cy="200" r="200"/></g><g id="Logo__x2014__FIXED"><path class="st1" d="M163.4,305.5c88.7,0,137.2-73.5,137.2-137.2c0-2.1,0-4.2-0.1-6.2c9.4-6.8,17.6-15.3,24.1-25 c-8.6,3.8-17.9,6.4-27.7,7.6c10-6,17.6-15.4,21.2-26.7c-9.3,5.5-19.6,9.5-30.6,11.7c-8.8-9.4-21.3-15.2-35.2-15.2 c-26.6,0-48.2,21.6-48.2,48.2c0,3.8,0.4,7.5,1.3,11c-40.1-2-75.6-21.2-99.4-50.4c-4.1,7.1-6.5,15.4-6.5,24.2 c0,16.7,8.5,31.5,21.5,40.1c-7.9-0.2-15.3-2.4-21.8-6c0,0.2,0,0.4,0,0.6c0,23.4,16.6,42.8,38.7,47.3c-4,1.1-8.3,1.7-12.7,1.7 c-3.1,0-6.1-0.3-9.1-0.9c6.1,19.2,23.9,33.1,45,33.5c-16.5,12.9-37.3,20.6-59.9,20.6c-3.9,0-7.7-0.2-11.5-0.7 C110.8,297.5,136.2,305.5,163.4,305.5"/></g></svg></a> <a href="https://www.linkedin.com/company/oreilly-media" target="_blank"><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.25 32.25"><defs><style>.cls-1{fill:#E00;fill-rule:evenodd;}</style></defs><title>linkedin-logo</title><path class="cls-1" d="M17.43,13.53v0l0,0ZM16.12,0A16.13,16.13,0,1,0,32.25,16.12,16.12,16.12,0,0,0,16.12,0ZM11.77,22.92H8.12v-11h3.65ZM9.94,10.44h0a1.89,1.89,0,0,1-2-1.89A1.91,1.91,0,0,1,10,6.65a1.9,1.9,0,1,1,0,3.79Zm15,12.48H21.28V17.05c0-1.48-.53-2.49-1.85-2.49a2,2,0,0,0-1.88,1.34,2.63,2.63,0,0,0-.12.89v6.13H13.79s.05-10,0-11h3.64V13.5a3.63,3.63,0,0,1,3.29-1.82c2.4,0,4.21,1.57,4.21,4.95Z"/></svg></a> <a href="https://www.youtube.com/user/OreillyMedia" target="_blank"><svg data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.25 32.25"><defs><style>.cls-1{fill:#E00;fill-rule:evenodd;}</style></defs><title>youtube-logo</title><path class="cls-1" d="M18.35,18.68a.89.89,0,0,0-.86.63V16.94h-1v7.59h1v-.59a.92.92,0,0,0,.89.74c.52,0,.86-.36,1-1.07a8.56,8.56,0,0,0,.14-1.9,10.47,10.47,0,0,0-.12-1.93C19.21,19.05,18.87,18.68,18.35,18.68Zm.09,4.14c-.05.52-.2.77-.45.77s-.43-.21-.49-.63a7.22,7.22,0,0,1,0-1c0-.72,0-1.14,0-1.26.07-.58.23-.88.51-.88s.4.27.46.79c0,.09,0,.47,0,1.13S18.46,22.71,18.44,22.82ZM8.61,18.19H9.86v6.34H11V18.19H12.2V16.94H8.61Zm7.71-6.12c.27,0,.43-.22.49-.66,0-.09,0-.45,0-1.07V9.78c0-.58,0-.93,0-1-.07-.43-.23-.65-.48-.65s-.41.19-.48.57a8.79,8.79,0,0,0,0,1v.53c0,.71,0,1.09,0,1.16C15.88,11.82,16.05,12.07,16.32,12.07Zm-1.74,10.4a2.92,2.92,0,0,1-.06.71c-.07.25-.2.37-.4.37s-.32-.11-.38-.34a2.63,2.63,0,0,1-.05-.66V18.83h-1v4.48c0,.91.33,1.37,1,1.37A1,1,0,0,0,14.6,24v.57h1v-5.7h-1Zm7.1-3.79a1.35,1.35,0,0,0-1.22.59,2.48,2.48,0,0,0-.3,1.07c0,.23,0,.61,0,1.16s0,1.13,0,1.37a2.93,2.93,0,0,0,.35,1.27,1.25,1.25,0,0,0,1.14.54,1.36,1.36,0,0,0,1.13-.45,2.29,2.29,0,0,0,.37-1.43s0-.07,0-.11v-.12h-1c0,.75-.17,1.12-.51,1.12s-.38-.18-.45-.56a4.68,4.68,0,0,1-.06-.9c0-.18,0-.31,0-.37h2v-.43a4.86,4.86,0,0,0-.3-2.11A1.28,1.28,0,0,0,21.68,18.68ZM22.15,21h-1c0-.05,0-.11,0-.16v-.08a1.64,1.64,0,0,1,.11-.8.39.39,0,0,1,.38-.23.42.42,0,0,1,.43.33,2.32,2.32,0,0,1,.07.7Zm-6-21A16.13,16.13,0,1,0,32.25,16.12,16.12,16.12,0,0,0,16.12,0Zm2.51,7.2h1V11a2.52,2.52,0,0,0,.06.66c.06.23.18.34.38.34s.34-.12.41-.37a3.76,3.76,0,0,0,.05-.71V7.2h1v5.74h-1v-.57a1,1,0,0,1-.93.72c-.66,0-1-.46-1-1.38ZM15,8a1.29,1.29,0,0,1,1.33-.92A1.3,1.3,0,0,1,17.65,8a6.77,6.77,0,0,1,.23,2.1,6.77,6.77,0,0,1-.23,2.1,1.3,1.3,0,0,1-1.32.92A1.29,1.29,0,0,1,15,12.17a6.77,6.77,0,0,1-.23-2.1A6.86,6.86,0,0,1,15,8ZM11.45,5.3l.89,2.87.88-2.87H14.4L12.88,9.7v3.24h-1.1V9.7L10.24,5.3ZM24.93,23.91a3,3,0,0,1-3,3h-12a3,3,0,0,1-3-3V18.05a3,3,0,0,1,3-3h12a3,3,0,0,1,3,3Z"/></svg></a> </div> <div class="footer-international"> <h2 class="footer-header">International</h2> <ul class="footer-links"> <li><a href="https://www.oreilly.com/anz/">Australia & New Zealand</a></li> <li><a href="https://oreilly.hk/">Hong Kong & Taiwan</a></li> <li><a href="https://oreillylearning.in/">India</a></li> <li><a href="https://oreilly.id/">Indonesia</a></li> <li><a href="https://www.oreilly.co.jp/index.shtml">Japan</a></li> </ul> </div> </div> </div> <div class="footer-download" id="download-info"> <h2 class="footer-header">Download the O’Reilly App</h2> <p>Take O’Reilly with you and learn anywhere, anytime on your phone <span class="nowrap">and tablet.</span></p> <div class="footer-downloadLinks"> <a href="https://itunes.apple.com/us/app/safari-to-go/id881697395"><img src="https://cdn.oreillystatic.com/oreilly/images/app-store-logo.png" alt="Apple app store" /></a> <a href="https://play.google.com/store/apps/details?id=com.safariflow.queue"><img src="https://cdn.oreillystatic.com/oreilly/images/google-play-logo.png" alt="Google play store" /></a> </div> </div> <div class="footer-download" id="tv-info"> <h2 class="footer-header">Watch on your big screen</h2> <p>View all O’Reilly videos, Superstream events, and Meet the Expert sessions on your <span class="nowrap">home TV.</span></p> <div class="footer-downloadLinks"> <a href="https://channelstore.roku.com/details/c8a2d0096693eb9455f6ac165003ee06/oreilly"><img src="https://cdn.oreillystatic.com/oreilly/images/roku-tv-logo.png" alt="Roku Payers and TVs" /></a> <a href="https://www.amazon.com/OReilly-Media-Inc/dp/B087YYHL5C/ref=sr_1_2?dchild=1&keywords=oreilly&qid=1604964116&s=mobile-apps&sr=1-2"><img src="https://cdn.oreillystatic.com/oreilly/images/amazon-appstore-logo.png" alt="Amazon appstore" /></a> </div> </div> <div class="footer-donotsell" id="donotsell-info"> <h2 class="footer-header"><a href="https://www.oreilly.com/privacy.html?donotsell=show">Do not sell my personal information</a></h2> </div> </div> <div class="footer-subfooter"> <a href="https://www.oreilly.com" title="home page" aria-current="page"> <img class="footer-subfooterLogo" id="footer-subfooterLogo" src="https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red.svg" onerror="this.src='https://cdn.oreillystatic.com/images/sitewide-headers/oreilly_logo_mark_red_@2x.png'; this.onerror=null;" alt="O'Reilly home"> </a> <p>© 2024, O’Reilly Media, Inc. All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.</p> <p><a href="https://www.oreilly.com/terms/">Terms of service</a> • <a href="https://www.oreilly.com/privacy.html">Privacy policy</a> • <a href="https://www.oreilly.com/about/editorial_independence.html">Editorial independence</a></p> </div> </div> </footer> <div class="exitIntentOverlay" id="exitIntentOverlay"> <div class="exitIntentOverlay-contents"> <div class="exitIntentOverlay-columns"> <div class="exitIntentOverlay-text"> <h2>Don’t leave <span class="nowrap">empty-handed</span></h2> <p>Get Mark Richards’s <em>Software Architecture Patterns</em> ebook to better understand how to design components—and how they should interact.</p> <h3>It’s yours, free.</h3> <a class="exitIntentOverlay-cta" href="https://get.oreilly.com/ind_software-architecture-patterns.html">Get it now</a> </div> <figure class="exitIntentOverlay-figure"><img src="https://cdn.oreillystatic.com/oreilly/images/report-software-architecture-patterns-553x420.jpg" alt="Cover of Software Architecture Patterns"></figure> </div> <button class="exitIntentOverlay-close">Close</button> </div> </div> <div class="exitIntentOverlay2" id="exitIntentOverlay2"> <div class="exitIntentOverlay-contents"> <div class="exitIntentOverlay-columns"> <div class="exitIntentOverlay-text"> <h2>Check it out now <span class="nowrap">on O’Reilly</span></h2> <p>Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems <span class="nowrap">every day.</span></p> <a id="exitIntentOverlay2StartYourFreeTrial" class="exitIntentOverlay-cta" href="https://www.oreilly.com/start-trial/">Start your free trial</a> <a class="exitIntentOverlay-cta" href="https://learning.oreilly.com/signup/">Become a member now</a> </div> <figure class="exitIntentOverlay-figure"><img src="https://cdn.oreillystatic.com/oreilly/images/laptop-flat-topics-ml-1124x638.png" alt=""></figure> </div> <button class="exitIntentOverlay-close">Close</button> </div> </div> <script> var g = { }; </script> <script> window.dataLayer = window.dataLayer || []; window.dataLayer.push({ 'product.title': "MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4", 'product.type': "book", 'product.identifier': "9780735664814", 'content.identifier': "9780735664814", 'content.publisher': "Microsoft Press", 'content.free': "no", // 'content.subdirectory': "none", 'content.subTopic': "none", 'content.parentTopic': "none", 'content.formatType': "book", 'content.author': "Tony Northrup", 'content.releaseDate': "2011-10-17", 'content.title': "MCPD 70-519 Exam Ref: Designing and Developing Web Applications Using Microsoft® .NET Framework 4", }); </script> <script> // Datadog RUM integration to measure performance and Core Web Vitals // https://docs.datadoghq.com/real_user_monitoring/browser/#overview // https://web.dev/vitals/ (function(h,o,u,n,d) { h=h[d]=h[d]||{q:[],onReady:function(c){h.q.push(c)}} d=o.createElement(u);d.async=1;d.src=n n=o.getElementsByTagName(u)[0];n.parentNode.insertBefore(d,n) })(window,document,'script','https://www.datadoghq-browser-agent.com/datadog-rum.js','DD_RUM') DD_RUM.onReady(function() { DD_RUM.init({ clientToken: 'pub1221d36d3b6dfda5f3c3b7ed22e3b6af', applicationId: '291bce39-f950-4fc6-a610-10abfead0661', site: 'datadoghq.com', service:'anybird', env:'production', // Specify a version number to identify the deployed version of your application in Datadog // version: '1.0.0', sampleRate: 10, trackInteractions: true, }) }) </script> <script src="/library/view/static/CACHE/js/output.8902082c6123.js"></script> <noscript> <iframe src="//www.googletagmanager.com/ns.html?id=GTM-5P4V6Z" height="0" width="0" style="display:none;visibility:hidden"> </iframe> </noscript> <script async defer src="/library/view/pageview.js"></script> <script src="//ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script> <script src="https://cdn.oreillystatic.com/assets/js/anybird/promotion.js"></script> <script> //Exit intent overlay scripts //Setter and getter for exit intent cookie const ExitIntentCookieService = { setCookie(name, value, days) { let expires = ''; if (days) { const date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = '; expires=' + date.toUTCString(); } document.cookie = name + '=' + (value || '') + expires + ';'; }, getCookie(name) { const cookies = document.cookie.split(';'); for (const cookie of cookies) { if (cookie.indexOf(name + '=') > -1) { return cookie.split('=')[1]; } } return null; } }; //When a user clicks outside overlay or close icon or hits escape key //close exit intent overlay const exit = e => { const shouldExit = [...e.target.classList].includes('exitIntentOverlay') || // user clicks on overlay [...e.target.classList].includes('exitIntentOverlay2') || // user clicks on overlay2 e.target.className === 'exitIntentOverlay-close' || // user clicks on the close icon e.keyCode === 27; // user hits escape if (shouldExit) { document.querySelector('.exitIntentOverlay').classList.remove('visible'); document.querySelector('.exitIntentOverlay2').classList.remove('visible'); } }; //When a user's cursor leaves the document //show exit intent overlay const mouseEvent = e => { const shouldShowExitIntent = !e.toElement && !e.relatedTarget && e.clientY < 10; if (shouldShowExitIntent) { document.removeEventListener('mouseout', mouseEvent); if (exitIntentCookieValue === null) { //Set value of exitIntentCookieValue exitIntentCookieValue = '1'; //make exitIntentOverlay visible document.querySelector('.exitIntentOverlay').classList.add('visible'); //Send tracking for exit intent overlay impression window.dataLayer.push({ 'event': 'eventTracker', 'eventCat': 'marketing', 'eventAct': 'exit intent imp', 'eventLbl': 'modal 1' }); } else if (exitIntentCookieValue === '1') { //Set value of exitIntentCookieValue exitIntentCookieValue = '2'; //make exitIntentOverlay2 visible document.querySelector('.exitIntentOverlay2').classList.add('visible'); //Send tracking for exit intent overlay impression window.dataLayer.push({ 'event': 'eventTracker', 'eventCat': 'marketing', 'eventAct': 'exit intent imp', 'eventLbl': 'modal 2' }); //Add click tracking for "start your free trial" button const StartYourFreeTrial = document.querySelector("#exitIntentOverlay2StartYourFreeTrial"); StartYourFreeTrial.addEventListener('click', function(e) { window.dataLayer.push({ 'event': 'eventTracker', 'eventCat': 'marketing', 'eventAct': 'exit intent', 'eventLbl': 'start your free trial' }); }); } //Set exit intent cookie ExitIntentCookieService.setCookie('libraryExitIntentShown', exitIntentCookieValue, 30); } }; //If exit intentcookie doesn't exist, //then initialize exit intent overlay scripts var exitIntentCookieValue = ExitIntentCookieService.getCookie('libraryExitIntentShown'); if (exitIntentCookieValue === null || exitIntentCookieValue === '1') { setTimeout(() => { document.addEventListener('mouseout', mouseEvent); document.addEventListener('keydown', exit); document.querySelector('.exitIntentOverlay').addEventListener('click', exit); document.querySelector('.exitIntentOverlay2').addEventListener('click', exit); }, 0); } </script> <script> jQuery(document).ready(function($) { //Toggle isActive and mobileHidden classes for mobileNavButton $('nav #mobileNavButton').on('click', function() { var expanded = $(this).attr('aria-expanded') === 'true' || false; $(this).attr('aria-expanded', !expanded); $(this).toggleClass("isActive"); $(this).next().toggleClass("mobileHidden"); }); //Toggle isFocused class for keyboard navigation of submenus $('nav #menuList .menuList-subItem a').each(function(navItem) { $(this).on('focus', function() { $(this).parent().parent().toggleClass('isFocused'); }); $(this).on('blur', function() { $(this).parent().parent().toggleClass('isFocused'); }); }); //Toggle mobileHidden class accordian elements $('.mobileAccordian').each(function() { var $btn = $(this).find('button'); var $target = $(this).next(); $btn.on('click', function() { var expanded = $btn.attr('aria-expanded') === 'true' || false; $btn.attr('aria-expanded', !expanded); $target.toggleClass("mobileHidden"); }); }); //Hide title page's long description behind disclosure button var titleDescriptionExtra = $('.title-description p:first-of-type').nextAll(':nth-child(3)').nextAll(); titleDescriptionExtra.wrapAll('<div id="titleDescriptionExtra" />'); if (titleDescriptionExtra.length > 0) { $('#titleDescriptionExtra').toggle(); $('#showMoreDescription').removeClass('hidden'); $('#showMoreDescription button').on('click', function() { $(this).toggleClass('more'); $('#titleDescriptionExtra').slideToggle(); }); } //Hide title page's long TOC behind disclosure button var titleTOCShort = $('.sbo-reader-title .detail-toc').find('li').slice(0,4); var titleTOCExtra = $('.sbo-reader-title .detail-toc').find('li').not(titleTOCShort); if (titleTOCExtra.length > 0) { titleTOCExtra.toggle(); $('#showMoreTOC').removeClass('hidden'); $('#showMoreTOC button').on('click', function() { $(this).toggleClass('more'); titleTOCExtra.toggle(); }); } //Hide product information on page load $('#product-information').toggle(); $('#title-tabs button').on('click', function() { var $thisTab = $(this); if (!$thisTab.hasClass('title-tab-active')) { var lastTabTarget = $('#title-tabs .title-tab-active').removeClass('title-tab-active').attr('data-target'); $('#' + lastTabTarget).toggle(); $thisTab.addClass('title-tab-active'); var $tabTarget = $(this).attr('data-target'); $('#' + $tabTarget).toggle(); } }); // Append highlight fragment hash to sign in link for highlighting if (window.location.hash.indexOf('#:-:text') > -1) { // encode the hash symbol to prevent it from being used as a location hash by groot-fe var highlightFragment = window.location.hash.replace('#:-:text', '%23:-:text'); $('#chapter-sign-in').attr('href', $('#chapter-sign-in').attr('href') + highlightFragment); } //Trigger GA events for related products $('#recommendations .recommendations-item').each(function(i) { $(this).on('click', function(e) { var cardTitle = $(this).find('.recommendations-title').text().toLowerCase(); var productType = $(this).find('.recommendations-format').text().toLowerCase(); var contentID = $(this).attr('data-id'); var eventLbl = String(i); dataLayer.push({ 'product.title': undefined, 'content.formatType': undefined, 'product.identifier': undefined, 'content.title': undefined, 'content.author': undefined, 'content.publisher': undefined, 'content.releaseDate': undefined, 'content.free': undefined, 'content.subdirectory': undefined, 'content.parentTopic': undefined, 'content.subTopic': undefined, 'event': 'eventTracker', 'eventCat': 'recommended titles', 'eventAct': 'card click', 'eventLbl': eventLbl, 'eventVal': 0, 'nonInteraction': 0, 'cardTitle': cardTitle, 'product.type': productType, 'content.identifier': contentID, 'eventCallback': function() { dataLayer.push({'cardTitle': undefined}); }, 'eventTimeout' : 2000 }); }); }); //Trigger GA event for "Try Now" nav button $('.menuList-tryNow > a').on('click', function() { dataLayer.push({ 'event': 'eventTracker', 'eventCat':'marketing', 'eventAct':'nav', 'eventLbl':'try now', 'eventVal':0, 'nonInteraction': 0, }); }); //Trigger GA event for "Sign In" nav button $('.menuList-signIn > a').on('click', function() { dataLayer.push({ 'event': 'eventTracker', 'eventCat':'marketing', 'eventAct':'nav', 'eventLbl':'sign in', 'eventVal':0, 'nonInteraction': 0, }); }); }); </script> <!-- MARC Intercept Support --> <script src="https://service.seamlessaccess.org/thiss.js"></script> <script type="text/javascript" src="/osPFNoXjIr/ROPA9NxH34/3NcOQ8mbw2NrJ1ED/VSVqQ0Z-JAw/DTI/iK35FJXc"></script><link rel="stylesheet" type="text/css" href="/osPFNoXjIr/ROPA9NxH34/2tcOOm/Il1GQ0Z-JAw/NXx/nUBEKZ0dX"> <script src="/osPFNoXjIr/ROPA9NxH34/2tcOOm/Il1GQ0Z-JAw/aT8/BXjJIL0Ep" async defer></script> <div id="sec-overlay" style="display:none;"> <div id="sec-container"> </div> </div></body> </html>