Pro ASP.NET 4 CMS. Using the JET 4 Framework. Advanced Techniques for C# Developers. Apress. Alan Harris



Similar documents
Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Developing ASP.NET MVC 4 Web Applications MOC 20486

Developing ASP.NET MVC 4 Web Applications

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

ASP.NET Using C# (VS2012)

Advantage of Jquery: T his file is downloaded from

Beginning ASP.NET 4.5


Sample Chapters. To learn more about this book visit Microsoft Learning at:

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

Framework as a master tool in modern web development

DotNet Web Developer Training Program

Developing Windows Azure and Web Services

LabVIEW Advanced Programming Techniques

SQL Server Integration Services. Design Patterns. Andy Leonard. Matt Masson Tim Mitchell. Jessica M. Moss. Michelle Ufford

MS 20487A Developing Windows Azure and Web Services

Transition your MCPD Web Developer Skills to MCPD ASP.NET Developer 3.5 (VB)

CHAPTER 1: INTRODUCTION TO SHAREPOINT

SOFTWARE TESTING TRAINING COURSES CONTENTS

Visual Basic. murach's TRAINING & REFERENCE

SharePoint 2010/2013 Course

Ajax Development with ASP.NET 2.0

Open Source and Commercial Performance Testing Tools

No.1 IT Online training institute from Hyderabad URL: sriramtechnologies.com

GUI and Web Programming

Programming Fundamentals of Web Applications Course 10958A; 5 Days

QL Integration into Scala and Excel. Martin Dietrich

Implementing and Administering an Enterprise SharePoint Environment

Programming in HTML5 with JavaScript and CSS3

Microsoft Dynamics CRM2015 Fast Track for developers

Performance Testing for Ajax Applications

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Noramsoft Inc. Noramsoft Inc. SPT2O1O - Course Description. Developing Solutions with SharePoint Server 2010 SPT2010. Noramsoft Inc. Noramsoft Inc.

A Tool for Evaluation and Optimization of Web Application Performance

WebLOAD IDE User's Guide Version 8.0

Cleo Communications. CUEScript Training

Notes on how to migrate wikis from SharePoint 2007 to SharePoint 2010

Developing a Three Tier Web Application Using ASP.NET and Open Source Object-Oriented Database DB4Objects

AppDev OnDemand Microsoft Development Learning Library

Microsoft Dynamics Training

Programming in C# with Microsoft Visual Studio 2010

Windchill PDMLink Curriculum Guide

Beginning SQL Server Administration. Apress. Rob Walters Grant Fritchey

MICROSOFT DYNAMICS NAV COURSE OUTLINE 1) MICROSOFT DYNAMICS NAV C/SIDE SOLUTION DEVELOPMENT. Module 1: Data and Process Model

Course 10978A Introduction to Azure for Developers

This class is intended for experienced software developers who understand object-oriented programming (OOP) and C# or VB.NET.

ADS2013: App Development with SharePoint 2013

Web Server Architectures

MAGENTO HOSTING Progressive Server Performance Improvements

An introduction to creating JSF applications in Rational Application Developer Version 8.0

Skillsoft Course Directory

Enhancing your Web Experiences with ASP.NET Ajax and IIS 7

NLUI Server User s Guide

Microsoft Extending Microsoft Dynamics CRM 2011

Advanced Web Application Development using Microsoft ASP.NET

AJAX. Gregorio López López Juan Francisco López Panea

Skillsoft Course Directory January 2014

MS 10978A Introduction to Azure for Developers

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

CATALOG OF CLASSES IT and Technical Courses

SAV2013: The Great SharePoint 2013 App Venture

Google Web Toolkit. Introduction to GWT Development. Ilkka Rinne & Sampo Savolainen / Spatineo Oy

SQL Server Integration Services Design Patterns

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

Fundamentals of LoadRunner 9.0 (2 Days)

SaaS-Based Employee Benefits Enrollment System

AppFabric. Pro Windows Server. Stephen Kaufman. Danny Garber. Apress. INFORMATIONSBIBLIOTHbK TECHNISCHE. U N! V En SIT AT S R!

Elgg 1.8 Social Networking

IBM API Management Overview IBM Corporation

SelectSurvey.NET Developers Manual

Design and Functional Specification

