《ASP.NET MVC 5网站开发之美》PDF下载

  • 购买积分:20 如何计算积分?
  • 作  者:demo编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2015
  • ISBN:9787302413387
  • 页数:730 页
图书介绍:全书以ASP.NET MVC 5为主,应用范围可涵盖MVC 2.0-5.0,并辅以丰富的范例程序代码与概念解析,让读者能快速的进入ASP.NET MVC的开发领域,本书同时涵盖了一般Web应用程序、移动设备的Web开发以及进阶的MVC应用等,对于需要学习MVC应用程序开发的初学者或是己经具备Web Form开发的程序设计师来说,本书是必定要阅读的经典之作。

第1章 MVC概述 1

1.1 MVC架构概述 1

1.1.1 MVC是什么 1

1.1.2 关注点分离 2

1.1.3 约定优于配置 2

1.1.4 MVC的优点与特长 2

1.1.5 MVC的成长趋势 3

1.2 ASP.NET MVC概述 4

1.2.1 与传统ASP.NET Web Forms的差异 4

1.2.2 Model的责任 5

1.2.3 View的范围 6

1.2.4 Controller要做哪些事 7

1.3 ASP.NET MVC 5开发环境 8

1.3.1 One ASP.NET 8

1.3.2 Visual Studio 2013 Web Templates 9

1.3.3 Scaffold(基架) 12

1.3.4 Visual Studio 2013新增功能介绍 12

1.4 NuGet的使用 20

1.4.1 安装程序包 20

1.4.2 还原程序包 22

1.4.3 更新程序包 26

1.4.4 程序包管理器控制台(Package Manager Console) 26

1.5 IIS Express 29

1.5.1 如何在Visual Studio中使用IIS Express 30

1.5.2 如何使用命令行启用IIS Express 31

1.5.3 让IIS Express也支持外部连接 34

1.5.4 整理过多的网站信息 35

1.6 ASP.NETWeb Forms转换至MVC开发 36

1.6.1 从Web Forms转到MVC后开发概念的改变 36

1.6.2 数据源的改变 36

1.7 创建第一个MVC因特网应用程序 41

1.7.1 创建MVC项目 41

1.7.2 创建数据库(使用Local DB) 45

1.7.3 创建MVC中的Model 48

1.7.4 创建MVC中的View与Controller 52

1.7.5 更新为最新MVC版本 55

1.7.6 MVC的生命周期 56

1.8 结术语 58

参考资料 58

第2章 与数据的对话:Model与ADO.NET 60

2.1 Model的概念 60

2.1.1 Model的类型 61

2.1.2 Model的设计 61

2.2 ADO.NET 63

2.2.1 面向连接的操作 63

2.2.2 面向无连接的操作 64

2.3 泛型概念 65

2.3.1 泛型基础 65

2.3.2 设计泛型类 66

2.4 Model的实现 70

2.4.1 Model的设计 70

2.4.2 Model数据读写的设计 71

2.5 SQL Injection 82

2.6 结术语 83

第3章 LINQ:驱动数据的查询功能 84

3.1 LINQ概念 84

3.1.1 LINQ vs.循环处理 85

3.1.2 LINQ的类型 88

3.2 LINQ的基础 89

3.2.1 扩展方法 89

3.2.2 匿名类型与对象初始化器 91

3.2.3 类型推论 93

3.2.4 yield指令与延迟查询 94

3.2.5 Fluent Interface 96

3.3 Lambda表达式 97

3.3.1 Lambda表达式的由来 97

3.3.2 Lambda表达式的格式 98

3.3.3 通用委派与Lambda表达式 100

3.4 LINQ语句 100

3.5 LINQ函数 101

3.5.1 查询结果过滤:Where() 102

3.5.2 选取数据:Select()、SelectMany() 102

3.5.3 群组数据:GroupBy()、ToLookup() 105

3.5.4 联接数据:Join()与GroupJoin() 108

