内容简介

  ASP.NETMVC是微软官方提供的以MVC模式为基础的ASP.NETWeb应用程序框架。MVC将一个Web应用分解为Model、View和Controller,有助于管理复杂的应用程序,并简化了分组开发,使得复杂项目更易维护。
  《ASP.NET MVC企业级实战》共分为12章,以符合初学者思维的方式系统地介绍ASP.NETMVC的应用技巧,并结合实际项目详细地介绍如何基于ASP.NETMVC构建企业项目。通过《ASP.NET MVC企业级实战》的学习,读者可以全面掌握ASP.NETMVC的开发,并从代码中获取软件开发与架构设计的经验与灵感。
  《ASP.NET MVC企业级实战》具有很大的参考价值,既适合ASP.NETMVC开发初学者阅读,也适合有一定基础的ASP.NETMVC开发人员进行技术强化和经验积累,同时还适合作为高等院校和培训学校相关专业的教学参考书。

作者简介

  邹琼俊,湖南人,.NET高级工程师,CSDN学院讲师,专注于.NETWeb开发,对.NETWeb开发有较深研究。

目录

第1章MVC开发前奏1
1.1开发环境搭建1
1.1.1操作系统和开发工具1
1.1.2开发环境配置3
1.1.3VS常用快捷键7
1.1.4VS技巧8
1.2常用辅助开发工具介绍10
1.2.1Firebug10
1.2.2HttpRequester12
1.3知识储备13
1.3.1必备知识介绍13
1.3.2树立软件开发信心13
1.4C#语法新特性14
1.4.1C#2.0新特性14
1.4.2C#3.0/C#3.5新特性16
1.4.3C#4.0新特性26
1.4.4C#5.0新特性28
第2章EntityFramework29
2.1EntityFramework简介29
2.1.1与ADO.NET的关系29
2.1.2什么是O/RMapping29
2.1.3ORMinEF30
2.1.4EF的优缺点30
2.2DatabaseFirst开发方式31
2.2.1创建DtabaseFirstDemo31
2.2.2EF原理34
2.3EntityFramework增删改查37
2.3.1附加数据库37
2.3.2新建项目39
2.3.3新增39
2.3.4简单查询和延时加载40
2.3.5根据条件排序和查询42
2.3.6分页查询43
2.3.7修改43
2.3.8删除45
2.3.9批处理46
2.4EF查询相关48
2.4.1IQueryable与IEnumberable接口的区别48
2.4.2LINQToEF48
2.4.3关于EF对象的创建问题50
2.4.4关于上下文的使用注意事项51
2.4.5EF跨数据库支持51
2.5ModelFirst开发方式51
2.5.1创建ModelFirstDemo52
2.5.2经验分享60
2.6CodeFirst开发方式60
2.6.1创建CodeFirstDemo61
2.6.2关于EF实例的创建问题68
第3章初识MVC69
3.1MVC简介与三层架构70
3.1.1MVC简介70
3.1.2三层架构71
3.2ASP.NET的两种开发方式72
3.2.1ASP.NET开发现状72
3.2.2WebForms的开发方式73
3.2.3ASP.NETMVC的开发方式74
3.3第一个ASP.NETMVC程序75
3.3.1创建项目75
3.3.2项目框架结构说明77
3.3.3路由——映射URL到Action79
3.3.4返回string的MVC方法81
3.3.5简单了解Razor视图81
3.3.6ASP.NETMVC组件之间的关系82
3.4MVC的约定82
3.4.1控制器的约定大于配置83
3.4.2视图的相关约定83
第4章MVC进阶84
4.1View详解84
4.1.1View和Action之间数据传递的方式84
4.1.2TempData、ViewData和ViewBag的区别85
4.2Razor视图引擎88
4.2.1什么是Razor88
4.2.2Razor语法89
4.2.3Razor布局——整体视图模板92
4.2.4Razor布局——ViewStart93
4.2.5Razor布局——部分视图93
4.2.6视图引擎95
4.2.7MVC视图的“秘密”96
4.3Controller98
4.3.1Action方法参数与返回值98
4.3.2Action指定使用视图100
4.3.3View和Controller之间的关系102
4.4Model和验证104
4.4.1NetMVC请求处理流程104
4.4.2MVC模型验证104
4.5HtmlHelper111
4.5.1HtmlHelper的Action、表单标签112
4.5.2HtmlHelper的弱类型与强类型方法113
4.5.3HtmlHelper的RenderPartial116
4.5.4HtmlHelper的RenderAction116
4.5.5HtmlHelper扩展方法117
4.6ASP.NETMVC分页118
4.6.1HtmlHelper118
4.6.2局部视图124
4.6.3MvcPager127
4.6.4第三方UI组件131
第5章MVC核心透析132
5.1MVCRouting132
5.1.1Routing——URL133
5.1.2Routing的作用134
5.1.3Routing包含字面值的URL134
5.1.4Routing测试135
5.2异步Ajax137
5.2.1传统Ajax实现方式137
5.2.2UnobtrusiveAjax使用方式140
5.2.3AjaxHelper141
5.2.4请求Json数据144
5.3MVCAreas146
5.3.1Area使用入门146
5.3.2Area注册类放到单独程序集148
5.3.3Area注册控制器放到单独程序集150
5.4MVCFilter151
5.4.1Action152
5.4.2Result153
5.4.3AuthorizeAttribute157
5.4.4Exception158
5.5MVC整体运行流程159
5.5.1进入管道159
5.5.2路由注册162
5.5.3创建MvcHandler对象164
5.5.4执行MvcHandlerProcessRequest方法166
5.5.5调用控制器里面的Action方法169
5.5.6根据Action方法返回的ActionResult加载View172
第6章网站性能和安全优化175
6.1缓存175
6.2压缩合并css和js178
6.3删除无用的视图引擎179
6.4使用防伪造令牌来避免CSRF攻击181
6.5隐藏ASP.NETMVC版本182
6.6Nginx服务器集群182
6.6.1Nginx是什么182
6.6.2Nginx的应用现状和特点184
6.6.3Nginx的事件处理机制184
6.6.4Nginx不为人知的特点186
6.6.5Nginx的内部模型186
6.6.6Nginx如何处理请求188
6.6.7Nginx典型的应用场景188
6.6.8Nginx的应用189
6.6.9Nginx常见配置说明190
6.6.10集群案例195
6.7常用的Web安全技术手段197
第7章NHibernate199
7.1NHibernate简介199
7.1.1什么是NHibernate199
7.1.2NHibernate的架构199
7.1.3NHibernate与其EntityFramework框架比较200
7.2第一个NHibernate应用程序201
7.2.1搭建项目基本框架201
7.2.2编写映射文件206
7.2.3添加数据访问层类209
7.2.4添加业务逻辑层类210
7.2.5添加控制器和视图211
7.3增删改查询212
7.4使用代码映射213
7.4.1NHibernate入职Demo214
7.4.2NHibernate代码映射高级功能217
7.5监听NHibernate生成的SQL224
7.5.1使用show_sql224
7.5.2使用NHibernateProfile225

