《NET、C#与Silverlight开发圣典 分享15位MVP 的最佳实践经验》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)依维恩,(美)贝尔,(美)贝拉思等著;王净,范园芳,李卉译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2012
  • ISBN:9787302299950
  • 页数:568 页
图书介绍:每章均有一位微软MVP执笔,全书将.NET 4技术分为不同技术主题来安排,涵盖WPF、Silvelight 4、WCF、ASP.NET性能优化、安全、Entity框架等关键、核心技术。

第1章 ASP.NET和jQuery 1

1.1 了解Web Forms 2

1.1.1 视图状态 2

1.1.2 web.config转换 4

1.1.3 简化web.config 4

1.1.4 新的ASP.NET Web Forms模板 4

1.2 ASP.NET MVC 7

1.2.1 MVC的版本 7

1.2.2 MVC的组成部分 8

1.2.3 MVC工具 13

1.2.4 示例应用程序 18

1.2.5 ASP.NET MVC框架小结 26

1.3 jQuery 26

1.3.1 使用jQuery操纵DOM元素 28

1.3.2 使用jQuery调用服务器端代码 29

1.3.3 jQuery 30

1.4 小结 30

1.5 作者简介 31

第2章 ASP.NET性能 33

2.1 了解ASP.NET如何处理页面请求 33

2.2 状态管理和缓存 35

2.2.1 了解.NET中的状态 36

2.2.2 使用会话 37

2.2.3 使用输出缓存 41

2.2.4 部分页面缓存 46

2.2.5 查看.NET 4中新的对象缓存选项 47

2.3 缓存Web服务 49

2.4 硬件注意事项 50

2.5 使用性能计数器 51

2.6 提示和技巧 53

2.6.1 将请求减少到最小值 54

2.6.2 使用内容传递网络 54

2.6.3 使浏览器可以长时间缓存项 55

2.6.4 启用内容压缩 57

2.6.5 页面中内容的位置 58

2.6.6 将JavaScript和CSS外部化 58

2.7 小结 59

2.8 作者简介 59

第3章 ASP.NET的道德黑客攻击 61

3.1 道德黑客攻击——这是矛盾修饰法吗 62

3.2 填充工具箱 63

3.2.1 Fiddler 63

3.2.2 Firebug 65

3.2.3 Internet Explorer 9开发人员工具栏 66

3.2.4 Lens 66

3.3 了解会话管理 67

3.3.1 HTTP中的会话管理 67

3.3.2 ASP.NET中的会话管理 68

3.4 攻击ASP.NET身份验证 69

3.4.1 深入研究ASP.NET身份验证 69

3.4.2 窃取票证 70

3.4.3 篡改票证 71

3.4.4 劫持登录会话 72

3.4.5 跨站请求伪造 77

3.5 攻击ASP.NET会话 80

3.5.1 幕后的ASP.NET会话 80

3.5.2 猜测会话ID 80

3.5.3 窃取会话cookie 81

3.5.4 会话固定 85

3.6 黑客攻击视图状态 87

3.6.1 窥视视图状态 87

3.6.2 篡改视图状态 90

3.6.3 转载视图状态 90

3.7 欺骗事件处理程序 91

3.7.1 事件验证内部 92

3.7.2 黑客攻击事件验证 92

3.7.3 保护网站免受POST攻击 94

3.8 小结 95

3.9 作者简介 95

第4章 如何构建真实世界的Silverlight 5应用程序 97

4.1 为应用程序设置场景 98

4.2 先原型后代码——使用SketchFlow 99

4.2.1 SketchFlow简介 100

4.2.2 熟悉SketchFlow 100

4.2.3 创建应用程序原型 101

4.3 数据绑定入门 105

4.3.1 Hello,数据绑定 105

4.3.2 创建数据绑定屏幕 108

4.4 WCF RIA服务的应用 110

4.4.1 选择服务层技术 112

4.4.2 Hello,WCF RIA服务 112

4.4.3 创建服务器端代码 114

4.4.4 Silverlight项目 120

4.5 应用MVVM模式 124

4.5.1 不同部分,不同角色 125

4.5.2 选择MVVM方法 126

4.5.3 挑选小助手——MVVM Light 126

4.5.4 重构为MVVM模式 126

4.5.5 听你指挥 131

4.5.6 消息传递 133

4.6 创建自定义控件 134

4.7 小结 137

4.8 作者简介 137

第5章 Silverlight——业务应用程序的一线希望 139

5.1 入门 140

5.1.1 Hello,Business World 140

5.1.2 项目模板 143

5.1.3 XAML是对象XML 145

5.1.4 托管Silverlight应用程序 146

5.1.5 提供卓越的IApplicationService 147

5.2 选择合适的Silverlight框架 148

5.2.1 获取SOLID:MVC、MVP和MVVM 149

5.2.2 依赖注入和控制反转 151

5.2.3 托管扩展框架 152

5.2.4 MVVM框架 155

5.3 使Silverlight即插即用 158

5.3.1 动态加载 158

5.3.2 脱离浏览器的应用程序 159

5.3.3 独立存储 159

