当前位置:主页 > 书籍配套资源 > ASP.NET配套资源
《ASP.NET本质论》源代码

《ASP.NET本质论》源代码

  • 更新:2022-09-12
  • 大小:5.09 MB
  • 类别:ASP.NET
  • 作者:郝冠军
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

这不是一本循序渐进讲解ASP.NET如何使用的书,而是一本全面、深入探讨ASP.NET本质的书。本书从剖析网站应用程序的主机入手,依次深入分析了应用程序 HttpApplication、处理请求的7种武器、控件、数据绑定、模板、状态、自定义控件、MVC、异步、缓存、IIS与ASP.NET的底层原理以及它们与上层应用之间的关系。本书使用了大量的示例代码来演示技术之间的关系,针对开发中的典型问题,深入挖掘问题的根源,解决问题涉及的技术和解决方案,从而让读者能理论联系实际。

封面图

目录

  • 前言
  • 第1章网站应用程序 /1
  • 1.1Web应用程序的简单回顾/2
  • 1.1.1资源的地址—通用资源标识符 /2
  • 1.1.2找到主机 /3
  • 1.1.3HTTP协议 /4
  • 1.2最简单的 Web 服务器 /6
  • 1.2.1网络插座Socket /6
  • 1.2.2基于 TcpListener 的 Web 服务器 /10
  • 1.2.3基于 HttpListener 的 Web 服务器 /11
  • 1.3进入 ASP.NET /13
  • 1.3.1Web 应用程序域 /13
  • 1.3.2不使用GAC 和bin 加载Web 应用程序域 /14
  • 1.3.3默默无闻的工作者对象 /16
  • 1.3.4Web 应用程序的运行时 /18
  • 1.4对象化的HTTP /19
  • 1.4.1请求参数的对象类型 HttpRequest /19
  • 1.4.2处理回应的对象类型 HttpResponse /21
  • 1.4.3辅助的常用工具类 HttpServerUtility /23
  • 1.4.4编码与解码 /24
  • 1.4.5浏览器类型 /26
  • 1.5创建自定义的 ASP.NET 服务器 /28
  • 1.5.1ASP.NET Web 服务器 /28
  • 1.5.2监听程序 /28
  • 1.5.3部署程序集 /29
  • 1.5.4各种各样的Cassini /30
  • 1.6本章小结 /30
  • 第2章应用程序对象 /31
  • 2.1请求的处理参数—上下文对象HttpContext /32
  • 2.1.1常用成员/32
  • 2.1.2底层方法/33
  • 2.2应用程序对象 HttpApplication /33
  • 2.2.1处理管道 /34
  • 2.2.2HttpApplication 的处理管道 /38
  • 2.2.3处理过程的简单介绍 /38
  • 2.2.4HttpContext状态管理 /40
  • 2.3处理 HttpApplication 的事件 /40
  • 2.3.1通过 IHttpModule 创建 HttpApplication 的事件处理程序 /40
  • 2.3.2注册 HttpModule /41
  • 2.3.3不使用配置文件注册 HttpModule /42
  • 2.3.4常见的 HttpModule/44
  • 2.3.5HttpModule的事件 /46
  • 2.3.6通过 global.asax 创建 HttpApplication 的事件处理程序 /46
  • 2.3.7global.asax 中 HttpApplication 事件的自动注册 /48
  • 2.3.8特殊的HttpApplication 事件处理 /48
  • 2.4两个特殊的事件 /51
  • 2.5大文件上传问题 /51
  • 2.5.1文件上传的规范 /51
  • 2.5.2ASP.NET 中的文件上传 /53
  • 2.5.3文件上传的解决方案 /54
  • 2.5.4通过HttpModule 接管请求参数 /54
  • 2.5.5自定义的请求参数对象 /58
  • 2.5.6读取上传数据的接口和实现 /62
  • 2.5.7读取上传数据流 /65
  • 2.5.8注册自定义的上传管理 /76
  • 2.5.9使用自定义的上传管理 /77
  • 2.6各种各样的文件上传 /78
  • 2.6.1无刷新的上传: jQuery form /78
  • 2.6.2基于客户端技术的上传进度:SWFUpload /79
  • 2.7本章小结 /79
  • 第3章HTTP请求处理程序/80
  • 3.1处理程序 /81
  • 3.1.1处理程序与 HttpApplication 的关系 /81
  • 3.1.2处理程序接口 IHttpHandler 和 IHttpAsyncHandler /81
  • 3.1.3在处理程序中使用会话 /82
  • 3.1.4处理程序工厂 /83
  • 3.1.5注册处理程序 /83
  • 3.1.6使用处理程序生成验证码 /84
  • 3.2一般处理程序 /86
  • 3.2.1一般处理程序工厂 /87
  • 3.2.2使用一般处理程序的场合 /87
  • 3.2.3使用一般处理程序生成验证码图片 /87
  • 3.2.4使用一般处理程序生成 JSON /87
  • 3.3页面处理程序 /91
  • 3.3.1页面处理程序工厂 /91
  • 3.3.2创建页面处理程序 /92
  • 3.3.3生成的代码 /93
  • 3.3.4使用页面处理程序 /93
  • 3.4Web 服务处理程序 /94
  • 3.4.1Web 服务处理程序工厂 /94
  • 3.4.2使用 Web 服务处理程序 /95
  • 3.4.3Web 服务的常用标签 /96
  • 3.4.4派生自 System.Web.Services.WebService 类的意义 /98
  • 3.5MVC 处理程序 /98
  • 3.5.1MVC 的路由接口 IRouteHandler /99
  • 3.5.2自定义的 IRouteHandler /100
  • 3.5.3注册路由处理程序 /101
  • 3.5.4获取控制器的工厂接口 IControllerFactory /102
  • 3.5.5MVC 请求的处理过程 /102
  • 3.6资源处理程序 /103
  • 3.6.1资源的处理程序配置 /103
  • 3.6.2定义嵌入的资源 /103
  • 3.6.3获取资源的地址 /104
  • 3.6.4使用嵌入的资源 /104
  • 3.7禁止的处理程序 /105
  • 3.7.1配置禁止访问的资源 /105
  • 3.7.2禁止访问 Excel /106
  • 3.8虚拟路径提供器 /106
  • 3.8.1定义虚拟路径提供器 /106
  • 3.8.2注册虚拟路径提供器 /107
  • 3.8.3压缩文件中的网站 /109
  • 3.8.4SharpZipLib /114
  • 3.9本章小结 /115
  • 第4章ASP.NET中的线程与异步 /116
  • 4.1线程基础 /117
  • 4.1.1线程 /117
  • 4.1.2自定义线程/118
  • 4.1.3前台线程和后台线程 /119
  • 4.1.4工作者线程和 I /O 线程/119
  • 4.1.5线程池 /120
  • 4.2.NET 中线程处理 /121
  • 4.2.1线程的创建与启动 /121
  • 4.2.2线程的状态 /123
  • 4.2.3线程的执行上下文 /124
  • 4.2.4异步编程模式APM /125
  • 4.2.5基于事件的异步编程模式 EPM /128
  • 4.2.6异步线程的状态与同步问题 /129
  • 4.2.7处理管道中的异步问题 /133
  • 4.3线程池 /137
  • 4.3.1线程池的工作原理 /137
  • 4.3.2将工作者线程加入线程池 /138
  • 4.3.3将I /O 线程加入线程池 /138
  • 4.4HttpApplication 中的异步线程 /139
  • 4.4.1ASP.NET 中的线程池设置 /139
  • 4.4.2异步步骤中的异步点 /141
  • 4.4.3启动和完成异步步骤 /142
  • 4.5异步处理程序 /142
  • 4.5.1异步处理程序接口 /143
  • 4.5.2在处理程序中异步调用 Web 服务 /143
  • 4.6异步页面 /144
  • 4.6.1页面异步任务的启动和完成 /144
  • 4.6.2异步页面任务 /145
  • 4.6.3异步页面中访问 Web 服务三种方式 /146
  • 4.6.4实例—查询 QQ 在线状态 /148
  • 4.7本章小结 /151
  • 第5章页面即对象 /152
  • 5.1流动的网页 /153
  • 5.1.1字节流 /154
  • 5.1.2字符编码 /155
  • 5.1.3字符流 /156
  • 5.1.4回应对象中的流 /158
  • 5.1.5 专门输出 HTML 的字符流 /158
  • 5.2控件—页面对象的基石 /160
  • 5.2.1控件类 /160
  • 5.2.2Render和RenderControl /161
  • 5.2.3控件基类 /161
  • 5.2.4组合模式 Composite /163
  • 5.2.5ID 是一个问题 /165
  • 5.3形形色色的控件 /171
  • 5.3.1HTML 控件 /172
  • 5.3.2Web 控件 /172
  • 5.3.3WebPart 控件 /174
  • 5.4控件实现的常用接口 /175
  • 5.4.1生成和回发 /175
  • 5.4.2控件的任意属性IAttributeAccessor /177
  • 5.4.3数据的回发IPostBackDataHandler /177
  • 5.4.4回发服务器端事件IPostBackEventHandler /178
  • 5.5页面 /178
  • 5.5.1页面与模板 /179
  • 5.5.2母版页 /184
  • 5.5.3页面就是一个处理程序 /185
  • 5.5.4页面的事件处理管道 /185
  • 5.5.5处理页面的事件 /187
  • 5.6生成的过程 /188
  • 5.6.1从模板到对象模型—BuildProvider /189
  • 5.6.2从标记到控件—ControlBuilder /191
  • 5.6.3进入生成阶段—ControlAdapter /191
  • 5.6.4控件适配器—ControlAdapter /192
  • 5.6.5Web控件适配器—WebControlAdapter /193
  • 5.6.6页面适配器—PageAdapter /193
  • 5.6.7使用 Adapter 定制表单的action /194
  • 5.7自定义的 URL 重写 /195
  • 5.7.1URL 重写的原理 /196
  • 5.7.2使用 HttpModule 实现URL 重写 /196
  • 5.7.3在配置文件中处理重写映射 /199
  • 5.7.4无扩展名请求的处理问题 /204
  • 5.8本章小结 /205
  • 第6章状态 /206
  • 6.1基本状态管理 /207
  • 6.1.1隐藏域 /207
  • 6.1.2Cookie /209
  • 6.1.3URL /213
  • 6.2视图状态ViewState /215
  • 6.2.1序列化和反序列化 /215
  • 6.2.2控制序列化 /217
  • 6.2.3Base64 /218
  • 6.2.4视图状态属性与 IStateManager 接口 /219
  • 6.2.5保存和恢复的时间点 /221
  • 6.2.6视图状态的序列化器 /223
  • 6.2.7使用视图状态实现路径导航 /224
  • 6.3控件状态 ControlState /228
  • 6.4应用程序状态 Application /229
  • 6.5会话状态 Session/229
  • 6.5.1服务器端的 Session /230
  • 6.5.2客户端的 SessionID /231
  • 6.5.3Session 保存的位置 /233
  • 6.5.4Session 的过期问题 /237
  • 6.5.5压缩 Session 数据 /238
  • 6.6HttpContext 状态 /238
  • 6.7Cache /238
  • 6.7.1缓存的原理 /238
  • 6.7.2.NET 中的缓存管理实现 /239
  • 6.7.3基于文件的缓存依赖 /241
  • 6.7.4基于SQL的缓存依赖 /242
  • 6.7.5组合的缓存依赖 /244
  • 6.7.6删除所有的缓存项目 /246
  • 6.7.7Web 服务器端的页面缓存 /247
  • 6.7.8页面局部缓存 /249
  • 6.7.9自定义的输出缓存提供器 /253
  • 6.8Memcached /254
  • 6.8.1下载和安装 Memcached /255
  • 6.8.2在 ASP.NET 中访问 Memcached /256
  • 6.9统计当前在线用户 /258
  • 6.9.1Module 的处理 /258
  • 6.9.2注册 Module /261
  • 6.9.3Module 的配置参数 /262
  • 6.9.4Module 的事件处理 /263
  • 6.10本章小结 /263
  • 第7章模板和数据绑定 /264
  • 7.1页面与绑定 /265
  • 7.1.1嵌入式代码块和表达式 /265
  • 7.1.2绑定表达式 /267
  • 7.1.3目标Target /269
  • 7.1.4容器Container /269
  • 7.1.5触发绑定事件的方法 DataBind /270
  • 7.2控件内的模板 /271
  • 7.2.1基于模板的控件 /271
  • 7.2.2控件模板中的 Container /272
  • 7.2.3DataBinder /272
  • 7.2.4Page 中的 Eval /273
  • 7.2.5在属性中使用绑定表达式 /273
  • 7.3Repeater控件 /273
  • 7.3.1数据的来源 DataSource/273
  • 7.3.2Repeater 的基石—RepeaterItem/274
  • 7.3.3绑定的过程 /275
  • 7.3.4绑定中的事件 /276
  • 7.3.5绑定的结果:Controls 集合和 Items 集合 /276
  • 7.3.6回发中的 ItemCommand 事件 /277
  • 7.4高级数据控件 /279
  • 7.4.1唯一支持分栏的控件-DataList /279
  • 7.4.2GridView /283
  • 7.4.3ListView 和 DataPager /289
  • 7.5数据源控件 /291
  • 7.5.1反射 /292
  • 7.5.2两种数据源 /293
  • 7.5.3对象数据源 /297
  • 7.5.4业务对象的标签 /298
  • 7.5.5页面控件与数据源控件之间的关系 /300
  • 7.5.6数据源控件相关的事件点 /303
  • 7.5.7基于数据源控件的分页 /304
  • 7.6本章小结 /305
  • 第 8 章自定义控件 /306
  • 8.1自定义控件的继承体系 /307
  • 8.2自定义控件涉及的相关类型 /307
  • 8.3自定义的带有上传进度的按钮 /308
  • 8.3.1控件的工作原理 /308
  • 8.3.2选择控件的基类 /309
  • 8.3.3自定义的数据类型 /309
  • 8.3.4状态的持久化 /310
  • 8.3.5控件的属性 /312
  • 8.3.6属性转换问题—TypeConverter /313
  • 8.3.7编辑属性数据 UITypeEditor /320
  • 8.3.8保存在 ASPX 中 /326
  • 8.3.9设计器中的显示效果 /329
  • 8.3.10工具栏中控件的图标 /330
  • 8.3.11脚本嵌入和使用 /330
  • 8.3.12控件的呈现 /332
  • 8.3.13使用自定义控件 /334
  • 8.4PetShop 中的自定义控件 /335
  • 8.4.1基类 /335
  • 8.4.2表格 /335
  • 8.4.3处理当前页码参数 /336
  • 8.4.4DataSource 属性 /336
  • 8.4.5事件 /337
  • 8.4.6生成 /338
  • 8.5本章小结/342
  • 第 9 章MVC /343
  • 9.1ASP.NET MVC 是表现层的MVC /344
  • 9.2在 HttpApplication 中的ASP.NET MVC /344
  • 9.2.1创建 RouteTable /345
  • 9.2.2UrlRoutingModule事件处理 /347
  • 9.3从URL进入MVC之门 /348
  • 9.3.1有意义的 URL /349
  • 9.3.2在 IIS 6.0 和 IIS 7 中的配置 /349
  • 9.3.3从URL到Route /350
  • 9.3.4约束 /354
  • 9.3.5Routing /356
  • 9.3.6RequestContext 的前世今生 /357
  • 9.3.7在 ASP.NET MVC 中防盗链 /358
  • 9.4控制器 /361
  • 9.4.1控制器工厂 /361
  • 9.4.2使用自定义的控制器工厂 /362
  • 9.4.3为 Controller 类传递构造函数的参数 /362
  • 9.4.4Controller 的继承关系 /364
  • 9.4.5Controller 中的状态管理 /365
  • 9.4.6基于过滤器的扩展 /368
  • 9.4.7选择 Action /372
  • 9.5模型 /373
  • 9.5.1绑定 Model /374
  • 9.5.2简单参数和复杂参数 /374
  • 9.5.3模型对象的元数据 /375
  • 9.5.4Model 的验证 /377
  • 9.5.5自定义Model 的验证 /379
  • 9.6执行 Action/380
  • 9.6.1各种ActionResult /380
  • 9.6.2向视图传递数据 /381
  • 9.7视图 /382
  • 9.7.1视图引擎 /382
  • 9.7.2经典视图—ViewPage /383
  • 9.7.3视图引擎—Razor /384
  • 9.8本章小结 /384
  • 第10 章IIS 与 ASP.NET /385
  • 10.1网站 /386
  • 10.1.1绑定 /386
  • 10.1.2网站应用程序 /388
  • 10.1.3虚拟目录 /389
  • 10.2通过 ISAPI 扩展 IIS /390
  • 10.2.1ISAPI 扩展 /391
  • 10.2.2ISAPI 过滤器 /392
  • 10.2.3CLR 是一个 COM 组件 /394
  • 10.2.4ASP.NET 中的ISAPI 扩展和过滤器 /396
  • 10.2.5ISAPI Rewrite/396
  • 10.3IIS 与 ASP.NET/397
  • 10.3.1IIS5 与 ASP.NET /397
  • 10.3.2IIS6 与 ASP.NET /398
  • 10.3.3IIS7 与 ASP.NET /399
  • 10.4创建网站的两种方法 /403
  • 10.5ASP.NET中的加密与解密 /405
  • 10.5.1machineKey /405
  • 10.5.2加密服务 /407
  • 10.5.3配置节的加密和解密 /408
  • 10.6本章小结 /410
  • 第11 章ASP.NET中的用户 /411
  • 11.1从IIS开始 /412
  • 11.1.1匿名用户方式 /413
  • 11.1.2基本身份验证 /413
  • 11.1.3摘要式身份验证 /414
  • 11.1.4集成 Windows 身份验证 /415
  • 11.1.5.NET Passport 身份验证 /416
  • 11.2ASP.NET中的用户信息 /416
  • 11.2.1基于 Windows 验证的用户 /416
  • 11.2.2基于 Forms 验证的用户 /417
  • 11.2.3基于 Passport 验证的用户 /420
  • 11.2.4在 IIS7 中使用表单验证 /420
  • 11.3.NET 中的用户 /421
  • 11.3.1用户的标识 IIdentity /421
  • 11.3.2用户 IPrincipal /422
  • 11.4网站中的用户 /423
  • 11.5成员管理 /423
  • 11.5.1用户的基本信息 /424
  • 11.5.2成员管理的约定 /425
  • 11.5.3基于 SQLServer 的成员管理实现 /426
  • 11.5.4自定义的成员管理实现 /427
  • 11.5.5辅助工具类 Membership /432
  • 11.6用户的扩展信息—个性化数据 /433
  • 11.6.1个性化数据的约定 /433
  • 11.6.2个性化数据的属性 /434
  • 11.6.3实现自定义的个性化数据管理 /436
  • 11.6.4匿名的个性化数据 /439
  • 11.6.5合并匿名用户的个性化数据 /441
  • 11.6.6基于 SQL Server 的个性化数据管理 /442
  • 11.6.7管理个性化数据 /444
  • 11.7执行程序的用户 /444
  • 11.7.1执行网站程序的 Windows 用户 /445
  • 11.7.2用户模拟的作用 /446
  • 11.7.3数据库连接串中的用户 /447
  • 11.8本章小结 /449
  • 附录自定义配置参数 /450

资源下载

资源下载地址1:https://pan.baidu.com/s/1KEmpRLIb5CJ6wyrYJHTgIQ

相关资源

网友留言