3.5.5 数据排序:OrderBy()与ThenBy() 109

3.5.6 获取集合 112

3.5.7 划分并获取集合 113

3.5.8 集合的运算 114

3.5.9 访问元素 116

3.5.10 聚合与汇总 118

3.6 远程查询:IQueryable〈T〉与IEnumerable〈T〉 120

3.7 Expression 121

3.8 LINQ与ADO.NET:DataSet/DataTable的使用 124

3.9 结术语 126

第4章 EF 127

4.1 ORM概念 127

4.2 EF概述 129

4.3 EF架构 133

4.3.1 数据模型映射 133

4.3.2 Entity SQL Service 135

4.3.3 Object Services 135

4.3.4 LINQ to Entities 137

4.4 Database First 138

4.5 Model First 143

4.6 Code First 150

4.6.1 生成模型——空白Code First的做法 150

4.6.2 生成模型——由数据库生成 155

4.6.3 Code First Modeling APIs 156

4.6.4 实现关联性 159

4.6.5 实现继承 163

4.6.6 存储过程和函数映射 170

4.7 通过DbContext访问EF数据模型 172

4.7.1 DbSet〈T〉 172

4.7.2 以对象为主的查询 173

4.7.3 以SQL为主的查询 174

4.7.4 数据的变动 176

4.7.5 验证 177

4.7.6 更新的考虑 179

4.8 更新数据库:Database Migration 180

4.8.1 数据库初始化器 180

4.8.2 数据库迁移-自动迁移 181

4.8.3 数据库迁移-手动迁移 186

4.8.4 数据库迁移-程序迁移 188

4.9 结术语 189

参考文献 189

第5章 路由(Routing) 190

5.1 URL Rewriting与Route基本概念 190

5.2 URL Routing基本应用 191

5.3 加入自定义的URL Routing 193

5.4 URL Routing如何对比 194

5.5 为URL Routing加上限制条件 195

5.6 URL Routing高级应用 197

5.6.1 如何从程序建立一组网址 198

5.6.2 直接获取RouteData内的值 198

5.7 如何调试网站 199

5.7.1 使用Route Debugger 2.0 199

5.7.2 使用Cobisi Routing Assistant 200

5.8 Area 201

5.8.1 创建第一个Area 202

5.8.2 使用Area会遇到的问题 204

5.8.3 根据功能模块区分的Area 206

5.9 结术语 207

第6章 控制器(Controller) 208

6.1 了解Controller角色 209

6.1.1 了解Controller工作流程 210

6.1.2 ASP.NET MVC 5验证系统 216

6.1.3 创建Model层 219

6.1.4 基架系统 222

6.2 Controller与View的数据传递 227

6.2.1 ViewData属性 227

6.2.2 ViewBag属性 229

6.2.3 ViewData、ViewBag传递Model 231

6.2.4 ViewData.Model属性 234

6.2.5 TempData属性 236

6.2.6 多Model与多对象传递 241

6.3 Model Binding 251

6.3.1 Request对象 251

6.3.2 RouteData 251

6.3.3 简单Model Binding 252

6.3.4 复杂的Model Binding 256

6.3.5 JSON Model Binding 259

6.3.6 ModelBinder扩展 260

6.4 Metadata与数据验证 263

6.4.1 部分类 263

6.4.2 验证属性 265

6.4.3 ModelState 285

6.5 ActionResult 297

6.5.1 EmptyResult 300

6.5.2 ContentResult 300

6.5.3 JavaScriptResult 303

6.5.4 JsonResult 304

6.5.5 HttpStatusCodeResult 309

6.5.6 RedirectResult与RedirectToRouteResult 310

6.5.7 FileResult 317

6.5.8 ViewResult 329

6.5.9 VideoResult 335

6.6 Action Filters 338

6.6.1 Authentication Filter 340

6.6.2 Authorization Filter 347

6.6.3 Action Filter 354

6.6.4 Result Filter 356

6.6.5 Exception Filter 360

