ASP.NET 3.5构建Web 2.0门户网站(影印版)
ASP.NET 3.5构建Web 2.0门户网站(影印版)
Omar AL Zabir
“如果您把创建高性能的、现代化的、基于Ajax技术的ASP.NET网站作为一项严肃的工作, 那么这本《ASP.NET 3.5构建Web 2.0门户网站》正是为您所准备的。”
——Mike Pope, 微软用户教育

或许您认为自己对ASP.NET已经相当了解,请再考虑一下。这本卓然不群的指南为使用ASP.NET 3.5和其他前沿微软技术构建网站提供了大师级课程指导。它教您如何开发坚若磐石的Web门户应用程序,每天能够承受数百万次的点击,同时确保应对扩展性和安全性的压力。 这些程序不仅可以用于面向大众消费群体的主页,也可用于企业发布高效内容聚合的消息板(dashboard)。

Pageflakes的创始人和首席技术官Omar AL Zabir所著的这本《ASP.NET 3.5构建Web 2.0门户网站》展示了如何使用ASP.NET 3.5、ASP.NET AJAX、Windows Workflow Foundation、LINQ和.NET 3.5来开发类似于My Yahoo!、iGoogle和Pageflakes的门户站点。在书中,AL Zabir构建了一个支持Ajax的开源门户原型(可以通过网址www.dropthings.com找到),并且向您一一讲解设计和架构中面临的挑战、高级Ajax概念、性能优化技巧和服务器端扩展性问题。


* 实现一个高度松耦合的架构,紧跟流行的n层结构和基于构件的应用程序模型
* 提供拖放功能,并且使用ASP.NET 3.5构建Web软件层的服务器端
* 运用LINQ建立数据访问层,并使用Windows Workflow Foundation建立作为工作流集合的业务逻辑层
* 使用JavaScript开发客户端构件以获得更快的性能和更好的缓存效果
* 发挥ASP.NET AJAX框架的最大效能以获得速度更快、具有更多动态效果和更好可扩展性的站点
* 构建一个客户Web服务调用句柄以克服ASP.NET AJAX 1.0的缺点,从而得到异步、支持事务处理和缓存友好的网络服务

