You are previewing Microsoft® ASP.NET 3.5 Step by Step, 2nd Edition.
O'Reilly logo
Microsoft® ASP.NET 3.5 Step by Step, 2nd Edition

Book Description

Teach yourself the fundamentals of Web development with ASP.NET 3.5—one step at a time. With STEP BY STEP, you get the guidance and learn-by-doing examples you need to start building Web applications and Web services in the Microsoft Visual Studio® 2008 environment. The author—a highly regarded programming expert, writer, and instructor—illuminates ASP.NET features through practical examples that help developers quickly grasp concepts and apply techniques to the real world. The book also includes a companion CD with code samples, data sets, and a fully searchable eBook.

Table of Contents

  1. Dedication
  2. Special Upgrade Offer
  3. A Note Regarding Supplemental Files
  4. Introduction
    1. The Road to ASP.NET 3.5
      1. ASP.NET 1.0 and 1.1
      2. ASP.NET 2.0
      3. ASP.NET 3.5
    2. Using This Book
      1. Who Is This Book For?
      2. Organization of This Book
      3. Getting Started
      4. Finding Your Best Starting Point in This Book
    3. Conventions and Features in This Book
      1. Conventions
      2. Other Features
    4. System Requirements
    5. Using Microsoft Access
    6. Code Samples
      1. Installing the C# Code Samples
      2. Using the Code Samples
      3. Uninstalling the Code Samples
    7. Software Release
    8. Support for This Book
      1.  
        1. Questions and Comments
  5. Acknowledgments
  6. I. Fundamentals
    1. 1. Web Application Basics
      1. HTTP Requests
        1. HTTP Requests from a Browser
        2. Making HTTP Requests without a Browser
      2. HyperText Markup Language
      3. Dynamic Content
        1. HTML Forms
        2. Common Gateway Interface (Very Retro)
        3. The Microsoft Platform as a Web Server
      4. Internet Information Services
        1. Internet Services Application Programming Interface DLLs
        2. Internet Information Services
      5. Classic ASP (Putting ASP.NET into Perspective)
      6. Web Development Concepts
      7. ASP.NET
      8. Summary
      9. Chapter 1 Quick Reference
    2. 2. ASP.NET Application Fundamentals
      1. The Canonical Hello World Application
        1. Building the HelloWorld Web Application
        2. Mixing HTML with Executable Code
        3. Server-Side Executable Blocks
          1. Adding Executable Code via a Script Block
          2. A Trip through the ASP.NET Architecture
      2. The ASP.NET Compilation Model
      3. Coding Options
        1. ASP.NET 1.x Style
        2. Modern ASP.NET Style
      4. The ASP.NET HTTP Pipeline
        1. The IIS 5.x and IIS 6.x Pipeline
        2. The IIS 7.0 Integrated Pipeline
        3. Tapping the Pipeline
          1. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpApplication</em></span>
          2. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpContext</em></span>
          3. HttpModules
          4. HttpHandlers
      5. Visual Studio and ASP.NET
        1. Local IIS Web Sites
        2. File System–Based Web Sites
        3. FTP Web Sites
        4. Remote Web Sites
        5. Hello World and Visual Studio
      6. Summary
      7. Chapter 2 Quick Reference
    3. 3. The Page Rendering Model
      1. Rendering Controls as Tags
      2. Packaging UI as Components
        1. The Page Using ASP.NET
        2. The Page’s Rendering Model
        3. The Page’s Control Tree
      3. Adding Controls Using Visual Studio
        1. Building a Page with Visual Studio
        2. Layout Considerations
      4. Summary
      5. Chapter 3 Quick Reference
    4. 4. Custom Rendered Controls
      1. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Control</em></span> Class Class
      2. Visual Studio and Custom Controls
      3. A Palindrome Checker
      4. Controls and Events
      5. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HtmlTextWriter</em></span> and Controls and Controls
      6. Controls and <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>ViewState</em></span>
      7. Summary
      8. Chapter 4 Quick Reference
    5. 5. Composite Controls
      1. Composite Controls versus Rendered Controls
      2. Custom Composite Controls
      3. User Controls
      4. When to Use Each Type of Control
      5. Summary
      6. Chapter 5 Quick Reference
    6. 6. Control Potpourri
      1. Validation
        1. How Page Validation Works
          1. Client-Side Validation
          2. Server-Side Validation
        2. Other Validators
        3. Validator Properties
      2. Image-Based Controls
      3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>TreeView</em></span>
      4. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>MultiView</em></span>
      5. Summary
      6. Chapter 6 Quick Reference
  7. II. Advanced Features
    1. 7. Web Parts
      1. A Brief History of Web Parts
      2. What Good Are Web Parts?
        1. Developing Web Parts Controls
        2. Web Parts Page Development
        3. Web Parts Application Development
      3. The Web Parts Architecture
        1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>WebPartManager</em></span> and and <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>WebZones</em></span>
        2. Built-in Zones
        3. Built-in Web Parts
      4. Developing a Web Part
      5. Summary
      6. Chapter 7 Quick Reference
    2. 8. A Consistent Look and Feel
      1. A Consistent Look and Feel
      2. ASP.NET Master Pages
      3. Themes
      4. Skins
      5. Summary
      6. Chapter 8 Quick Reference
    3. 9. Configuration
      1. Windows Configuration
      2. .NET Configuration
        1. Machine.Config
        2. Configuration Section Handlers
        3. Web.Config
        4. Managing Configuration in ASP.NET 1.x
        5. Managing Configuration in Later Versions of ASP.NET
      3. Configuring ASP.NET from IIS
      4. Summary
      5. Chapter 9 Quick Reference
    4. 10. Logging In
      1. Web-Based Security
        1. Securing IIS
        2. Basic Forms Authentication
      2. ASP.NET Authentication Services
        1. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>FormsAuthentication</em></span> Class Class
        2. An Optional Login Page
      3. Managing Users
      4. ASP.NET Login Controls
      5. Authorizing Users
      6. Summary
      7. Chapter 10 Quick Reference
    5. 11. Data Binding
      1. Representing Collections without Data Binding
      2. Representing Collections with Data Binding
        1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>ListControl</em></span>-Based Controls-Based Controls
        2. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>TreeView</em></span>
        3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Menu</em></span>
        4. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>FormView</em></span>
        5. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>GridView</em></span>
        6. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DetailsView</em></span>
        7. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DataList</em></span>
        8. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Repeater</em></span>
      3. Simple Data Binding
      4. Accessing Databases
      5. The .NET Database Story
        1. Connections
        2. Commands
        3. Managing Results
          1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DataReader</em></span>
          2. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DataSet</em></span>
      6. ASP.NET Data Sources
      7. Other Data-bound Controls
      8. LINQ
      9. Summary
      10. Chapter 11 Quick Reference
    6. 12. Web Site Navigation
      1. ASP.NET’s Navigation Support
        1. The Navigation Controls
        2. XML Site Maps
        3. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>SiteMapProvider</em></span>
        4. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>SiteMap</em></span> Class Class
        5. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>SiteMapNode</em></span>
      2. The Navigation Controls
        1. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Menu</em></span> and and <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>TreeView</em></span> Controls Controls
        2. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>SiteMapPath</em></span> Control Control
        3. Site Map Configuration
      3. Building a Navigable Web Site
      4. Trapping the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>SiteMapResolve</em></span> Event Event
      5. Custom Attributes for Each Node
      6. Security Trimming
      7. URL Mapping
      8. Summary
      9. Chapter 12 Quick Reference
    7. 13. Personalization
      1. Personalizing Web Visits
      2. Personalization in ASP.NET
        1. User Profiles
        2. Personalization Providers
      3. Using Personalization
        1. Defining Profiles in Web.Config
        2. Using Profile Information
        3. Saving Profile Changes
        4. Profiles and Users
      4. Summary
      5. Chapter 13 Quick Reference
  8. III. Caching and State Management
    1. 14. Session State
      1. Why Session State?
      2. ASP.NET and Session State
      3. Introduction to Session State
      4. Session State and More Complex Data
      5. Configuring Session State
        1. Turning Off Session State
        2. Storing Session State <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>InProc</em></span>
        3. Storing Session State in a State Server
        4. Storing Session State in a Database
      6. Tracking Session State
        1. Tracking Session State with Cookies
        2. Tracking Session State with the URL
        3. Using AutoDetect
        4. Applying Device Profiles
        5. Session State Timeouts
      7. Other Session Configuration Settings
      8. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Wizard</em></span> Control: Alternative to Session State Control: Alternative to Session State
      9. Summary
      10. Chapter 14 Quick Reference
    2. 15. Application Data Caching
      1. Using the Data Cache
      2. Impact of Caching
      3. Managing the Cache
        1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>DataSet</em></span>s in Memorys in Memory
        2. Cache Expirations
        3. Cache Dependencies
        4. The SQL Server Dependency
        5. Clearing the Cache
      4. Summary
      5. Chapter 15 Quick Reference
    3. 16. Caching Output
      1. Caching Page Content
      2. Managing Cached Content
        1. Modifying the <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>OutputCache</em></span> Directive Directive
        2. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpCachePolicy</em></span>
        3. Caching Locations
        4. Output Cache Dependencies
        5. Caching Profiles
      3. Caching User Controls
      4. When Output Caching Makes Sense
      5. Summary
      6. Chapter 16 Quick Reference
  9. IV. Diagnostics and Plumbing
    1. 17. Diagnostics and Debugging
      1. Page Tracing
        1. Turning on Tracing
        2. Trace Statements
      2. Application Tracing
        1. Enabling Tracing Programmatically
        2. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>TraceFinished</em></span> Event Event
        3. Piping Other Trace Messages
      3. Debugging with Visual Studio
      4. Error Pages
      5. Unhandled Exceptions
      6. Summary
      7. Chapter 17 Quick Reference
    2. 18. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpApplication</em></span> Class and HTTP Modules Class and HTTP Modules
      1. The Application: A Rendezvous Point
      2. Overriding <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpApplication</em></span>
        1. Application State Caveats
        2. Handling Events
          1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Application_Start</em></span>
          2. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Application_End</em></span>
          3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Application_Error</em></span>
          4. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Session_Start</em></span>
          5. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Session_End</em></span>
        3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpApplication</em></span> Events Events
      3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpModules</em></span>
        1. Existing Modules
        2. Implementing a Module
        3. See Active Modules
        4. Storing State in Modules
      4. Global.asax versus <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>HttpModule</em></span>ss
      5. Summary
      6. Chapter 18 Quick Reference
    3. 19. Custom Handlers
      1. Handlers
      2. Built-in Handlers
      3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>IHttpHandler</em></span>
      4. Handlers and Session State
      5. Generic Handlers (ASHX Files)
      6. Summary
      7. Chapter 19 Quick Reference
  10. V. Services, AJAX, Deployment, and Silverlight
    1. 20. ASP.NET Web Services
      1. Remoting
      2. Remoting over the Web
        1. SOAP
        2. Transporting the Type System
        3. Web Service Description Language
      3. If You Couldn’t Use ASP.NET...
      4. A Web Service in ASP.NET
      5. Consuming Web Services
      6. Asynchronous Execution
      7. Evolution of Web Services
      8. Other Features
      9. Summary
      10. Chapter 20 Quick Reference
    2. 21. Windows Communication Foundation
      1. Distributed Computing Redux
      2. A Fragmented Communications API
      3. WCF for Connected Systems
      4. WCF Constituent Elements
        1. WCF Endpoints
          1. Address
          2. Binding
          3. Contract
        2. Channels
        3. Behaviors
        4. Messages
      5. How WCF Plays with ASP.NET
        1. Side-by-Side Mode
        2. ASP.NET Compatibility Mode
      6. Writing a WCF Service
      7. Building a WCF Client
      8. Summary
      9. Chapter 21 Quick Reference
    3. 22. AJAX
      1. What Is AJAX?
      2. AJAX Overview
        1. Reasons to Use AJAX
        2. Real-World AJAX
        3. AJAX in Perspective
      3. ASP.NET Server-Side Support for AJAX
        1. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>ScriptManager</em></span> Control Control
        2. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>ScriptManagerProxy</em></span> Control Control
        3. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>UpdatePanel</em></span> Control Control
        4. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>UpdateProgress</em></span> Control Control
        5. <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Timer</em></span> Control Control
      4. AJAX Client Support
        1. ASP.NET AJAX Control Toolkit
        2. Other ASP.NET AJAX Community-Supported Stuff
        3. AJAX Control Toolkit Potpourri
      5. Getting Familiar with AJAX
      6. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>Timer</em></span>
      7. Updating Progress
      8. Extender Controls
        1. The <span xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:pls="http://www.w3.org/2005/01/pronunciation-lexicon" xmlns:ssml="http://www.w3.org/2001/10/synthesis" xmlns:svg="http://www.w3.org/2000/svg" class="emphasis"><em>AutoComplete</em></span> Extender Extender
        2. A Modal Pop-up Dialog-Style Component
      9. Summary
      10. Chapter 22 Quick Reference
    4. 23. ASP.NET and WPF Content
      1. What Is WPF?
        1. How Does It Relate to the Web?
        2. Loose XAML Files
        3. XBAP Applications
      2. WPF Content and Web Applications
      3. What about Silverlight?
      4. Summary
      5. Chapter 23 Quick Reference
    5. 24. How Web Application Types Affect Deployment
      1. Visual Studio Projects
        1. HTTP Project
        2. FTP Project
        3. File System Project
      2. Precompiling
        1. Precompiling for Performance
        2. Precompiling for Deployment
        3. Publishing a Web Site
      3. Summary
      4. Chapter 24 Quick Reference
  11. Glossary
  12. Index
  13. About the Author
  14. Special Upgrade Offer
  15. Copyright