注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计.NETC#.NET技术内幕

C#.NET技术内幕

C#.NET技术内幕

定 价:¥78.00

作 者: (美)霍夫曼(Hoffman, K.), (美)科鲁格(Kruger, L.)著
出版社: 清华大学出版社
丛编项:
标 签: C语言 程序设计

ISBN: 9787302124924 出版时间: 2006-04-01 包装: 平装
开本: 16开 页数: 678 字数:  

内容简介

  本书全面阐述了C#语言和.NET Framework 的基础知识。首先介绍了C#语言的语法和公共语言运行库(CLR)的基础,接着循环渐进地介绍了Windows Forms应用程序、ASP.NET应用程序、Web服务、XML、加密、应用程序部署、数据访问、保障应用程序的安全,以及调试和测试等内容。本书主要内容:·使用基本的C#语法拼理解托管代码的核心概念;·调整Web应用程序或Windows应用程序的代码,以获得理想性能;·创建高校的、数据驱动和企业级Web应用程序;·创建支持第三文方开发的“即插即用”模块的应用程序;·创建自行更新的Smart Client应用程序;·创建和使用Web服务;·为Windows和ASP.NET创建可重用的用户界面;·探讨Visual Studio.NET2003的高级功能;·从简单的数据库访问到创建自己的数据提供程序,全方位了解ADO.NET·在.NET应用程序中使用XML,以实现灵活性并提高程序性能。

作者简介

暂缺《C#.NET技术内幕》作者简介

图书目录

第I部分  Visual Studio .NET IDE简介
第1章  Visual Studio .NET IDE    3
1.1  窗口管理和定制    3
1.1.1  用Visual Studio .NET的“Developer配置文件”定制界面    3
1.1.2  配置快捷键    4
1.1.3  过滤MSDN Help    5
1.1.4  最大化可视区域    5
1.1.5  使用Visual Studio .NET 2003的可停靠窗口    5
1.2  Visual Studio .NET 2003的工具窗口    8
1.3  处理文档    11
1.3.1  增强文本编辑器的功能    11
1.3.2  找到需要的帮助    15
1.3.3  编辑HTML    17
1.3.4  编辑XML    19
1.3.5  编辑二进制文件    20
1.4  使用外部工具    20
1.5  小结    21
  第II部分  语言基础    
