Preface |
|
xi | |
|
Introducing Web Portals and Dropthings.com |
|
|
1 | (11) |
|
|
2 | (2) |
|
Defining a Web 2.0 Portal |
|
|
4 | (1) |
|
|
4 | (1) |
|
|
5 | (3) |
|
|
8 | (1) |
|
Using C# 3.0 and .NET 3.5 |
|
|
9 | (1) |
|
|
10 | (2) |
|
Architecting the Web Portal and Widgets |
|
|
12 | (29) |
|
|
20 | (6) |
|
|
26 | (2) |
|
Maximizing the First-Visit Experience |
|
|
28 | (2) |
|
Rendering a Second-Visit Experience |
|
|
30 | (1) |
|
Improving ASP.NET AJAX Performance |
|
|
31 | (5) |
|
Adding Authentication and Authorization |
|
|
36 | (2) |
|
Preventing Denial-of-Service Attacks |
|
|
38 | (2) |
|
|
40 | (1) |
|
Building the Web Layer Using ASP.NET AJAX |
|
|
41 | (60) |
|
Implementing the Start Page of a Web Portal |
|
|
41 | (19) |
|
Building a Custom Drag-and-Drop Extender for a Multicolumn Drop Zone |
|
|
60 | (14) |
|
Implementing WidgetContainer |
|
|
74 | (7) |
|
|
81 | (11) |
|
Page Switching: Simulating a Nonpostback Experience |
|
|
92 | (2) |
|
Using the Profile Object Inside a Web Service |
|
|
94 | (1) |
|
Implementing Authentication and Authorization |
|
|
95 | (3) |
|
|
98 | (2) |
|
|
100 | (1) |
|
Building the Data and Business Layers Using .NET 3.5 |
|
|
101 | (33) |
|
|
101 | (3) |
|
Building the Data Access Layer Using LINQ to SQL |
|
|
104 | (8) |
|
Introducing Windows Workflow Foundation |
|
|
112 | (1) |
|
Building the Business Layer Using WF |
|
|
113 | (14) |
|
Implementing the DashboardFacade |
|
|
127 | (6) |
|
|
133 | (1) |
|
Building Client-Side Widgets |
|
|
134 | (18) |
|
Delaying Server-Side Widget Loading |
|
|
135 | (3) |
|
|
138 | (4) |
|
Building a Client-Side RSS Widget |
|
|
142 | (4) |
|
Building a Client-Side Flickr Widget |
|
|
146 | (5) |
|
|
151 | (1) |
|
|
152 | (17) |
|
Combining Multiple Ajax Calls into One Call |
|
|
152 | (2) |
|
Timing and Ordering Ajax Calls to the Server |
|
|
154 | (11) |
|
Using HTTP GET Calls Instead of HTTP Post |
|
|
165 | (1) |
|
Working with the this Function |
|
|
166 | (2) |
|
|
168 | (1) |
|
Creating Asynchronous, Transactional, Cache-Friendly Web Services |
|
|
169 | (28) |
|
Scalability Challenges with Web Services |
|
|
169 | (2) |
|
|
171 | (4) |
|
Modifying the ASP.NET AJAX Framework to Handle Web Service Calls |
|
|
175 | (2) |
|
Developing Your Own Web Service Handler |
|
|
177 | (12) |
|
Making an Asynchronous and Cache-Friendly Proxy |
|
|
189 | (2) |
|
Scaling and Securing the Content Proxy |
|
|
191 | (5) |
|
|
196 | (1) |
|
Improving Server-Side Performance and Scalability |
|
|
197 | (27) |
|
Instrumenting Your Code to Identify Performance Problems |
|
|
198 | (1) |
|
Optimizing the HTTP Pipeline |
|
|
199 | (1) |
|
Optimizing ASP.NET 2.0/3.5 Before Going Live |
|
|
200 | (1) |
|
Optimizing Queries in the ASP.NET Membership Tables |
|
|
201 | (2) |
|
Optimizing the ASP.NET 2.0/3.5 Profile Provider Before You Go Live |
|
|
203 | (16) |
|
ASP.NET Production Challenges |
|
|
219 | (2) |
|
Redirecting Traffic from an Old Web Site to a New One |
|
|
221 | (2) |
|
|
223 | (1) |
|
Improving Client-Side Performance |
|
|
224 | (30) |
|
Understanding Web Caching |
|
|
224 | (10) |
|
Content Delivery Networks |
|
|
234 | (4) |
|
Optimizing Internet Explorer JavaScript Performance |
|
|
238 | (8) |
|
Reducing the Web Service Call Payload |
|
|
246 | (1) |
|
|
247 | (3) |
|
Using Read-Ahead Caching for Ajax Calls |
|
|
250 | (1) |
|
Hiding HTML Inside <textarea> |
|
|
250 | (3) |
|
|
253 | (1) |
|
Solving Common Deployment, Hosting, and Production Challenges |
|
|
254 | (29) |
|
Deploying Your Web Site in a Web Farm |
|
|
254 | (6) |
|
Thirteen Production Disasters That Could Happen at Anytime |
|
|
260 | (12) |
|
Choosing the Right Hosting Provider |
|
|
272 | (2) |
|
Choosing a Web Site Monitoring Tool |
|
|
274 | (2) |
|
Configuring Proper Performance Counters |
|
|
276 | (6) |
|
|
282 | (1) |
Index |
|
283 | |