Dimension Technology Solutions Team 2

Wiley. Automated Data Collection with R. Text Mining. A Practical Guide to Web Scraping and

Kentico CMS, 2011 Kentico Software. Contents. Mobile Development using Kentico CMS 6 2 Exploring the Mobile Environment 1

CrownPeak Java Web Hosting. Version 0.20

Comparison of ERPConnect Services (ECS) vs. Duet Enterprise for Microsoft SharePoint and SAP

Pro NuGet. Second Edition. Maarten Balliauw. Xavier Decoster

GUIDE for Authentication

A standards-based approach to application integration

10978A: Introduction to Azure for Developers

Terms and Definitions for CMS Administrators, Architects, and Developers

Visual WebGui for ASP.NET Ajax (and other Ajax) Web Developers Learn what makes Visual WebGui not just another Ajax framework

Performance Testing Web 2.0

Pro SQL Server Reporting Services. Third Edition. mm m. Brian McDonald. Shawn McGehee. Rodney Landrum. Apress*

Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

Catálogo de cursos plataforma elearning Microsoft Imagine Academy: Microsoft SQL Server y Visual Studio

Developing Microsoft SharePoint Server 2013 Core Solutions

About the Authors About the Technical Reviewer

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

CLOUD COMPUTING & WINDOWS AZURE

Microsoft. Microsoft SQL Server Integration Services. Wee-Hyong Tok. Rakesh Parida Matt Masson. Xiaoning Ding. Kaarthik Sivashanmugam

Using the vcenter Orchestrator Plug-In for vsphere Auto Deploy 1.0

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

This module provides an overview of service and cloud technologies using the Microsoft.NET Framework and the Windows Azure cloud.

Transcription:

Pro ASP.NET 4 CMS Advanced Techniques for C# Developers Using the JET 4 Framework Alan Harris Apress

Contents at a Glance. Contents About the Author About the Technical Reviewer Acknowledgments. Introduction iv v xii xiii xiv xv Chapter 1: Visual Studio 2010 and.net 4 1 Who This Book Is For 1 Who This Book Is Not For (or "Buy Me Now, Read Me Later") 2 What's New in.net 4 2 C# Optional and Named Parameters 3 C#'s dynamic Keyword 5 Dynamic and Functional Language Support 10 Parallel Processing 10 Managed Extensibility Framework (MEF) 13 Distributed Caching with Velocity 13 ASP.NET MVC 16 A Tour of Visual Studio 2010 18 Windows Presentation Foundation 18 Historical Debugging 19 Improved JavaScript IntelliSense 21 jquery Support 22

Building a CMS CMS Functional Requirements Creating the Application Framework 25 *-28 Summary Chapter 2: CMS Architecture and Development Motivations for Building a CMS 29 Motivations for Using.NET 30 Application Architecture 30 The CMS Application Tiers 32 CommonLibrary: The Data Transfer Objects 33 M 24 29 GlobalModule: The HttpModule Components of a CMS Page 35 37 Buckets 37 Embeddable Objects 39 Embeddable Permissions 41 Handling CMS Content 43 The Content Table 43 The ContentVersion Table 44 Assembling Content on Demand - 44 How Embeddable Objects Handle Versions 46 Summary 46 Chapter 3: Parallelization 47 What Is Parallelization?,...47 Good Parallelization Candidates 47 Differences from Multithreading 48 Parallel Pitfalls 48 Deadlocks 48 Race Conditions...,51 Thread Starvation 54

Amdahl's Law 55.NET 4 Parallelization Concepts 56 Task vs. Data Parallelism 56 Task Parallel Library 56 Task.Wait() 57 Parallel.For() and Parallel.ForEachO 59 Parallel LINQ (aka PLINQ)...59.AsParallelO 60 CMS Parallelization Opportunities 61 Creating a Data Mining Embeddable 62 Expanding the Data Mining Tasks 66 Tagging 70 Tagging on the Client 73 Fleshing Out the Tagging Embeddable 75 What's in a Name? 76 Handling Tag Input 79 Tag Processing in the Business Tier 82 POST Problems 87 Finalizing Tag Storage 89 Inserting Tags 92 Content Tags 96 Summary 102 Chapter 4: Managed Extensibility Framework and the Dynamic Language Runtime 103 Managed Extensibility Framework 103 The Manual Way 103 The MEF Way 105 Working from Usage to Implementation 106 Exposing Libraries via MEF 106 A Simple Plug-in Contract 107

