中文名: asp.net 2.0电子商务高级编程(C# 2005)
英文名: Pro asp.net 2.0 e-commerce in C# 2005
版本: PDF
发行时间: 2006年
地区: 美国
对白语言: 英语
文字语言: 英文
简介:

引用
Pro ASP.NET 2.0 E-Commerce in C# 2005 takes you through the e-commerce web application development cycle, from conception to coding to deployment and maintenance. It will also help you maximize your potential profits, learn what risks are involved, and take the necessary steps to minimize those risks. The book begins by introducing e-commerce systems and lays out the toolset. To help you learn about meeting and overcoming real-world challenges, the book features a case study of a fictional company, Little Italy Vineyards.
As you progress through the book, youll focus on e-commerce requirements, then proceed to model the objects utilizing UML to generate and define the complete architecture for the example application. Once you put it all together, youll address the site coding. In this section, author Paul Sarknas demonstrates how the practical application of modern programming techniques, like web services and Ajax, can have direct impact on your customers user experience and the success of your site.
After design and development are complete, the author focuses on utilizing the best deployment methods for maintaining the application and allowing maximum scalability. By the end of this book, youll have all the skills youll need to begin creating professional quality e-commerce systems from the ground up.
书名:Pro ASP.NET 2.0 E-Commerce In C#2005
作者:Paul Sarknas
出版社:Apress
ISBN10: 1-59059-724-9
ISBN13: 978-1-59059-724-8
页数:609
内容简介:在多年开发电子商务应用程序的工作中,我遇到过不计其数的问题和解决方案,希望将所有这些与我的合作开发人员分享。本书就是结合了所有这些经验的产物。
本书讨论了在为客户设计和开发ASF.NET 2.0电子商务应用程序时需要进行的所有决策,从收集需求到部署应用程序。因为电了商务通常是含糊的概念,很难一开始就确切地指出成功解决方案中所涉及的内容。我在本书中创建了一个虚拟的公司LiItle Italy Vineyards,将其作为贯穿本书的案例分析。通过使用这种实际的方法,展示了如何将电子商务概念转换为相应的代码。
在阅读本书并从头到尾遵循案例分析之后,您将深入理解如何开发专业的ASP.NET 2.0电子商务应用程序,并使该应用程序将具有较好的可伸缩性和安全性。您将学习应用程序体系结构的各个组成部分,正确建立Visual Studio 2005项目的方法,以及获得和安装所需SSL证书的方法。如同您期望的那样,本书中广泛介绍了软件工程决策,但是也介绍了在开发和维护成功电子商务应用程序时需要了解的所有业务元素,从而使该应用程序能实现客户所期望的结果。
感谢您阅读本书,希望您能在开发工作中不断取得成功
目录
PART 1 ■ ■ ■ The Basics
■CHAPTER 1 Introducing E-commerce Systems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
■CHAPTER 2 Introducing the Microsoft Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
■CHAPTER 3 Exploring the Company Background for the Case Study . . . . . . . . . 13
PART 2 ■ ■ ■ The Business Aspects
■CHAPTER 4 Gathering the Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
■CHAPTER 5 Turning Sales into Profits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
■CHAPTER 6 Examining the Risks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
PART 3 ■ ■ ■ The Project Plan and Design
■CHAPTER 7 Modeling Objects with UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
■CHAPTER 8 Designing the Database with SQL Server 2005 . . . . . . . . . . . . . . . . . 55
■CHAPTER 9 Using Visual Studio 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
PART 4 ■ ■ ■ Architecture
■CHAPTER 10 Building the Complete System Architecture. . . . . . . . . . . . . . . . . . . . 111
■CHAPTER 11 Creating the Common Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
■CHAPTER 12 Creating the Data Access Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
■CHAPTER 13 Creating the Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
■CHAPTER 14 Exploring Your Integration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
■CHAPTER 15 Creating the Presentation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
■CHAPTER 3 Exploring the Company Background
for the Case Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Getting Some Company Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
The Current Situation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
The Competition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Moving Forward and Increasing Sales. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Why a Case Study? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
PART 2 ■ ■ ■ The Business Aspects
■CHAPTER 4 Gathering the Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
What Is Requirement Gathering? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
How to Gather Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Interviews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
The Official Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Product Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Shopping Cart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
PayPal Credit Card Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Tracking Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Content Management System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
About Us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Contact Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
User Account Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Wine of the Month Club . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Age Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
■CHAPTER 5 Turning Sales into Profits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Selling the Main Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Selling Affiliate Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Partnering with Similar Businesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Creating a User Membership. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Selling Advertising Space. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
■CHAPTER 8 Designing the Database with SQL Server 2005 . . . . . . . . . . . 55
Creating the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Creating the Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
ProductCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ProductImages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
OrderDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
OrderStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
EndUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
EndUserType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
ContactInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
ShoppingCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Creating the Relationships. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
OrderDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
EndUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
ShoppingCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Writing the Type Inserts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
EndUserType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
OrderStatus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
ProductCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Examining the Complete Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
■CHAPTER 9 Using Visual Studio 2005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Understanding the Case Study’s Approach . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Understanding the Case Study’s Solution . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Creating the Web Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Expanding the Web Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Images. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
CSS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Admin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Adding the Class Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Common . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
DataAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Operational . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
BusinessLogic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
PART 4 ■ ■ ■ Architecture
■CHAPTER 10 Building the Complete System Architecture . . . . . . . . . . . . . 111
Introducing Multitier Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Introducing the LittleItalyVineyards Architecture . . . . . . . . . . . . . . . . . . . . 112
Introducing the Presentation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Introducing the Data Access Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Introducing the Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
■CHAPTER 11 Creating the Common Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Why Use Common Objects? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Revisiting the Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
EndUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
EndUserType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
ProductCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
OrderDetail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Address . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ContactInformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
ShoppingCart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
CreditCard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Implementing the Common Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Refactoring Within Visual Studio 2005. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
■CHAPTER 12 Creating the Data Access Layer. . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Why a Data Access Layer?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Using the Microsoft Data Access Application Block . . . . . . . . . . . . . . . . . 132
Implementing the Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
The DataAccessBase Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
The Connection String. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
The StoredProcedure Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
The DataBaseHelper Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
■CHAPTER 13 Creating the Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . 151
Introducing the Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
Implementing the Business Logic Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Getting Everything Working Together . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
■CHAPTER 14 Exploring Your Integration Options . . . . . . . . . . . . . . . . . . . . . . . 173
Introducing the Operational Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Implementing the Operational Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Implementing Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
Performing Some Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
■CHAPTER 15 Creating the Presentation Layer . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Looking at the Overall Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
Implementing the Master Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Creating the Individual Web Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
About Us . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Winery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
FAQ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Contact Us. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Default Error Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
PART 5 ■ ■ ■ Core Development
■CHAPTER 16 Developing the Product Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Creating the Product Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Creating the Stored Procedure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
Writing the Code and Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Displaying the Product Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Creating the Product Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Searching the Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
■CHAPTER 17 Building the Shopping Cart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Adding to the Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Displaying the Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Updating the Shopping Cart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Processing Abandoned Shopping Carts. . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
■CHAPTER 18 Integrating the PayPal SDK. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Introducing the PayPal SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Why PayPal? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Installing the PayPal SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Configuring Your Developer Central Account . . . . . . . . . . . . . . . . . . . . . . . 322
Creating the Sandbox Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
Creating the Test Certificate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Configuring the Test Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Integrating the PayPal APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
■CHAPTER 19 Implementing the Checkout Process . . . . . . . . . . . . . . . . . . . . . 347
Checking Out of the Shopping Cart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Creating a New User Account . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Logging In . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
■CHAPTER 20 Processing the Payment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Implementing the PayPal API Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Implementing the Direct Payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Entering the Billing and Shipping Information . . . . . . . . . . . . . . . . . . . . . . 390
Submitting the Payment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Finalizing the Payment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
■CHAPTER 21 Creating the Administrator’s Control Panel . . . . . . . . . . . . . . 433
Setting Up the Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Creating the Administrator Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Creating a New Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Updating a Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Viewing All the Products. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
■CHAPTER 22 Building the Customer’s Account . . . . . . . . . . . . . . . . . . . . . . . . . 475
Setting Up the Customer Account. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Extending the Customer Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Viewing the Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Viewing the Order Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
PART 6 ■ ■ ■ Order Fulfillment and Promotion
■CHAPTER 23 Managing the Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Viewing the Orders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Viewing the Order Details. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Creating the Order Fulfillment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Informing the Customer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
Issuing Refunds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
■CHAPTER 24 Promoting the Site and Upselling . . . . . . . . . . . . . . . . . . . . . . . . . 533
Upselling with Related Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Promoting with the E-newsletter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Allowing the Customer to Unsubscribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
■CHAPTER 25 Accessing the Money from the
Credit Card Transaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Transferring Funds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Accessing the Money in Other Ways . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Requesting a Check. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Money Market . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Debit Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Cash with ATM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Purchase from PayPal Shops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
PART 7 ■ ■ ■ Deployment
■CHAPTER 26 Exploring Your Compilation and
Deployment Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Building the Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
Precompiling and Publishing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Finalizing the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
■CHAPTER 27 Configuring the Production Environment. . . . . . . . . . . . . . . . . 583
Setting Up the Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Registering Your Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Setting Up the DNS Servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Setting Up the Hosting Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Setting Up IIS and the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Configuring the SQL Server 2005 Database . . . . . . . . . . . . . . . . . . . 590
Configuring the SSL Certificate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Obtaining the SSL Certificate. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590
Installing the SSL Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
Deploying the Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Copying the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Finalizing the Web.config File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
PART 8 ■ ■ ■ Aftercare
■CHAPTER 28 Supporting and Maintaining the Application. . . . . . . . . . . . . 601
Monitoring the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Why This Is Important . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
Discovering and Solving Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Optimizing the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
■INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609