6.6.6 Action Filters接口与扩展 363

6.6.7 Filter overrides 368

6.7 其他Controller技巧 371

6.7.1 ActionName属性 371

6.7.2 NoAction属性 371

6.7.3 支援多国语系 372

6.8 结术语 375

第7章 异步程序设计 376

7.1 异步基架生成器 376

7.2 进程与线程 380

7.2.1 进程 380

7.2.2 线程 381

7.2.3 多线程的启动 385

7.3 同步与异步程序设计 386

7.3.1 同步程序设计 387

7.3.2 异步程序设计 387

7.4 Task类 388

7.4.1 接续工作 389

7.4.2 Task.Delay 390

7.4.3 Parallel类 391

7.5 async与await关键词 392

7.5.1 C#4.0与C#5.0异步差异 394

7.5.2 同步方法读取网络资源 396

7.5.3 异步方法读取网络资源 398

7.5.4 异步方法执行流程 400

7.6 异步与线程池 401

7.6.1 如何选择同步或异步操作 405

7.6.2 执行多个并行操作 405

7.6.3 使用cancellationToken 406

7.6.4 多线程与异步 408

7.7 结术语 409

第8章 View:摇曳生姿的美人 410

8.1 View概述 410

8.2 View在项目中的位置 411

8.2.1 Views目录 412

8.2.2 Views下的Shared目录 413

8.2.3 Views下的常规目录 413

8.3 View的类型 414

8.3.1 View常规视图 414

8.3.2 Partial View部分视图 416

8.3.3 Layout主版页面 417

8.3.4 Template 420

8.4 View获得数据的方法 423

8.4.1 Model 424

8.4.2 ViewData及ViewBag 424

8.4.3 TempData 425

8.5 View Engine概述 425

8.5.1 WebForm ViewEngine 425

8.5.2 Razor View Engine 426

8.5.3 View Engine的执行细节 426

8.5.4 View Engine的扩展性 426

8.5.5 Razor View Engine对于View文件的搜索方式 427

8.6 Razor语法 428

8.6.1 Razor语法概述 429

8.6.2 程序代码区块 432

8.6.3 编译指示词 433

8.6.4 排版与辅助功能 434

8.6.5 全站可用的Razor Helper 438

8.6.6 ASP.NET MVC 4/Razor v2.0增强部分 440

8.7 Helpers 443

8.7.1 UrlHelper 443

8.7.2 HtmlHelper 445

8.7.3 AjaxHelper 465

8.7.4 扩展Helper 469

8.8 View开发技术的高级功能 474

8.8.1 前端优化:JavaScript/CSS的合并与优化 474

8.8.2 View Engine文件搜索优化 478

8.8.3 Layout嵌套 481

8.9 结术语 483

第9章 Bootstrap 484

9.1 Bootstrap导览 485

9.1.1 BasicTemplate 486

9.1.2 Grid System 486

9.1.3 Component 492

9.1.4 Bootstrap的JavaScript链接库 492

9.2 定制化Bootstrap 494

9.3 ASP.NET MVC与Bootstrap合壁 496

9.3.1 Component:Label、Badge、Alert、Progress 496

9.3.2 表单域的集成 499

9.4 结术语 502

第10章 诊断及日志处理 503

10.1 预处理器 503

10.1.1 基本规则 503

10.1.2 预处理器 504

10.2 Trace与Debug类 506

10.2.1 Assert方法 507

10.2.2 Listeners集合 508

10.3 艾尔玛(ELMAH) 509

10.3.1 艾尔玛的作用 510

10.3.2 使用ELMAH.MVC 514

10.3.3 XML Out和Database In 516

10.3.4 网站自动报错功能 518

10.3.5 ELMAH变形金刚 520

10.3.6 ElmahR=ELMAH+SignalR 522

10.3.7 ELMAH.io 523

10.4 NLog-Advanced.NET Logging 524

10.4.1 调用N日志(NLog) 524

10.4.2 NLog实战 529