5.3.4 通信 160

5.4 Silverlight的未来 161

5.5 小结 161

5.6 作者简介 162

第6章 针对设计者和开发者的提示和技巧 163

6.1 了解Silverlight和WPF之间的区别 163

6.1.1 优先选择XAML 164

6.1.2 理解关注点分离 164

6.2 针对设计者的提示和技巧 164

6.2.1 命名对象 164

6.2.2 在Photoshop中设计 165

6.2.3 从Photoshop中导入资产 165

6.2.4 为了更好的设计体验而使用示例数据 166

6.3 针对开发者的提示和技巧 167

6.3.1 在Design模式中显示示例数据 168

6.3.2 使用行为以使事情更简单 168

6.4 小结 170

6.5 作者简介 170

第7章 Silverlight 4中的MVVM模式 171

7.1 开发自己的框架 171

7.2 了解MVVM 172

7.3 创建MVVM框架 173

7.3.1 框架目标 174

7.3.2 框架技术 175

7.3.3 入门 176

7.3.4 定义ViewModel 178

7.3.5 创建新View和ViewModel 185

7.3.6 注册View和ViewModel 187

7.3.7 显示View 192

7.3.8 构建复合屏幕 197

7.3.9 显示对话框 203

7.3.10 View之间的通信 205

7.3.11 使用MVVM框架 205

7.4 现有MVVM框架 206

7.4.1 Prism 206

7.4 2 MVVM Light 207

7.4.3 Caliburn.Micro 207

7.4.4 其他框架 208

7.5 其他注意事项 208

7.5.1 数据绑定 208

7.5.2 命令 209

7.5.3 数据访问 209

7.6 小结 210

7.7 作者简介 210

第8章 针对Silverlight开发人员的Windows Phone“Mango” 211

8.1 硬件基础 211

8.1.1 Camera API 211

8.1.2 Sensors API 215

8.2 软件基础 217

8.2.1 运行库的改进 218

8.2.2 网络套接字 219

8.2.3 Silverlight/XNA混合应用程序 220

8.2.4 本地数据库 221

8.3 应用程序模型 222

8.3.1 应用程序的快速切换 222

8.3.2 多任务处理 224

8.3.3 通知 226

8.3.4 后台传输服务 227

8.4 集成服务 228

8.4.1 次要Tile 228

8.4.2 推送通知 229

8.4.3 联系人/约会数据访问 230

8.5 小结 231

8.6 作者简介 231

第9章 与WCF的实用服务通信 233

9.1 示例项目 234

9.2 再论面向服务 234

9.2.1 分布意味着通信 235

9.2.2 面向服务 236

9.3 WCF Basics 101 237

9.3.1 基本工具箱 238

9.3.2 B的能力 239

9.3.3 少即是多 240

9.4 应用程序方案 240

9.4.1 需求 241

9.4.2 应用程序体系结构 241

9.4.3 应用程序结构 242

9.5 建模服务 243

9.6 元数据 254

9.6.1 Flat WSDL 255

9.6.2 元数据URL 257

9.7 实现服务 259

9.7.1 验证 259

9.7.2 映射 260

9.7.3 跟踪 263

9.8 托管服务 266

9.8.1 自定义托管 266

9.8.2 使用控制台主机进行测试 267

9.8.3 带有Windows Service的自托管 267

9.8.4 带有WAS的Web托管 270

9.8.5 引导 272

9.9 消费服务 274

9.9.1 共享契约 274

9.9.2 异步调用 275

9.9.3 服务代理模式 275

9.10 对服务方法的补充 279

9.10.1 Web编程模型 279

9.10.2 托管与消费 281

9.11 优化策略 283

9.11.1 调整 283

9.11.2 流模式 287

9.12 小结 289

9.13 作者简介 289

第10章 使用WIF保护WCF服务 291

10.1 .NET应用程序中的身份标识 291

10.1.1 基类库中的身份验证 292

10.1.2 WCF中的身份验证 293

10.1.3 Windows标识基础 294

10.1.4 重述构建基块 298

10.2 WCF和WIF 298

10.2.1 先决条件 299

10.2.2 配置和启用WIF 299

10.2.3 转换和访问声明 308

10.2.4 授权 309

10.2.5 跟踪 312

10.3 保护电影数据库SOAP服务的可能解决方案 312

10.3.1 内部用户 313

10.3.2 添加外部内容提供商 319

10.3.3 访问解决方案 323

10.4 保护电影数据库REST服务的可能解决方案 323

10.4.1 内部用户 324

10.4.2 基于令牌的身份验证 324

10.5 小结 326

10.6 作者简介 326

第11章 实用的.NET任务并行库 327

11.1 问题和解决方案 328

11.2 使用任务 330

11.2.1 Task类 330

11.2.2 闭包 333

11.2.3 应用任务 336

11.3 了解TPL样式的异常处理 340

11.3.1 了解AggregateException 340

11.3.2 实现异常处理 341

11.4 了解取消 342

11.4.1 应用取消——基础知识 342

11.4.2 应用取消——注册操作、互锁 346

11.5 使用并发集合——ConcurrentQueue 347

