没有合适的资源?快使用搜索试试~ 我知道了~
首页.NET Framework 2.0 技术详解
"Microsoft .NET Framework 2.0是微软公司发布的一个重要的开发平台,它为构建和运行基于Windows的应用程序提供了全面的运行环境。这本书籍是针对.NET Framework 2.0的重要参考资料,适合开发者深入学习该框架。"
.NET Framework 2.0是微软在2006年发布的版本,它在前一版本的基础上进行了许多改进和增强,包括性能优化、新特性的添加以及对现有API的扩展。这个框架是开发Windows桌面应用、Web应用和服务的基础,尤其对于使用C#、VB.NET等.NET语言的开发者来说,它是不可或缺的一部分。
.NET Framework 2.0的核心组成部分包括Common Language Runtime (CLR)和类库。CLR是.NET Framework的执行环境,它负责编译、加载、执行托管代码,并提供内存管理、类型安全和异常处理等功能。类库则包含了大量的预定义类型和功能,如System、System.IO、System.Net等命名空间,为开发者提供了丰富的API来简化开发工作。
在.NET Framework 2.0中,一些显著的新特性包括:
1. **Generics**:引入了泛型,这是一种可以提高代码重用和类型安全性的机制,允许开发者创建可以处理多种数据类型的类和方法。
2. **ASP.NET 2.0**:增强了Web应用程序开发框架,引入了母版页、站点导航、皮肤和控件库的改进,使得Web应用开发更加高效和灵活。
3. **ADO.NET 2.0**:数据库访问组件得到了更新,增加了数据集的同步和缓存改进,提升了数据访问性能。
4. **Windows Forms 2.0**:桌面应用程序开发的改进,提供了新的控件和设计工具,以及更强大的布局和样式控制。
5. **WCF(Windows Communication Foundation)**:虽然在.NET Framework 3.0中正式发布,但其早期版本在2.0中就已经开始酝酿,为后续的分布式系统和SOA架构打下了基础。
6. **改进的性能**:对CLR和类库进行了优化,提高了应用程序的启动速度和运行效率。
这本书籍可能是针对这些内容进行深入解析,帮助开发者理解.NET Framework 2.0的内部工作原理、最佳实践以及如何有效地利用其新特性来构建高效的应用程序。通过阅读此书,读者可以掌握如何利用.NET Framework 2.0来提升开发效率,同时了解微软的开发工具和技术生态。
xviii Contents
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Case Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Case Scenario 1: Improving Server Processing . . . . . . . . . . . . . . . . . . . . . . . . . 432
Case Scenario 2: Multiple Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
Suggested Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Create a ThreadPool Application. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
Take a Practice Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
8 Application Domains and Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Lesson 1: Creating Application Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
What Is an Application Domain?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
The AppDomain Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
How to Create an Application Domain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
How to Load Assemblies in an Application Domain . . . . . . . . . . . . . . . . . . . . 443
How to Unload an Application Domain. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Lab: Creating Domains and Loading Assemblies . . . . . . . . . . . . . . . . . . . . . . . 444
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Lesson 2: Configuring Application Domains . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
How to Use an Application Domain to Launch
Assemblies with Limited Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
How to Configure Application Domain Properties . . . . . . . . . . . . . . . . . . . . . 451
Lab: Control Application Domain Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Lesson 3: Creating Windows Services. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
What Is a Windows Service? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
How to Create a Service Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
How to Implement a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
How to Create an Install Project for a Service. . . . . . . . . . . . . . . . . . . . . . . . . . 461
How to Manage and Control a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Lab: Create, Install, and Start a Service to Monitor a Web Site . . . . . . . . . . . 465
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Case Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Contents xix
Case Scenario 1: Creating a Testing Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
Case Scenario 2: Monitoring a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Suggested Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Create a Unit of Isolation for the Common Language Runtime
Within a .NET Framework Application by Using Application Domains . . . . . 475
Implement, Install, and Control a Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Take a Practice Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
9 Installing and Configuring Applications. . . . . . . . . . . . . . . . . . . . . . . . . 477
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Lesson 1: Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Configuration in .NET Framework 2.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Common Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Application Settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Lab: Get a Database Connection String . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
Lesson 2: Creating an Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Using Base Installer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Committing an Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Rolling Back an Installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Lab: Set and Roll Back a Registry Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Lesson 3: Using the .NET Framework 2.0 Configuration Tool . . . . . . . . . . . . . . . . . . . 521
Browsing Configurations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
Changing a Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
Resetting a Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
Lab: Change and Restore Application Settings . . . . . . . . . . . . . . . . . . . . . . . . . 529
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Lesson 4: Configuration Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Getting and Storing Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
Implementing Configuration Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
Lab: Read and Write Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
xx Contents
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
Case Scenario: Installing and Configuring a New Application . . . . . . . . . . . . . . . . . . 548
Suggested Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Create a Unit of Isolation for Common Language Runtime within a .NET
Framework Application by Using Application Domains . . . . . . . . . . . . . . . . . 549
Implement, Install, and Control a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
Take a Practice Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
10 Instrumentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Lesson 1: Logging Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Using Microsoft Windows Events and Logging Them . . . . . . . . . . . . . . . . . . . 553
Creating and Deleting an Event Log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Writing to an Event Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Reading from an Event Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Lab: Create and Use an Application Event Log. . . . . . . . . . . . . . . . . . . . . . . . . 561
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
Lesson 2: Debugging and Tracing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Writing Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
Debug Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573
Creating Trace Listeners . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581
Listener Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
Lab: Create and Use an Application Event Log. . . . . . . . . . . . . . . . . . . . . . . . . 589
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Lesson 3: Monitoring Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
An Overview of Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
The Process Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Enumerating Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Using Performance Counters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
The CounterCreationData Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
The PerformanceCounterCategory Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
The PerformanceCounter Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Starting Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
The StackTrace and StackFrame Classes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609
Lab: Monitoring Application Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 613
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
www.Cyrussoft.net
Contents xxi
Lesson 4: Detecting Management Events. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Enumerating Management Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Enumerating Logical Drives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
Enumerating Network Adapters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
Retrieve Information about Services that Are Paused . . . . . . . . . . . . . . . . . . . 619
Subscribe to Management Events Using
the ManagementEventWatcher Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Lab: Write a Management Event to a Log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Chapter Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Key Terms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Case Scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
Case Scenario: Choosing Where to Direct Outupt . . . . . . . . . . . . . . . . . . . . . . 625
Suggested Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Embedding configuration, diagnostic, management,
and installation features into a .NET Framework application . . . . . . . . . . . . . 626
Take a Practice Test. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
11 Application Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 627
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Lesson 1: Understanding Code Access Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
What Is Code Access Security? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Elements of Code Access Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
What Is Security Policy?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
How CAS Works with Operating System Security . . . . . . . . . . . . . . . . . . . . . . . 640
How to Use the .NET Framework Configuration Tool to Configure CAS. . . . 641
How to Use the Code Access Security Policy Tool . . . . . . . . . . . . . . . . . . . . . . 646
Lab: Configuring Code Access Security. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Lesson Summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Lesson Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
Lesson 2: Using Declarative Security to Protect Assemblies . . . . . . . . . . . . . . . . . . . . 658
Reasons to Use CAS Assembly Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
Classes for CAS Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Types of Assembly Permission Declarations. . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
How to Create Assembly Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
Guidelines for Using Assembly Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
Lab: Using Assembly Permission Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
www.Cyrussoft.net
xxii Contents
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Lesson 3: Using Declarative and Imperative Security to Protect Methods . . . . . . . . 672
Types of Method Permission Requests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Guidelines for Using Method Permission Requests . . . . . . . . . . . . . . . . . . . . . 673
Techniques for Demanding Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
Techniques for Limiting Permissions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
How to Relax Permissions and Potentially Improve Performance . . . . . . . . . 682
How to Call Trusted Code from Partially Trusted Code . . . . . . . . . . . . . . . . . . 686
How to Use Permission Sets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
Lab: Protecting Methods with Code Access Security Demands . . . . . . . . . . . 687
Lesson Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Lesson Review. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
Chapter Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 696
Case Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Case Scenario 1: Explaining Code Access Security . . . . . . . . . . . . . . . . . . . . . . 697
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Case Scenario 2: Customizing Code Access Security . . . . . . . . . . . . . . . . . . . . 698
Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Suggested Practices. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Implement Code Access Security to Improve the Security
of a .NET Framework Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
Control Permissions for Resources by Using the
System.Security.Permission Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
Control Code Privileges by Using System.Security.Policy Classes . . . . . . . . . 699
Take a Practice Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
12 User and Data Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
Before You Begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703
Lesson 1: Authenticating and Authorizing Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
Authentication and Authorization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 704
WindowsIdentity Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
WindowsPrincipal Class. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
PrincipalPermission Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 710
How to Use Declarative Role-Based Security Demands
to Restrict Access to Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
剩余1073页未读,继续阅读
271 浏览量
760 浏览量
485 浏览量
336 浏览量
197 浏览量
432 浏览量
2025-01-03 上传
187 浏览量
tonyorz
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- PT100应用电路及相关设计资料
- 笔记本分析
- kanban:用于Redmine的看板插件
- 行业分类-设备装置-一种接插件端子组装检测系统.zip
- ComputerVision
- 浏览器 咨信浏览器 v9.0.52.4
- Arduino-NodeJs-Serialport
- OpenSchema:用于自然语言生成的文档结构模式-开源
- 砷:w-不要判断
- ProgrammingA1
- 摄影测量_单张像片的空间后方交会(C# windows form)
- 行业分类-设备装置-一种接入不同栅格地图服务的方法.zip
- NOVA:复杂组分析数据的分析和可视化。-开源
- ruby_rbenv:ruby_rbenv食谱的开发库
- Go-uuid:本项目为go语言生成uuid和通过雪花算法生成分布式唯一id
- github-clone.el:从 Emacs 分叉和克隆 Github 项目
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功