第2章  C#简介    25
2.1  要再学另外一种编程语言    25
2.2  学习公共类型    26
2.2.1  理解值类型    26
2.2.2  理解引用类型    27
2.2.3  引用类型与值类型的区别    27
2.3  公共语言运行库    28
2.3.1  多种语言,一个运行库    29
2.3.2  隔离性    29
2.3.3  平台调用    29
2.3.4  代码访问安全性    29
2.3.5  JIT编译器    30
2.3.6  代码执行    30
2.3.7  COM互操作    30
2.3.8  Rotor:Microsoft通用语言基础结构的共享源代码    30
2.4  垃圾回收理论    30
2.4.1  引用计数    30
2.4.2  generation(代)    31
2.4.3  回收        31
2.4.4  部分回收    31
2.4.5  不确定的终止    31
2.4.6  使用IDisposable创建功能良好的对象    32
2.5  基类库简介    33
2.6  规范的“Hello World”示例    34
2.7  小结    36
第3章  表达式和控制结构    37
3.1  表达式和控制结构简介    37
3.2  基本表达式    37
3.3  合法的变量名    37
3.4  使用C#运算符    38
3.5  前缀/后缀运算符    43
3.6  程序流程控制:控制结构    43
3.6.1  程序执行路径    43
3.6.2  条件语句    43
3.6.3  if控制结构    43
3.6.4  if/else控制结构组合    44
3.6.5  短路计算    44
3.6.6  使用三元运算符    46
3.6.7  switch语句    47
3.7  循环    49
3.7.1  for循环    49
3.7.2  使用for语句    50
3.7.3  foreach语句    50
3.7.4  while循环    50
3.7.5  do..while循环    52
3.8  小结    53
第4章  字符串与正则表达式    54
4.1  字符串基础    54
4.1.1  理解字符串的不变性    54
4.1.2  格式化字符串    54
4.1.3  使用转义序列    58
4.1.4  定位子字符串    59
4.1.5  添加填充    59
4.1.6  截断字符    59
4.1.7  替换字符    60
4.1.8  拆分字符串    60
4.1.9  修改大小写    60
4.1.10  StringBuilder    61
4.1.11  追加字符串    61
4.1.12  使用AppendFormat    61
4.1.13  插入字符串    61
4.1.14  替换字符串和字符    62
4.1.15  移除子字符串    62
4.2  使用正则表达式    62
4.3  如何使用匹配    62
4.3.1  用正则表达式验证数据    65
4.3.2  匹配分组    66
4.3.3  替换所匹配的字符串    67
4.4  小结    67
第5章  数组与集合    68
5.1  使用数组    68
5.1.1  一维数组和多维数组    68
5.1.2  锯齿数组    70
5.1.3  将数组作为参数传递    71
5.2  集合    72
5.2.1  基本集合接口    72
5.2.2  遍历集合    73
5.3  基础类库中的集合    74
5.3.1  使用ArrayList    74
5.3.2  使用Stack    75
5.3.3  使用Hashtable    76
5.3.4  使用BitArray    77
5.3.5  使用Queue    78
5.3.6  使用SortedList    78
5.4  创建自定义集合    79
5.4.1  实现CollectionBase类    80
5.4.2  创建AddressList集合    80
5.5  小结    81
第6章  对象与类    83
6.1  对象与类    83
6.1.1  类的属性    83
6.1.2  面向对象设计与编程中的操作    85
6.1.3  类    86
6.1.4  对象    86
6.1.5  对象状态维护    87
6.2  对象与类的深入讨论    88
6.2.1  继承基类    88
6.2.2  多态性    90
6.3  小结    93
第7章  文件与流I/O以及对象持久性    94
7.1  文件与流I/O    94
7.1.1  文件与流I/O    94
7.1.2  使用流:FileStream、MemoryStream、StringReader和StringWriter    97
7.1.3  使用FileSystemWatcher    101
7.2  对象持久性    105
7.2.1  串行化对象    105
7.2.2  扩展标准串行化    110
7.3  小结    113
第8章  XML基础    114
8.1  运用DOM    114
8.1.1  创建XML文档    119
8.1.2  运用XML节点、元素和属性    120
8.1.3  保存DOM    120
8.2  使用XmlReader类    121
8.2.1  什么是XmlReader    121
8.2.2  使用XmlTextReader    121
8.2.3  使用XmlValidatingReader    123
8.2.4  使用XmlNodeReader    123
8.2.5  使用XmlConvert    123
8.3  XPath    124
8.3.1  语法学习    125
8.3.2  节点筛选    126
8.4  XPathDocument    127
8.4.1  XSLT    129
8.4.2  转换XML文档    130
8.5  串行化XML样式    132
8.5.1  使用基本的XML串行化    132
8.5.2  自定义XML串行化    134
8.6  小结    135
第9章  多线程编程    137
9.1  线程基础    137
9.1.1  主要的线程属性和线程方法    137
9.1.2  ThreadStart委托    139
9.1.3  创建线程    139
9.1.4  运行线程    139
9.1.5  终止线程    140
9.1.6  挂起线程    142
9.1.7  通过“休眠”来暂停线程    142
9.1.8  联接线程    142
9.2  同步    143
9.3  使用lock关键字    144
9.3.1  引发线程事件    144
9.3.2  使用Mutex类    146
9.3.3  使用Monitor类    147
9.3.4  变量保护(Interlocked递增/递减)    151
9.3.5  无等待读取(ReaderWriterLock)    151
9.4  对非同步编程使用线程池    154
9.4.1  WaitCallback委托    154
9.4.2  将工作项排入队列    154
9.4.3  向线程传递数据    155
9.5  小结    156
第10章  事件与委托    157
10.1  委托的定义    157
10.1.1  委托的类型    161
10.1.2  委托的内部机制    163
10.1.3  组合委托    164
10.1.4  事件    164
10.2  小结    168
第11章  反射与代码属性    170
11.1  使用反射    170
11.1.1  反射    170
11.1.2  反射如何工作    170
11.1.3  在运行时查看类型信息    171
11.2  使用代码属性    175
11.2.1  代码属性    175
11.2.2  使用代码属性    175
11.2.3  创建自定义属性    176
11.2.4  查询自定义属性    178
11.3  小结    180
第12章  程序集与AppDomain    181
12.1  程序集    181
12.2  简介    181
12.3  程序集构造块    182
12.3.1  程序集清单    183
12.3.2  元数据    184
12.3.3  深入程序集——MSIL代码    184
12.3.4  程序集资源    185
12.4  创建程序集    185
12.5  在程序集中嵌入资源和内容    188
12.6  本地化与附属程序集    190
12.7  AppDomain    193
12.7.1  简介    194
12.7.2  AppDomain编程    194
12.8  组合使用程序集与AppDomain的实例    198
12.9  小结    204
第13章  COM与Windows互操作性    205
13.1  使用.NET代码与COM交互    205
13.1.1  COM Interop    205
13.1.2  运行时可调用包装程序    206
13.1.3  .NET到COM的编组    206
13.1.4  代码互操作性示例:.NET代码调用COM代码    207
13.2  COM到.NET    210
13.2.1  COM可调用包装程序    210
13.2.2  用于COM Interop编程的.NET代码属性    210
13.2.3  从COM将数据编组到.NET    211
13.2.4  Interop编程示例:COM代码使用.NET组件这个组件    211
13.2.5  何时使用Interop    213
13.3  主Interop程序集    213
13.3.1  主Interop程序集概述    213
13.3.2  使用PIA    214
13.3.3  创建并部署PIA    214
13.4  平台调用(P/Invoke)    215
13.4.1  简介    215
13.4.2  使用非托管DLL    215
13.4.3  平台调用——数据编组    215
13.4.4  平台调用示例——Win32 API    217
13.4.5  何时使用平台调用    218
13.5  小结    218
第14章  高性能编程    219
14.1  垃圾回收    219
14.1.1  垃圾回收内部机制——generation(代)    219
14.1.2  思考垃圾回收器的代码编写    220
14.1.3  非确定性终结与析构    221
14.2  CLR中内存与类的管理    222
14.2.1  装箱与取消装箱    223
14.2.2  集合与装箱    224
14.2.3  使用StringBuilder类    225
14.3  高性能代码:最优方法    226
14.3.1  使用异常    226
14.3.2  大块API调用    227
14.3.3  值类型与引用类型    227
14.3.4  对集合使用AddRange    228
14.3.5  锯齿数组与矩形数组    228
14.3.6  for与foreach    228
14.3.7  利用异步I/O    230
14.4  小结    230
 第III部分  Windows应用程序