Omar AL Zabir是Pageflakes的创始人和首席技术官、微软MVP、受欢迎的.NET博客作者(以及Code Project的频繁贡献者。2006年,Pageflakes在西雅图地区SEOmoz.org进行的一次评审中,排名超过了iGoogle、、Netvibes和Protopage。
  1. Preface
  2. 1. Introducing Web Portals and
  3. Defining a Web Portal
  4. Defining a Web 2.0 Portal
  5. Using a Web Portal
  6. Navigating Dropthings
  7. Using ASP.NET Using C# 3.0 and .NET 3.5
  8. Summary
  9. 2. Architecting the Web Portal and Widgets
  10. Using a Widget Framework
  11. Adding Widgets
  12. Maximizing the First-Visit Experience
  13. Rendering a Second-Visit Experience
  14. Improving ASP.NET AJAX Performance
  15. Adding Authentication and Authorization
  16. Preventing Denial-of-Service Attacks
  17. Summary
  18. 3. Building the Web Layer Using ASP.NET AJAX
  19. Implementing the Start Page of a Web Portal
  20. Building a Custom Drag-and-Drop Extender for a Multicolumn Drop Zone
  21. Implementing WidgetContainer
  22. Building Widgets
  23. Page Switching: Simulating a Nonpostback Experience
  24. Using the Profile Object Inside a Web Service
  25. Implementing Authentication and Authorization
  26. Implementing Logout
  27. Summary
  28. 4. Building the Data and Business Layers Using .NET 3.5
  29. Introducing LINQ to SQL
  30. Building the Data Access Layer Using LINQ to SQL
  31. Introducing Windows Workflow Foundation
  32. Building the Business Layer Using WF
  33. Implementing the DashboardFacade
  34. Summary
  35. 5. Building Client-Side Widgets
  36. Delaying Server-Side Widget Loading
  37. Content Proxy
  38. Building a Client-Side RSS Widget
  39. Building a Client-Side Flickr Widget
  40. Summary
  41. 6. Optimizing ASP.NET AJAX
  42. Combining Multiple Ajax Calls into One Call
  43. Timing and Ordering Ajax Calls to the Server
  44. Using HTTP GET Calls Instead of HTTP POST
  45. Working with the this Function
  46. Summary
  47. 7. Creating Asynchronous, Transactional, Cache-Friendly Web Services
  48. Scalability Challenges with Web Services
  49. Asynchronous Web Methods
  50. Modifying the ASP.NET AJAX Framework to Handle Web Service Calls
  51. Developing Your Own Web Service Handler
  52. Making an Asynchronous and Cache-Friendly Proxy
  53. Scaling and Securing the Content Proxy
  54. Summary
  55. 8. Improving Server-Side Performance and Scalability
  56. Instrumenting Your Code to Identify Performance Problems
  57. Optimizing the HTTP Pipeline
  58. Optimizing ASP.NET 2.0/3.5 Before Going Live
  59. Optimizing Queries in the ASP.NET Membership Tables
  60. Optimizing the ASP.NET 2.0/3.5 Profile Provider Before You Go Live
  61. ASP.NET Production Challenges
  62. Redirecting Traffic from an Old Web Site to a New One
  63. Summary
  64. 9. Improving Client-Side Performance
  65. Understanding Web Caching
  66. Content Delivery Networks
  67. Optimizing Internet Explorer JavaScript Performance
  68. Reducing the Web Service Call Payload
  69. Loading the UI on Demand
  70. Using Read-Ahead Caching for Ajax Calls
  71. Hiding HTML Inside <textarea>
  72. Summary
  73. 10. Solving Common Deployment, Hosting, and Production Challenges
  74. Deploying Your Web Site in a Web Farm
  75. Thirteen Production Disasters That Could Happen at Anytime
  76. Choosing the Right Hosting Provider
  77. Choosing a Web Site Monitoring Tool
  78. Configuring Proper Performance Counters
  79. Summary
  80. Index
书名:ASP.NET 3.5构建Web 2.0门户网站(影印版)
作者:Omar AL Zabir
原版书出版商:O'Reilly Media
Omar AL Zabir
Omar AL Zabir是Pageflakes公司CTO及合伙创始人、微软MVP、一个热门.NET技术博客站点的作者(,为代码工程(Code Project)也做出了很多贡献。2006年,在西雅图的一次基于SEOmoz.org组织的评审中,针对Pageflakes门户站点的评价居于iGoogle、、Netvibes以及Protopage这些站点之上。
Omar AL Zabir is the CTO and co-founder of Pageflakes, a Microsoft MVP, the
author of a popular .NET blog (, and a frequent contributor
to Code Project ( In 2006, Pageflakes out-ranked
iGoogle,, Netvibes, and Protopage in a review conducted by Seattle-based
The animal on the cover of Building a Web 2.0 Portal with ASP.NET 3.5 is a giant
green sea anemone (Anthopleura xanthogrammica). These anemones are found on
rocks in tidal pools, rocky outcroppings, and concrete pilings from Alaska to Panama
in intertidal and subtidal zones. The giant green sea anemone varies in size but can
reach heights of 30 cm, have a 17 cm base, and a crown or head of 25 cm.
The giant green sea anemone gets its color from green pigment in its epidermis, so
the more sunlight it is exposed to, the more green it becomes. This anemone is a solitary
and mostly stationary invertebrate from the Cnidaria phylum, which also
includes jellyfish. Like a jellyfish, the giant green sea anemone stings its prey with
poison tentacles and then draws the food to its mouth. These anemones enjoy a
carnivorous diet of mussels, sea urchins, and small fish, and have been known to eat
a giant crab in 15 minutes. Clownfish are immune to its stings and often have symbiotic
relationships with anemones. Scientists are experimenting with the poison as a
cardiotonic to help ailing human hearts.
The enemies of the giant green anemone include starfish, snails, and sea slugs.
However, development in coastal areas, pollution, human foot traffic, and harvesting
for home aquariums also pose significant threats.