11.6 了解延续 350

11.6.1 TaskCompletionSource 352

11.6.2 实现延续 353

11.6.3 AsyncState 356

11.7 使用BlockingCollection类 358

11.7.1 使用BlockingCollection 360

11.7.2 了解SpinWait.SpinUntil 363

11.8 小结 365

11.9 作者简介 366

第12章 WF编程语言 367

12.1 入门 367

12.1.1 声明性工作流语法 370

12.1.2 变量和参数 371

12.1.3 表达式 372

12.1.4 属性 373

12.1.5 “动态”属性 373

12.2 控制执行流 374

12.2.1 程序性样式 375

12.2.2 流程图样式 381

12.3 构建自定义活动 388

12.3.1 Activity 388

12.3.2 CodeActivity 390

12.3.3 AsyncCodeActivity 391

12.3.4 NativeActivity 393

12.3.5 了解何时使用自定义活动 395

12.3.6 复合活动 396

12.3.7 活动的生命周期 396

12.4 使用持久性 399

1 2.5 在Windows AppFabric中托管工作流 400

12.6 进一步阅读 401

12.7 小结 402

12.8 作者简介 402

第13章 实用的WPF数据绑定 403

13.1 示例应用程序 403

13.1.1 使用MVVM 404

13.1.2 了解示例应用程序的结构 404

13.1.3 了解Model 405

13.1.4 了解ViewModel 406

13.1.5 了解View 408

13.1.6 使用定位器类 408

13.2 数据绑定概述 413

13.2.1 了解数据上下文 414

13.2.2 了解元素到元素的绑定 414

13.2.3 了解绑定模式 414

13.2.4 基于接口的绑定 415

13.3 使用绑定命令 415

13.3.1 使用MVVM和DelegateCommand 416

13.3.2 创建ViewModel 417

13.3.3 定义ViewModels的命令 418

13.3.4 通过XAML代码绑定命令 420

13.4 使用简单的数据绑定 420

13.5 值的转换 422

13.6 绑定多个属性 424

13.7 绑定到列表 426

13.7.1 使用CollectionViewSource进行过滤 431

13.7.2 显示列表项的详细信息 433

13.7.3 使用数据模板 435

13.7.4 分组 436

13.7.5 使用分层数据绑定 438

13.7.6 绑定长列表 443

13.8 编辑数据 446

13.8.1 更新数据 446

13.8.2 验证 453

13.8.3 显示错误 454

13.8.4 编辑Grid 456

13.9 小结 466

13.10 作者简介 466

第14章 通过用户故事和BDD驱动开发 467

14.1 通过用户故事将需求捕捉为功能 467

14.1.1 正式需求文档所存在的问题 468

14.1.2 使用用户故事来专注业务价值并促进沟通 468

14.1.3 功能方案和故事验收标准 469

14.2 TDD的不足之处 470

14.3 关注带有BDD的行为 470

14.3.1 由外向内开发 470

14.3.2 使用BDD框架将功能转化为代码 472

14.3.3 Tic-Tac-Toe BDD Kata 475

14.4 通过用户故事来获取游戏Tic-Tac-Toe的功能 475

14.5 项目入门 478

14.5.1 方案:开始编写游戏 480

14.5.2 整合Starting a Game方案 491

14.5.3 方案:交替游戏者 492

14.5.4 整合交替游戏者方案 515

14.5.5 方案:显示游戏 516

14.5.6 整合显示游戏方案 529

14.5.7 方案:获得游戏胜利的条件:一排上有三个相同的标记 529

14.5.8 整合一排成三取得游戏胜利的方案 546

14.5.9 完成游戏 546

14.6 更进一步 546

14.7 小结 547

14.8 作者简介 547

第15章 自动化单元测试 549

15.1 了解单元测试 549

15.1.1 作用域、LEGO和连接部件 549

15.1.2 了解测试驱动开发 550

15.2 了解测试先行方法的好处 551

15.2.1 可测试代码 551

15.2.2 自文档化代码 551

15.2.3 防御性代码 551

15.2.4 可维护代码 551

15.2.5 代码味道探测器 551

15.3 面向一个基本示例 552

15.4 分配、行为、断言 553

15.4.1 分配 553

15.4.2 行为 553

15.4.3 断言 553

15.5 代码、测试、框架和运行程序 553

15.5.1 代码 554

15.5.2 测试 554

15.5.3 测试框架 554

15.5.4 测试运行程序 555

15.5.5 使用CI服务器和源代码管理 557

15.6 解决方案/项目的结构 557

15.7 使用NuGet来混合nUnit和VS 2010 558

15.8 带有虚假和仿造的方法 559

15.8.1 虚假依赖注入 559

15.8.2 Mocking框架 561

15.9 类特性、测试特性和特殊方法 562

15.10 测试较难测试的部分——推动边缘 563

15.10.1 MVC 564

15.10.2 MVP 564

15.10.3 MVVM 565

15.11 使用传感变量来重构非测试性代码 566

15.12 在其他实践中使用自动化测试 567

15.13 小结 568

15.14 作者简介 568