第15章  Windows Forms    233
15.1  Windows Forms基础知识    233
15.1.1  Main方法    233
15.1.2  理解Forms Designer    234
15.2  Hello World    236
15.2.1  利用Windows Application Wizard创建应用程序    236
15.2.2  设置属性    238
15.2.3  编译并运行应用程序    239
15.2.4  响应按钮的单击    240
15.3  小结    243
第16章  Windows Forms用户界面控件    244
16.1  标准Windows Forms用户界面控件    244
16.1.1  执行控件操作    244
16.1.2  用控件来存储值和更改值    246
16.1.3  利用控件维护列表    249
16.2  用户控件    257
16.3  小结    258
第17章  创建优秀的Windows    259
     Forms应用程序    259
17.1  可视继承    259
17.1.1  使用继承的窗体    259
17.1.2  使用WinForms可视继承    260
17.1.3  可视继承的最优方法    265
17.2  创建并使用动态上下文菜单    265
17.2.1  上下文相关的、自适应的用户界面    265
17.2.2  使用简单的动态上下文菜单    266
17.3  绘制自定义列表元素    268
17.4  使用DrawMode属性    268
17.4.1  创建自定义ListBox    268
17.4.2  创建自定义菜单项    270
17.5  形状窗体    271
17.5.1  简介    271
17.5.2  创建一个形状窗体示例    272
17.6  小结    273
第18章  使用Web服务    274
18.1  添加Web引用    274
18.1.1  在Visual Studio .NET中添加引用    274
18.1.2  使用WSDL.EXE    278
18.2  动态URL支持    278
18.2.1  在app.config中存储URL    279
18.2.2  在独立存储中保存URL    279
18.2.3  使用UDDI实现动态URL    282
18.3  异步使用Web服务    282
18.3.1  多线程服务使用示例    283
18.3.2  Web服务客户端可靠性    284
18.3.3  网络连接测试    284
18.3.4  处理Web服务错误    285
18.3.5  支持离线操作    285
18.4  小结    285
第19章  智能客户端    287
19.1  智能客户端    287
19.1.1  理解智能客户端    287
19.1.2  用集中服务器部署和更新智能客户端    288
19.1.3  在智能客户端后端支持中使用Web服务    291
19.1.4  根据效率决定是在服务器端处理,还是在客户端处理    294
19.1.5  使用在线和离线功能    294
19.2  小结    294
第20章  部署Windows应用程序    296
20.1  安装.NET应用程序    296
20.1.1  程序集部署    296
20.1.2  将程序集放到全局程序集缓存中    297
20.1.3  私有安装    301
20.2  Web安装    302
20.2.1  从URL部署    302
20.2.2  部署智能客户端应用程序    303
20.3  MSI/项目安装    305
创建一个安装项目    306
20.4  小结    310
  第Ⅳ部分  Web应用程序