第8章IoC、Log4Net和Quartz.Net228
8.1Unity228
8.1.1获取Unity228
8.1.2Unity简介229
8.1.3UnityAPI229
8.1.4使用Unity229
8.2Spring.Net234
8.2.1Web.config中的属性注入234
8.2.2在单独的配置文件中构造函数注入238
8.3Log4Net240
8.3.1配置Log4Net环境240
8.3.2Log4Net相关概念244
8.4Quartz.Net244
8.4.1Quartz.Net概述244
8.4.2参考资料244
8.4.3Quartz.Net使用示例245
第9章分布式技术256
9.1WebService256
9.1.1创建一个WebService并调用256
9.1.2调用天气预报服务259
9.2WCF262
9.2.1什么是WCF262
9.2.2理解面向服务263
9.2.3WCF体系架构简介263
9.2.4WCF的基础概念介绍264
9.2.5创建第一个WCF程序269
9.2.6WCF和WebService的区别276
9.3WebAPI276
9.3.1创建WebAPI277
9.3.2调用WebAPI278
9.3.3WebAPI授权282
9.3.4WebAPI的调试285
9.4Memcached285
9.4.1Memcached简介285
9.4.2Memcached基本原理287
9.4.3Memcached服务端的安装288
9.4.4C#操作Memcached290
9.5Redis292
9.5.1Redis简介292
9.5.2Redis与Memcached的比较292
9.5.3Redis环境部署293
9.5.4Redis常用数据类型296
9.5.5给Redis设置密码302
9.5.6Redis主从复制303
9.6MongoDB306
9.6.1MongoDB简介306
9.6.2下载安装和配置307
9.6.3使用mongo.exe执行数据库增删改查操作311
9.6.4更多命令313
9.6.5MongoDB语法与现有关系型数据库SQL语法比较315
9.6.6可视化的客户端管理工具MongoVUE315
9.6.7通过C#的samus驱动进行操作317
9.6.8索引320
第10章站内搜索323
10.1SEO323
10.1.1SEO简介323
10.1.2开发时要考虑SEO324
10.1.3关于搜索326
10.2Lucene.Net简介和分词328
10.2.1Lucene.Net简介328
10.2.2分词329
10.2.3盘古分词算法的使用332
10.3最简单的搜索引擎代码334
10.4搜索的第一个版本340
10.5搜索的优化版349
10.5.1热词统计349
10.5.2热门搜索354
10.5.3标题和内容都支持搜索并高亮展示357
10.5.4与查询、或查询、分页358
第11章财务对账系统366
11.1需求366
11.2前台UI框架搭建367
11.3菜单特效374
11.4面板折叠和展开376
11.5tab多页签支持379
11.6Controller和View的交互381
11.7增改查匹配389
11.8统计报表407
11.9服务器端排序425
11.10从ASP.NETMVC中导出Excel文件428
11.10.1异步导出429
11.10.2实时导出431
11.11数据同步432
第12章通用角色权限管理系统434
12.1需求分析434
12.2技术选型434
12.3数据库设计435
12.4架构搭建439
12.4.1新建解决方案和项目439
12.4.2通用层搭建441
12.4.3数据访问层搭建442
12.4.4业务逻辑层459
12.4.5UI层465
12.5功能实现466
12.5.1用户登录466
12.5.2采用分布式的方式记录异常日志472
12.5.3授权474
12.5.4增删改查475
12.6运行项目475