10.5 ELMAH与NLog合体术 540

10.5.1 Log Reporting Dashboard 540

10.5.2 ELMAH.MVC+NLog 540

10.6 结术语 541

第11章 网站安全之道 542

11.1 知己知彼 542

11.1.1 XSS的防范 542

11.1.2 如何有效防范XSS 544

11.1.3 防止跨网站伪造请求 545

11.1.4 参考资料 548

11.2 加密与解密 549

11.2.1 加密博客 549

11.2.2 窗体验证原则 552

11.2.3 ASP.NET加密技术 553

11.2.4 哈希密码 556

11.2.5 Crypto类 557

11.2.6 加密web.config 557

11.2.7 登录监控 560

11.3 结术语 560

第12章 身份验证与授权 561

12.1 使用Session做身份验证 562

12.2 使用Cookie做身份验证 564

12.3 使用Forms Authentication做身份验证 568

12.4 全新的ASP.NET IDentity 2.0 570

12.4.1 ASP.NET IDentity 2.0 572

12.4.2 自定义验证逻辑 576

12.4.3 电子邮件验证 578

12.4.4 双因素认证 584

12.4.5 将用户加入角色 584

12.4.6 集成OAuth 587

12.5 扩展会员字段 594

12.6 结术语 598

第13章 ASP.NET Web API 2概述 599

13.1 Web Service 600

13.1.1 Web Service架构 601

13.1.2 XML Web Service 602

13.1.3 WCF 604

13.1.4 WCF REST 604

13.1.5 小结 605

13.2 ASP.NET Web API 2 605

13.2.1 IIS Express指令模式 607

13.2.2 Web API路由 608

13.2.3 REST 609

13.2.4 HTTP动词+URI 616

13.2.5 小结 616

13.3 Model与Web API 2基架 617

13.4 EF循环引用 619

13.5 JSON 621

13.5.1 XML与JSON 622

13.5.2 了解JSON格式 623

13.5.3 使用JSON数据 624

13.5.4 JSON-LD 626

13.6 POSTMAN 628

13.7 结术语 630

第14章 自动测试完整攻略 631

14.1 测试概念简介 631

14.1.1 测试的目的 631

14.1.2 测试的种类 632

14.1.3 加入测试的时间点 633

14.1.4 测试的效益 634

14.1.5 小结 635

14.2 测试程序设计技巧与工具的介绍 635

14.2.1 单元测试 636

14.2.2 Web自动测试 654

14.2.3 行为驱动开发(Behavior-Driven Development,BDD) 662

14.3 实战演练——以重构计算运费为例 668

14.3.1 范例说明 669

14.3.2 建立测试案例(Feature与Scenarios) 672

14.3.3 使用Selenium IDE来录制测试案例脚本 673

14.3.4 编写Selenium的测试程序(完成Steps.cs) 674

14.3.5 帮程序代码说话 677

14.3.6 提取方法 679

14.3.7 职责分离 680

14.3.8 针对各货运商类加入单元测试 682

14.3.9 依赖接口与工厂方法 683

14.3.10 小结 685

14.4 总结 685

第15章 网站部署 687

15.1 ASP.NET MVC RTM的进化史 687

15.2 部署到IIS 688

15.2.1 Web部署工具 688

15.2.2 将ASP.NET MVC 4应用程序部署到IIS 5.1 中 691

15.3 部署到Microsoft Azure云环境 692

15.3.1 部署到Microsoft Azure Website 692

15.3.2 部署到Microsoft Azure Cloud Service 697

15.4 结术语 699

第16章 CMS范例实战 700

16.1 新建项目 700

16.2 创建数据 701

16.3 建立区域 706

16.4 使用MetaData 708

16.5 使用NuGet 709

16.6 建立会员机制 716

16.7 分页套用 716

16.8 结术语 719

附录A ASP.NET MVC 5.1 与ASP.NET MVC 5.2 720

附录B ASP.NET MVC 6预览 725