第21章  Web Forms和ASP.NET    313
21.1  Web Forms Designer    313
21.2  创建ASP.NET“Hello World”应用程序    314
21.3  基本事件处理    319
21.4  小结    323
第22章  Web UI 控件    324
22.1  服务器控件    324
22.2  小结    335
第23章  ASP.NET中的状态管理    336
23.1  客户端状态管理    336
23.1.1  视图状态    336
23.1.2  使用隐藏表单字段    341
23.1.3  cookie    344
23.1.4  查询字符串    347
23.1.5  在窗体之间传送服务器控件值    350
23.2  服务器端状态管理    354
23.2.1  应用程序状态    354
23.2.2  会话状态    355
23.3  小结    356
第24章  缓存    358
24.1  缓存    358
24.1.1  介绍ASP.NET的缓存    358
24.1.2  OutputCache指令    359
24.1.3  使用HttpCachePolicy    361
24.1.4  使用Cache对象    363
24.2  小结    366
第25章  高级ASP.NET    368
25.1  创建Web farm中的ASP.NET应用程序    368
25.1.1  Web farm中的ViewState    369
25.1.2  Web farm中的会话状态维护    369
25.1.3  Web farm中的应用程序状态    371
25.1.4  Web farm的配置和部署    372
25.1.5  Web farm的最佳习惯、建议和告诫    372
25.2  ASP.NET的本地化和全球化    373
25.2.1  使用本地化的资源    373
25.2.2  显示本地化的内容    374
25.2.3  其他的本地化功能    376
25.3  创建自定义的HttpModule    378
25.3.1  了解ASP.NET应用程序事件    378
25.3.2  创建自定义的HttpModule    378
25.4  创建自定义的HttpHandler    380
25.5  小结    382
第26章  部署ASP.NET应用程序    383
26.1  手工部署ASP.NET应用程序    383
26.1.1  通过“Copy Project”部署    383
26.1.2  XCopy部署    384
26.1.3  何时XCopy    384
26.2  自动化部署    384
26.2.1  创建安装项目    385
26.2.2  部署安装项目    389
26.3  高级ASP.NET部署    389
26.3.1  Web farm考虑事项    389
26.3.2  防火墙、DMZ、路由器和安全约束    390
26.3.3  宿主环境考虑事项    391
26.4  小结    392
   第Ⅴ部分  数据访问