前言/序言

写作《ASP.NET MVC企业级实战》耗时大半年,其中积累了笔者数年心得与技术感悟,希望《ASP.NET MVC企业级实战》能给读者带来思路上的启发与技术上的提升,使每位读者能够从中获益。同时,也非常希望借此机会能够与国内热衷于ASP.NETMVC的开发者们进行交流。由于时间和本人水平有限,书中难免存在一些纰漏和错误,希望大家批评、指正。如果大家发现了问题,可以直接和我联系,我会第一时间在本人的技术博客(http://www.cnblogs.com/jiekzou)中发表加以改正,万分感谢。
QQ技术交流群:161436236
致谢
这《ASP.NET MVC企业级实战》能顺利的出版首先我要感谢的是夏毓彦老师,没有他耐心的指导这《ASP.NET MVC企业级实战》不可能出版,其次是清华出版社的其他编辑们,正是他们的努力工作,才使得《ASP.NET MVC企业级实战》顺利出版发行。
写一《ASP.NET MVC企业级实战》所费的时间和精力都是巨大的,写书期间,我占用了太多本该陪家人的时间,在这里,要特别感谢我的爱人王丽丽,谢谢你帮我处理了许多生活上面的琐事,还要感谢我的父母,是他们含辛茹苦的把我培养成人,同时感谢我两位姐姐无微不至的关怀,正是家人们的理解与默默支持,我才能全身心投入写作,顺利完成《ASP.NET MVC企业级实战》的编写。
能有今天的成果,离不开我恩师周尹的悉心栽培,最后感谢曾经帮助过我的领导、同事、朋友、同学,喝水不忘挖井人,感谢张帜、周纯星、李君、何成、饶成龙等等,祝你们身体健康,家庭美满。

邹琼俊
2017年2月于深圳


其他推荐