| |
| |
Building a Web 2.0 Portal with ASP.NET 3.5 | |
| |
| |
Preface | |
| |
| |
Who This Book Is for | |
| |
| |
How This Book Is Organized | |
| |
| |
What You Need to Use this Book | |
| |
| |
Conventions Used in This Book | |
| |
| |
Using Code Examples | |
| |
| |
Safari#xAE; Books Online | |
| |
| |
How to Contact Us | |
| |
| |
Acknowledgments | |
| |
| |
| |
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 | |
| |
| |
| |
Architecting the Web Portal and Widgets | |
| |
| |
| |
Object Model | |
| |
| |
| |
Using a Widget Framework | |
| |
| |
| |
Adding Widgets | |
| |
| |
| |
Maximizing the First-Visit Experience | |
| |
| |
| |
Rendering a Second-Visit Experience | |
| |
| |
| |
Improving ASP.NET AJAX Performance | |
| |
| |
| |
Adding Authentication and Authorization | |
| |
| |
| |
Preventing Denial-of-Service Attacks | |
| |
| |
| |
Summary | |
| |
| |
| |
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 Inside a Web Service | |
| |
| |
| |
Implementing Authentication and Authorization | |
| |
| |
| |
Implementing Logout | |
| |
| |
| |
Summary | |
| |
| |
| |
Building the Data and Business Layers 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 | |
| |
| |
| |
Building Client-Side Widgets | |
| |
| |
| |
Delaying Server-Side Widget Loading | |
| |
| |
| |
Content Proxy | |
| |
| |
| |
Building a Client-Side RSS Widget | |
| |
| |
| |
Building a Client-Side Flickr Widget | |
| |
| |
| |
Summary | |
| |
| |
| |
Optimizing ASP.NET AJAX | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Creating Asynchronous, Transactional, 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 | |
| |
| |
| |
Improving Server-Side Performance and Scalability | |
| |
| |
| |
Instrumenting 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 Membership 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 | |
| |
| |
| |
Improving Client-Side Performance | |
| |
| |
| |
Understanding 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 Inside | |
| |
| |
| |
Summary | |
| |
| |
| |
Solving Common Deployment, Hosting, and Production Challenges | |
| |
| |
| |
Deploying Your Web Site in a Web Farm | |
| |
| |
| |
Thirteen Production Disasters That Could Happen at Anytime | |
| |
| |
| |
Choosing the Right Hosting Provider | |
| |
| |
| |
Choosing a Web Site Monitoring Tool | |
| |
| |
| |
Configuring Proper Performance Counters | |
| |
| |
| |
Summary | |
| |
| |
Colophon | |