第27章  使用.NET数据提供程序    395
27.1  SQL Server数据提供程序    395
27.1.1  SQL Server数据提供程序    395
27.1.2  使用SqlConnection类    395
27.1.3  使用SqlConnection的数据库连接字符串    396
27.1.4  SqlCommand类    397
27.1.5  SqlDataReader类    399
27.1.6  SqlDataAdapter类    399
27.2  处理OLEDB数据提供程序    401
27.2.1  OLEDB数据提供程序    401
27.2.2  使用OleDbConnection    401
27.2.3  使用OleDbCommand    401
27.2.4  使用OleDbDataReader    402
27.2.5  使用OleDbDataAdapter    402
27.3  其他数据提供程序    403
27.3.1  Oracle的.NET数据提供程序(ODP.NET)    403
27.3.2  Microsoft为Oracle提供的.NET数据提供程序    403
27.3.3  .NET ODBC数据提供程序    403
27.3.4  mySQL .NET数据提供程序    403
27.4  DataSet和DataAdapter绑定    404
27.4.1  DataSet    404
27.4.2  将DataSet与DataAdapter关联    404
27.4.3  示例:将DataSet关联到动态数据源    404
27.5  小结    406
第28章  创建自定义的ADO.NET数据提供程序    408
28.1  自定义数据提供程序    408
28.1.1  何时创建数据提供程序    408
28.1.2  实现自定义数据提供程序的步骤    409
28.1.3  数据提供程序情景示例    409
28.1.4  远程数据提供程序概述    410
28.2  实现IDataParameter和IDataParameterCollection    411
28.2.1  IDataParameter接口    411
28.2.2  IDataParameterCollection接口    411
28.2.3  RDPParameter类    411
28.2.4  RDPParameterCollection类    414
28.3  实现自定义Connection    416
28.3.1  IDbConnection接口    416
28.3.2  RDPConnection类    417
28.4  实现自定义Command    419
28.4.1  IDbCommand接口    419
28.4.2  RDPCommand类    420
28.5  实现自定义DataReader    424
28.5.1  IDataReader接口    424
28.5.2  RDPDataReader类    424
28.6  实现自定义DataAdapter    429
28.6.1  IDbDataAdapter接口    429
28.6.2  RDPDataAdapter类    429
28.7  小结    433
第29章  类型化的DataSet和XSD    434
29.1  XML模式定义    434
29.1.1  XSD    434
29.1.2  XSD中的基本数据类型    436
29.1.3  派生的数据类型    436
29.1.4  复杂数据类型    437
29.1.5  分组元素    437
29.1.6  注解XML模式    438
29.1.7  XML模式刻面    438
29.1.8  设计XML模式——XmlSchema类    439
29.2  使用模式构造DataSet    442
29.2.1  使用XML模式定义表和列    442
29.2.2  使用XML模式定义DataSet键和约束    443
29.3  类型化的DataSet    445
29.3.1  在Visual Studio .NET中创建类型化的DataSet    448
29.3.2  使用XSD.EXE构造类型化的DataSet    448
29.3.3  使用类型化的DataSet    448
29.3.4  注解类型化的DataSet    449
29.4  小结    451
第30章  Windows Forms数据绑定    452
30.1  数据绑定    452
30.1.1  Windows Forms数据绑定    452
30.1.2  简单数据绑定    452
30.1.3  复杂数据绑定    454
30.1.4  单向和双向数据绑定    455
30.2  数据绑定结构    455
30.2.1  BindingContext类    455
30.2.2  CurrencyManager类    455
30.2.3  PropertyManager类    458
30.3  数据绑定示例    458
30.3.1  简单绑定    458
30.3.2  绑定到ComboBox    459
30.3.3  DataGrid绑定    459
30.4  高级数据绑定示例    461
30.4.1  主/从窗体    461
30.4.2  层叠式主/从    463
30.5  小结    466
第31章  Web Forms数据绑定    467
31.1  数据绑定    467
31.1.1  Web Forms数据绑定    467
31.1.2  <%#  %>绑定语法    468
31.1.3  简单数据绑定    468
31.1.4  复杂数据绑定    470
31.1.5  DataBind()方法    470
31.2  数据绑定结构    470
31.2.1  Container.DataItem    470
31.2.2  DataBinder.Eval    470
31.2.3  ItemDataBound事件    471
31.3  数据绑定示例    471
31.3.1  简单绑定    472
31.3.2  Repeater绑定    472
31.3.3  DataList绑定    475
31.3.4  DataGrid绑定    477
31.4  高级绑定示例    477
31.4.1  主从窗体    477
31.4.2  层叠式主从    481
31.5  小结    484
   第Ⅵ部分  Web服务