Implementing the Plug-In 107 Using the Plug-In 108 Catalogs and Containers 112 Supporting Multiple Parts 113 Dynamic Language Runtime 117 The dynamic Keyword 118 Benefits of the dynamic Keyword 119 CMS Plug-Ins 120 lembeddable 121 Server Controls as Embeddables 122 Displaying Embeddables 124 PageAssembler 125 Additional Methodology Benefits 128 Missing DLLs 128 Exceptions in Embeddables 129 A More Complex Emeddable 130 Breadcrumbs 130 Navigating the CMS Tree 131 Summary 133 Chapter 5: jquery and Ajax in the Presentation Tier 135 An Introduction to jquery 135 The$0 Factory 136 Implicit Iteration 138 Ajax via jquery 139 Caching and Ajax 140 Avoiding Caching on GET Requests 141 Lightweight Content Delivery with Ajax and HTTP Handlers 142 Handling Asynchronous Errors Handling DOM Modifications 150 Improving the CMS Admin with jquery 154

Creating Collapsible Panels 156 Expanding with jquery 158 Displaying the JavaScript Disabled Message 160 Poka-Yoke Devices 161 Summary 164 Chapter 6: Distributed Caching via Memcached 165 What Is a Distributed Cache, and Why Is it Important? 165 Memcached 166 Acquiring a Memcached Client Library 167 Getting Started with Memcached 168 Complex Object Types 178 Protocol Considerations 181 Memcached Internals and Monitoring 183 Building a Cache-Friendly Site Tree 185 Visualizing the Tree 186 Defining a Node ; 186 Defining the Tree 187 Finding Nodes 188 Inserting Nodes 190 Serializing/Deserializing the Tree for Memcached Storage 191 Memcached Configuration Considerations 194 Summary 196 Chapter 7: Scripting via IronPython 197 How Does the CMS Benefit from Scripting Capabilities? 197 Easier Debugging 197 Rapid Prototyping 198 An Introduction to IronPython and Its Syntax 198 What Is IronPython? 198 Installing IronPython 199

The IronPython Type System 200 Creating Classes and Controlling Scope 203 Constructors as Magic Methods 206 self 207 Exception Handling 211 Conditional Logic, Iterators, and Collections 214 Accessors and Mutators 216 Assembly Compilation 217 Compiling IronPython Code to a DLL 218 Compiling IronPython Code to an Executable 219 Building Scripting Capabilities into the CMS 220 Handling Script Files Between Tiers 223 Calling Scripts for a CMS Page 224 A Simple Scripting Example 226 Summary 228 Chapter 8: Performance Tuning, Configuration, and Debugging 229 The CMS Definition of Performance 229 Latency 229 Throughput 230 Establishing Baselines 230 Component vs. System Baselines 230 The Web Capacity Analysis Tool 231 Installing WCAT 231 WCAT Concepts 231 Configurations 232 Scenarios 233 Running a WCAT Test Against the CMS 235 Interpreting Performance Results 236 Improving CMS Performance with Caching 237 HTTP.sys and the OutputCache 237

Benchmarking CMS Performance Configuration Considerations Enable Release Mode for Production 238 239 239 Removing the Server, X-Powered-By, and X-AspNet-Version Headers 241 Debugging Concepts 244 White-Box vs. Black-Box Debuggers 244 User Mode vs. Kernel Mode 245 Historical Debugging via IntelliTrace 246 Collaborative Debugging 250 Importing and Exporting Breakpoints 250 DataTip Pinning and Annotation 253 Summary -256 Chapter 9: Search Engine Optimization and Accessibility 257 An Introduction to Search Engine Optimization 257 Science or Dark Art? 258 General Guidelines 258 Friendly URLs 265 Data Requirements for Friendly URLs 265 Stored Procedures for Friendly URLs 288 Exploiting the Page Life Cycle 269 Request Exclusion 271 Retrieving Friendly URLs 273 Retrieving Alias URLs and Response.RedirectPermanent() 2?9 Summary 283 index 285