Preface
1. Introducing Web Portals and Dropthings.com
Defining a Web Portal
Defining a Web 2.0 Portal
Using a Web Portal
Navigating Dropthings
Using ASP.NET AJAX
Using C# 3.0 and .NET 3.5
Summary
2. Architecting the Web Portal and Widgets
Using a Widget Framework
Adding Widgets
Maximizing the Fi t-Visit Experience
Rendering a Second-Visit Experience
Improving ASP.NET AJAX Performance
Adding Authentication and Authorization
Preventing Denial-of-Service Attacks
Summary
3. Building the Web Layer Using ASP.NET AJAX
Implementing the Start Page of a Web Portal
Building a Custom Drag-and-Drop Extender for a Multicolumn Drop Zone
Implementing WidgetContainer
Building Widgets
Page Switching: Simulating a Nonpostback Experience
Using the Profile Object I ide a Web Service
Implementing Authentication and Authorization
Implementing Logout
Summary
4. Building the Data and Business Laye Using .NET 3.5
Introducing LINQ to SQL
Building the Data Access Layer Using LINQ to SQL
Introducing Windows Workflow Foundation
Building the Business Layer Using WF
Implementing the DashboardFacade
Summary
5. Building Client-Side Widgets
Delaying Server-Side Widget Loading
Content Proxy
Building a Client-Side RSS Widget
Building a Client-Side Flickr Widget
Summary
6. Optimizing ASP.NET AJAX
Combining Multiple Ajax Calls into One Call
Timing and Ordering Ajax Calls to the Server
Using HTTP GET Calls I tead of HTTP POST
Working with the this Function
Summary
7. Creating Asynchronous, Tra actional, Cache-Friendly Web Services
Scalability Challenges with Web Services
Asynchronous Web Methods
Modifying the ASP.NET AJAX Framework to Handle Web Service Calls
Developing Your Own Web Service Handler
Making an Asynchronous and Cache-Friendly Proxy
Scaling and Securing the Content Proxy
Summary
8. Improving Server-Side Performance and Scalability
I trumenting Your Code to Identify Performance Problems
Optimizing the HTTP Pipeline
Optimizing ASP.NET 2.0/3.5 Before Going Live
Optimizing Queries in the ASP.NET Membe hip Tables
Optimizing the ASP.NET 2.0/3.5 Profile Provider Before You Go Live
ASP.NET Production Challenges
Redirecting Traffic from an Old Web Site to a New One
Summary
9. Improving Client-Side Performance
Unde tanding Web Caching
Content Delivery Networks
Optimizing Internet Explorer JavaScript Performance
Reducing the Web Service Call Payload
Loading the UI on Demand
Using Read-Ahead Caching for Ajax Calls
Hiding HTML I ide
Summary
10. Solving Common Deployment, Hosting, and Production Challenges
Deploying Your Web Site in a Web Farm
Thirteen Production Disaste That Could Happen at Anytime
Choosing the Right Hosting Provider
Choosing a Web Site Monitoring Tool
Configuring Proper Performance Counte
Summary
Index