第32章  Web服务介绍    489
32.1  Web服务    489
32.1.1  定义Web服务    489
32.1.2  SOAP    489
32.1.3  WSDL    491
32.2  创建Web服务    491
32.2.1  Hello World    491
32.2.2  复杂串行化    494
32.2.3  使用Web服务的事务    497
32.2.4  维护Web服务的状态    497
32.2.5  Web服务的合同优先编程    498
32.3  回顾Web服务的使用    498
32.3.1  为Web服务创建客户端代理    498
32.3.2  同步调用    498
32.3.3  异步调用    498
32.4  小结    499
第33章  WSE 2.0    501
33.1  WSE 2.0    501
33.1.1  GXA    501
33.1.2  WSE的发展    501
33.2  TCP消息传送    502
33.2.1  TCP承载的SOAP    502
33.2.2  SoapSender和SoapReceiver    502
33.2.3  SoapService类    505
33.2.4  SoapClient类    506
33.3  安全性    508
33.3.1  WSE安全性    508
33.3.2  UsernameTokens    508
33.3.3  X.509认证    509
33.3.4  签名消息    509
33.4  使用WSE 2.0传递附件消息    510
33.4.1  DIME    510
33.4.2  通过WSE传输文件    510
33.5  小结    510
第Ⅶ部分  保障应用程序的安全
第34章  代码访问安全    515
34.1  CAS    515
34.1.1  使用代码访问安全权限    516
34.1.2  代码访问权限    516
34.1.3  身份权限    517
34.1.4  基于角色的安全权限    517
34.2  CAS管理    518
34.2.1  修改CAS策略    518
34.2.2  策略管理工具    518
34.2.3  提高程序集的信任度    519
34.2.4  调整区域安全    519
34.2.5  评估程序集    520
34.2.6  创建部署包    521
34.3  编写识别CAS的代码    522
34.3.1  使用强制性安全句法    522
34.3.2  使用声明性安全句法    522
34.3.3  封闭不必要的客户端    523
34.4  小结    525
第35章  敏感数据安全    526
35.1  密钥(对称)加密    526
35.1.1  DESCryptoServiceProvider    526
35.1.2  RC2CryptoServiceProvider    527
35.1.3  RijndaelManaged    527
35.1.4  TripleDESCryptoServiceProvider    528
35.2  使用散列保护数据    530
35.2.1  MACTripleDES    530
35.2.2  SHAlManaged    531
35.2.3  MD5CryptoServiceProvider    532
35.3  公钥加密和签名    533
35.3.1  DSACryptoServiceProvider    533
35.3.2  RSACryptoServiceProvider    535
35.4  Windows Data Protection API    535
35.4.1  使用DPAPI    536
35.4.2  创建DPAPI包装器    537
35.4.3  使用DPAPI保护.NET中的数据    542
35.5  小结    543
第36章  ASP.NET Web应用程序的安全    544
36.1  用户安全    544
36.1.1  用户验证    544
36.1.2  用户角色授权    548
36.1.3  实现IIdentity和IPrincipal    548
36.2  ASP.NET应用程序中的数据安全    553
36.2.1  保护连接字符串和
Web.config数据    554
36.2.2  保护用户口令    554
36.2.3  决定何时使用SSL    555
36.2.4  使用ViewState加密的数据安全    556
36.3  小结    556
第37章  授权和知识产权    557
37.1  授权    557
37.1.1  授权定义    557
37.1.2  何时授权和保护    557
37.1.3  授权和验证的类型    558
37.2  实现自定义授权    558
37.2.1  许可提供者和许可管理员    558
37.2.2  创建许可    559
37.2.3  创建许可提供者    560
37.2.4  建立授权控件    563
37.2.5  授权Web控件和Windows Forms控件    566
37.3  授权实现策略    566
37.3.1  决定授权部署方法    567
37.3.2  决定授权验证方法    567
37.3.3  决定许可购买方法    567
37.3.4  决定授权方法    567
37.4  保护知识产权    567
37.4.1  通过隐藏授权算法保护知识产权    567
37.4.2  通过混淆法保护知识产权    568
37.4.3  使用备用后端保护知识产权    568
37.5  小结    568
第Ⅷ部分  企业应用与相关的应用
第38章  接口编程    573
38.1  接口编程    573
38.1.1  了解接口    573
38.1.2  隐式声明接口    576
38.1.3  显式声明接口    580
38.1.4  映射接口    582
38.1.5  继承接口    584
38.2  小结    585
第39章  Remoting    586
39.1  Remoting体系结构    586
39.1.1  Remoting    586
39.1.2  应用程序域    587
39.1.3  上下文    588
39.1.4  选择信道    589
39.1.5  远程对象的生存与死亡    590
39.1.6  构建Remoting服务器应用程序    595
39.1.7  构建客户端    596
39.2  IIS和Remoting    597
39.3  小结    598
第40章  COM+企业服务    599
40.1  COM+    599
40.1.1  事务    599
40.1.2  COM+中的JIT激活    600
40.1.3  对象入池    600
40.1.4  构造字符串    601
40.1.5  基于角色的安全性    601
40.1.6  排队的组件    601
40.1.7  事件    601
40.2  构建COM+组件    602
40.2.1  事务    602
40.2.2  构造字符串    604
40.2.3  JIT激活示例    605
40.2.4  对象入池    605
40.2.5  共享的属性    606
40.3  COM+中的安全性    607
40.3.1  对象和安全性上下文    608
40.3.2  基于角色的安全性    608
40.4  高级COM+    610
40.4.1  事件    610
40.4.2  排队的组件    612
40.5  小结    612
第41章  企业模板    613
41.1  企业模板    613
41.1.1  企业模板介绍    613
41.1.2  静态和动态内容    614
41.1.3  静态原型    615
41.1.4  子项目向导    615
41.1.5  自定义向导    615
41.2  策略文件    615
41.3  示例教学    617
41.3.1  设置先决条件    618
41.3.2  布置模板    618
41.3.3  创建模板结构    618
41.3.4  将策略分配给模板    622
41.3.5  建立模板    622
41.3.6  建立用户可用的模板    624
41.3.7  测试模板    625
41.4  小结    627
   第Ⅸ部分  调试和测试
