本书从动态服务器技术大背景入手,介绍了服务器相关的知识、ASP.NET技术基础,以及VS2008和SQL Server 2005操作基础,同时详细讲解了C#语言设计入门,然后以网站注册、登录和验证模块、网站交互留言模块、图片上传系统模块、网站流量与统计监测、网站投票与反馈模块、购物车模块、RSS信息发布与聚合模块、SNS问答模块、网站信息检索与搜索模块、缓存技术在网站中的应用、开发更高效的网站等10多个实际项目开发程序为案例,从软件工程的角度出发,按照项目的开发顺序,系统、全面地介绍了程序开发流程。对开发背景、需求分析、系统功能分析、数据库分析、数据库设计、网站开发等过程详细地进行了介绍(配书光盘中的项目经过严格测试)。 本书案例涉及模块广泛,实用性非常强。通过本书的学习,读者可以掌握网站开发的一般过程和常用模块设计技术,能够结合具体的网站进行软件开发,以减少开发系统所需要的时间。 本书定位于想要使用ASP.NET进行Web应用程序开发的初、中级读者,而对于初步了解ASP.NET技术的读者来说,书中所提供的各种网站开发技巧和优化方案也具有很高的参考价值。本书也可作为高职高专院校、成人高校或其他院校相关专业的教材。目 录
第1章 走近ASP.NET 3.5 1
1.1 两大网络应用体系 1
1.1.1 C/S网络结构 1
1.1.2 B/S网络结构 2
1.2 两大语法编程体系 3
1.3 三大数据库管理系统 3
1.3.1 SQL Server 4
1.3.2 Oracle 4
1.3.3 DB2 4
1.4 三大服务器技术 4
1.4.1 ASP/ASP.NET 5
1.4.2 PHP 5
1.4.3 JSP 6
1.5 ASP.NET技术 7
1.5.1 ASP.NET的发展历史 7
1.5.2 ASP.NET的脚本语言 7
1.5.3 ASP.NET的技术特点 8
1.5.4 .NET框架 8
1.6 配置ASP.NET 3.5网站 10
1.6.1 在Windows Server 2008 / Vista 系统中配置IIS 7.0 10
1.6.2 在IIS 7.0中部署 ASP.NET 3.5网站 16
第2章 VS2008 + SQL Server 2005操作 基础 19
2.1 ASP.NET运行环境概述 19
2.2 ASP.NET开发工具概述 20
2.3 安装Visual Studio 2008 21
2.4 配置Visual Studio 2008 22
2.5 用Visual Studio 2008创建ASP.NET 网站 25
2.5.1 新建ASP.NET网站 25
2.5.2 设计页面 26
2.5.3 预览页面 27
2.5.4 在网站中添加资源文件夹 29
2.5.5 在网站中添加模板页 30
2.6 管理ASP.NET网站 31
2.7 认识ASP.NET文件 32
2.8 分析ASP.NET文档结构 33
2.8.1 页面指令 34
2.8.2 代码部分 34
2.8.3 页面布局 35
2.9 SQL Server 2005快速操作 37
2.9.1 使用SQL Server 2005创建 数据库 37
2.9.2 使用SQL Server 2005创建 数据表 41
2.9.3 使用SQL Server 2005管理数据 45
2.9.4 使用SQL Server 2005快速备份 和还原数据库 47
2.9.5 使用SQL Server 2005快速分离 和附加数据库 49
2.10 使用Visual Studio 2008绑定 SQL Server 2005数据的可视化操作 52
2.10.1 创建SqlDataSource 52
2.10.2 实现GridView与SqlDataSource 的数据绑定 56
第3章 C#程序设计入门 60
3.1 C#语言概述 60
3.1.1 从第1个C#程序说起 60
3.1.2 测试C#程序 62
3.1.3 编写C#程序基本语法 64
3.2 数据类型 68
3.2.1 值类型 69
3.2.2 引用类型 72
3.2.3 装箱和拆箱 73
3.3 变量和常量 74
3.3.1 命名变量 74
3.3.2 声明变量 75
3.3.3 初始化变量 75
3.3.4 变量作用域 76
3.3.5 常量 79
3.4 表达式和运算符 79
3.4.1 算术运算符 79
3.4.2 赋值运算符 81
3.4.3 逻辑运算符 81
3.4.4 比较运算符 82
3.4.5 运算符的优先级 82
3.4.6 名称空间 83
3.5 语句 84
3.5.1 C#语句概述 84
3.5.2 条件语句 85
3.5.3 循环语句 89
3.5.4 跳转语句 95
3.6 函数 96
3.6.1 定义和使用函数 96
3.6.2 函数的返回值与参数 97
3.6.3 Main()函数 99
3.7 类 99
3.7.1 定义类 99
3.7.2 类的属性 100
3.7.3 类的方法 101
3.7.4 类的字段值 102
3.7.5 继承 103
3.7.6 重载 104
3.7.7 重写 106
3.7.8 构造函数 107
3.7.9 析构函数 107
3.8 异常处理 108
3.8.1 try-catch语句 108
3.8.2 try-finally语句 109
第4章 网站准入与安全防范——网站注册、 登录和验证模块 110
4.1 建立用户信息数据表 110
4.2 设计注册表单 112
4.3 注册信息验证 114
4.4 验证控件的灵活应用 117
4.4.1 范围验证 118
4.4.2 比较验证 120
4.4.3 电话号码验证 123
4.4.4 日期验证 125
4.5 保存用户注册信息 125
4.6 完善用户注册功能 128
4.6.1 对输入密码进行加密 128
4.6.2 验证用户信息是否重复 129
4.7 用户登录 130
4.7.1 设计用户登录控件 130
4.7.2 登录功能实现 132
4.7.3 应用登录控件 134
4.7.4 退出登录 134
4.8 设计图形验证码 135
4.8.1 定义验证码类 135
4.8.2 应用验证码类 137
4.9 用户登录安全防范 139
4.9.1 防止SQL注入式攻击 140
4.9.2 防止脚本注入式攻击 140
第5章 让网站开始聚集人气——网站交互 留言模块 143
5.1 留言板模块功能分析与总体设计 143
5.1.1 留言板功能分析 143
5.1.2 留言板整体设计 144
5.1.3 数据结构设计 144
5.1.4 建立数据库连接字符串 145
5.1.5 获取数据库连接字符串 146
5.2 留言列表 148
5.2.1 定义留言板导航用户控件 149
5.2.2 注册和引用导航用户控件 150
5.2.3 定义数据查询与绑定过程 150
5.2.4 绑定数据字段到DataList控件 151
5.2.5 初始化页面显示 153
5.2.6 分页导航 153
5.2.7 回复显示 155
5.3 发表留言 155
5.3.1 设计留言发表表单 156
5.3.2 表单验证 157
5.3.3 插入数据 157
5.4 留言模块后台管理 158
5.4.1 后台登录 158
5.4.2 用户管理 160
5.4.3 后台管理控制台 161
5.4.4 在表单上绑定留言回复 164
5.4.5 更新留言回复 165
5.4.6 删除留言 166
5.4.7 退出管理 167
第6章 探秘二进制数据流——图片上传 系统模块 168
6.1 预备知识——.NET图形命名空间 168
6.1.1 认识.NET图形命名空间 168
6.1.2 System.Drawing画图起步 169
6.1.3 绘制复杂图形 171
6.1.4 绘制坐标图 173
6.1.5 在网页中定位绘制的图形 175
6.2 图片上传 176
6.2.1 使用HTML Input(File)控件上传 文件 176
6.2.2 使用FileUpload控件限制上传 图片 177
6.3 增强图片上传功能 179
6.3.1 解决服务器端同名覆盖问题 179
6.3.2 上传图片统一命名 179
6.3.3 给上传图片增加文字水印 182
6.3.4 给上传图片增加图片水印 184
6.3.5 给上传图片增加透明图片水印 185
6.3.6 制作上传图片的缩微图 189
6.4 把图片上传到数据库 191
6.4.1 在本地建立数据库 191
6.4.2 上传图片到数据库 192
6.4.3 从数据库中读取图片 193
第7章 知己知彼百战不殆——网站流量 与统计监测 196
7.1 流量统计模块功能分析 196
7.2 数据结构设计 198
7.3 自定义数据库操作类 200
7.3.1 数据库连接 201
7.3.2 数据库操作 202
7.4 获取用户信息 204
7.4.1 初始化页面 204
7.4.2 获取用户基本信息 206
7.4.3 计算用户信息 209
7.4.4 使用Request对象获取更多用户 信息 211
7.5 记录用户信息 213
7.5.1 存储用户信息 213
7.5.2 更新系统统计值 213
7.5.3 存储用户浏览量 215
7.6 绑定被统计站点和输出动态数据 216
7.6.1 读取用户统计信息 216
7.6.2 输出流量统计标识和动态信息 217
7.6.3 绑定到被统计站点 218
7.7 用户管理 219
7.7.1 用户登录 219
7.7.2 后台验证 221
7.7.3 设计用户管理框架 221
7.7.4 退出管理 225
7.8 流量统计与分析 226
7.8.1 PV值统计 226
7.8.2 24小时实时流量统计 228
7.8.3 日流量统计 229
7.8.4 周流量统计 230
7.8.5 客户端统计 231
7.8.6 IP地址及访问量分析 232
7.8.7 来路分析 234
7.8.8 访问者地区分析 235
7.8.9 被访页面统计 237
第8章 让自己的网站更具亲和力——网站 投票与反馈模块 239
8.1 网站投票模块功能分析 239
8.2 数据结构设计 240
8.3 LINQ to SQL介绍 241
8.3.1 LINQ to SQL概述 241
8.3.2 LINQ to SQL的优点 242
8.3.3 使用LINQ to SQL前的准备 243
8.3.4 LINQ to SQL常用功能介绍 244
8.3.5 Lambda表达式简介 245
8.4 使用LINQ to SQL构建网站投票模块 数据层 246
8.5 制作后台管理模块 250
8.5.1 建立母版页 250
8.5.2 建立投票项目管理页面 252
8.6 建立投票选项设置页面 257
8.6.1 Page_Load事件设计 260
8.6.2 添加、修改投票项目 261
8.6.3 添加投票选项 262
8.6.4 绑定投票选项到gvVoteItems 控件 262
8.6.5 修改投票选项 263
8.6.6 删除投票选项 264
8.7 制作前台投票模块 265
8.7.1 制作投票用户控件 265
8.7.2 引用投票用户控件 270
第9章 网上商店交易引擎——购物车 模块 271
9.1 网站购物车模块功能分析 271
9.2 实体类设计 272
9.2.1 商品数据实体类 272
9.2.2 购物车实体类 273
9.3 LINQ to XML介绍 274
9.3.1 XML概述 274
9.3.2 LINQ to XML概述 277
9.3.3 使用LINQ to XML对XML文件 进行操作 279
9.4 ASP.NET Session简介 284
9.5 使用LINQ to XML为购物车生成XML 数据源 288
9.6 从XML数据源中查询商品信息 289
9.7 显示商品信息 291
第10章 挖掘网络信息的剩余价值——RSS 信息发布与聚合模块 305
10.1 RSS概述 305
10.1.1 RSS的历史 305
10.1.2 RSS的现状 306
10.1.3 RSS的未来 306
10.2 RSS的使用 307
10.2.1 发布RSS 307
10.2.2 订阅RSS 307
10.3 RSS 2.0规范 309
10.3.1 rss节点 310
10.3.2 channel节点 310
10.3.3 item节点 311
10.4 制作RSS发布模块 312
10.4.1 建立数据环境 312
10.4.2 建立响应RSS请求的一般处理 程序 318
10.4.3 使用IE浏览器订阅自制RSS 内容 320
10.5 开发简易的RSS阅读器 321
10.5.1 使用XSLT定义阅读器外观 321
10.5.2 使用XSLT转换RSS聚合内容 324
10.5.3 整合RSS阅读器 325
第11章 社会化网络服务——SNS问答 模块 328
11.1 网站问答功能概述 328
11.1.1 问答流程设计 328
11.1.2 问答模块数据库结构设计 331
11.2 LINQ to Entities介绍 333
11.2.1 LINQ to Entities概述 333
11.2.2 LINQ to SQL和LINQ to Entities 的适用场合 335
11.2.3 LINQ to Entities的基本方法和 属性 335
11.2.4 LINQ to Entities扩展方法 338
11.3 使用LINQ to Entities构建问答模块 数据层 340
11.4 开发问答模块后台管理 345
11.4.1 用户管理 347
11.4.2 目录管理 349
11.4.3 编辑区域 350
11.4.4 提问管理 359
11.5 开发问答模块前台 363
11.5.1 用户登录 363
11.5.2 新建问题 363
11.5.3 提问管理 363
11.5.4 回答问题 364
11.5.5 用户登录 368
11.5.6 新建提问 371
11.5.7 提问管理、回答问题 373
第12章 神秘的网络爬虫——网站信息 检索与搜索模块 377
12.1 网站搜索技术概述 377
12.1.1 站内搜索的真正意义 377
12.1.2 站内搜索的技术难点 378
12.2 实现站内搜索的几种方案 380
12.2.1 依靠站内实时数据实现 380
12.2.2 依靠站内搜索引擎实现 381
12.2.3 依靠第三方搜索引擎实现 381
12.2.4 取长补短 382
12.3 搜索引擎优化 382
12.3.1 网页价值指数 383
12.3.2 搜索引擎三部曲 384
12.3.3 SEO优化原则 384
12.4 正则表达式 387
12.4.1 正则表达式的历史 387
12.4.2 正则表达式的用途 387
12.4.3 C#正则表达式语法基础 388
12.4.4 C#中的正则表达式的语言元素 396
12.4.5 C#中的Regex类 400
12.5 创建站内搜索模块 401
12.5.1 建立通用搜索入口 402
12.5.2 搜索结果页面 403
12.6 优化站内搜索模块 409
12.6.1 匹配准确程度 409
12.6.2 用户使用体验 410
12.6.3 关键字过滤 414
第13章 更高效的网站——缓存技术在 网站中的初步应用 416
13.1 网页中常用缓存的概述 416
13.1.1 高速缓存的用途及优点 417
13.1.2 高速缓存的限制及其软肋 418
13.2 页面级缓存 419
13.2.1 在ASP.NET中使用页面缓存 421
13.2.2 ASP.NET中的用户控件缓存 427
13.2.3 ASP.NET中页面缓存的 优缺点 431
13.3 数据级缓存 432
13.3.1 ASP.NET中数据缓存的介绍 433
13.3.2 数据缓存的应用范围和使用 注意点 437
13.4 数据缓存的依赖项使用 438
13.4.1 文件依赖 438
13.4.2 其他的缓存项依赖 441
13.4.3 数据库依赖 443
13.4.4 关联依赖 449
第14章 更高效的网站——企业级缓存 优化策略 452
14.1 缓存机制设计的一些原则 452
14.1.1 适量适用原则 452
14.1.2 功能与效率平衡原则 452
14.1.3 同步原则 453
14.1.4 充分利用原则 453
14.1.5 灵活原则 453
14.2 缓存优化设计 453
14.2.1 页面缓存优化设计 453
14.2.2 数据缓存优化设计 454
14.3 建立通用数据缓存模块 456
14.3.1 建立缓存策略接口 456
14.3.2 实现缓存策略接口 458
14.3.3 建立缓存基类 462
14.3.4 全局数据库依赖设置 465
14.4 其他一些缓存机制的建议 468
14.4.1 索引 469
14.4.2 多线程同步 469
14.4.3 关键字 470
14.4.4 数据库访问 470
第15章 更高效的网站——使用缓存技术 优化问答模块 471
15.1 问答模块的缓存机制设计 471
15.1.1 问答模块页面缓存优化设计 471
15.1.2 问答数据缓存优化设计 471
15.2 建立问答模块的缓存机制 472
15.2.1 页面缓存优化 472
15.2.2 建立单项缓存类:用户信息 477
15.2.3 建立单项缓存类:全局设置 479
15.2.4 建立单项缓存类:提问目录 481
15.2.5 建立单项缓存类:问题及站内 搜索 482
15.2.6 使用LINQ to Entities方法创建 存储过程 491
15.3 将数据缓存模块整合到问答模块 494
15.3.1 后台管理-用户页面 494
15.3.2 后台管理-目录页面 495
15.3.3 问题详细页面 497
15.3.4 搜索结果页面 498
15.4 使用缓存模块的效率测试 503
15.4.1 测试原始数据库查询 504
15.4.2 测试使用缓存查询 505
15.4.3 测试结果对比分析 506
15.4.4 测试缓存搜索的多关键字搜索 507
[图书资源]