第42章  调试应用程序    631
42.1  Visual Studio .NET调试环境    631
42.1.1  设置调试的应用程序    631
42.1.2  理解语法和错误消息    633
42.1.3  理解调试工具窗口    634
42.1.4  导航应用程序    637
42.1.5  设置并使用断点    638
42.2  使用Visual Studio .NET调试    639
第43章  监控应用程序    647
43.1  调试和跟踪语句    647
43.1.1  跟踪监听器    650
43.1.2  跟踪开关    654
43.1.3  自定义跟踪监听器    657
43.2  小结    658
第44章  检测应用程序    659
44.1  检测应用程序    659
44.1.1  检测应用程序介绍    659
44.1.2  检测方法    660
44.1.3  Windows事件日志    660
44.1.4  检查Debug和Trace类    662
44.1.5  Windows管理检测    664
44.2  企业检测框架    668
44.2.1  EIF简介    668
44.2.2  企业检测框架的需求    668
44.2.3  EIF的元素    668
44.2.4  请求跟踪    670
44.2.5  配置EIF    671
44.3  小结    671
第45章  C#的前景    672
45.1  C#的前景    672
45.1.1  泛性(Generics)    672
45.1.2  匿名方法    675
45.1.3  最终的可空类型    675
45.1.4  带有迭代器的列表管理    676
45.1.5  不完全类型    676
45.1.6  静态类    677
45.2  小结    678

本目录推荐