Learn your way! Get started

Advanced .NET Framework 2.0 Using C# 2005: Part 1 of 2

with expert Don Kiely


Course at a glance

Included in these subscriptions:

  • Dev & IT Pro Video
  • Dev & IT Pro Power Pack

Release date 12/30/2006
Level Advanced
Runtime 12h 27m
Closed captioning N/A
Transcript N/A
eBooks / courseware Included
Hands-on labs Included
Sample code Included
Exams Included
Platform Internet Explorer Only


Enterprise Solutions

Need reporting, custom learning tracks, or SCORM? Learn More



Course description

In this volume, you’ll learn about System.Configuration namespace to embed configuration management into your .NET applications. See how to post events to the Windows Event log and manage Windows processes using the System.Diagnostics namespace. Take advantage of the new .NET 2.0 security features in the System.Security namespace. Prevent tampering using the AccessControl and Authentication classes. Protect your data using the Cryptography classes. Control access to your applications using the Permissions and Policy classes.

Meet the expert

Don Kiely is a featured instructor on many of our SQL Server and Visual Studio courses. He is a nationally recognized author, instructor, and consultant specializing in Microsoft technologies. Don has many years of teaching experience, is the author or co-author of several programming books, and has spoken at many industry conferences and user groups. In addition, Don is a consultant for a variety of companies that develop distributed applications for public and private organizations.

Course outline



Module 1

Application Configuration (35:14)
  • Introduction (04:44)
  • .NET Configuration System (03:49)
  • Configuration API (02:38)
  • Config Files Security (02:09)
  • Standard Config Sections (01:54)
  • Demo: Application Settings (02:56)
  • Read AppSettings (05:31)
  • View Raw AppSettings XML (02:01)
  • Connection Strings (00:53)
  • Conn. Strings in web.config (00:35)
  • Retrieve Conn. Strings (05:05)
  • Other Standard Sections (00:36)
  • Get Impersonate Setting (01:32)
  • Summary (00:43)
Manipulate Config Files (31:53)
  • Introduction (01:13)
  • Add a Setting (02:42)
  • Demo: Write to AppSettings (03:23)
  • Remove a Setting (01:21)
  • Toggle Debugging in Setting (02:57)
  • Read machine.config (03:38)
  • Read Root web.config (02:19)
  • Read App. web.config (02:27)
  • Config Files in WinForms (01:41)
  • Section Groups / Props. (00:18)
  • Read machineKey section (02:47)
  • Section Collections (00:19)
  • Read from Pages Section (01:40)
  • Enumerating Section Groups (04:30)
  • Summary (00:31)
Custom Config. Sections (34:19)
  • Introduction (01:55)
  • Create a Custom Section (02:14)
  • Write Section Handlers (00:55)
  • Declarative Section Handler (04:41)
  • Link Class in web.config (01:26)
  • Test Declarative Header (02:28)
  • Programmatic Section Handler (03:40)
  • Property Validators (01:21)
  • Test Programmatic Header (00:40)
  • More Complex Sect. Header (02:40)
  • View Class Code (09:08)
  • Test Complex Header (02:45)
  • Summary (00:21)

Module 2

Custom Config. Providers (34:00)
  • Introduction (00:49)
  • View SettingsProvider (02:01)
  • User vs App. Scope (01:14)
  • Use SettingsProvider (00:47)
  • userSettings Section (01:03)
  • SQL Settings Provider (04:10)
  • GetPropertyValues Code (02:56)
  • GetValue Code (03:13)
  • SetPropertyValues Code (01:24)
  • SetValue Code (02:17)
  • Scope Support Functions (02:22)
  • IAppSettingsProvider (05:28)
  • GetPreviousVersionNumber (02:59)
  • Test the Provider (02:41)
  • Summary (00:26)
Installation Components (14:15)
  • Introduction (02:20)
  • Installation Components (01:44)
  • Pre-Defined Components (01:54)
  • Create a Windows App (01:52)
  • Add an Installer (00:17)
  • View Installer Code (01:55)
  • Add Code to Form (00:38)
  • Create Deployment Project (01:29)
  • Build the App (00:17)
  • Test the App (01:28)
  • Summary (00:16)
Custom Install Components (28:04)
  • Introduction (00:31)
  • Overview (04:21)
  • Create Install Comp. (01:55)
  • Base Installer Class Code (03:21)
  • InstallEventHandler Code (00:29)
  • Database Code (05:23)
  • Run Installation Code (00:54)
  • InstallUtil.exe Tool (02:18)
  • AssemblyInstaller Class (01:54)
  • View Installer Code (06:30)
  • Summary (00:25)
Configuring Assemblies (17:45)
  • Introduction (00:47)
  • Specify Framework Version (03:12)
  • Specific Assembly Versions (02:20)
  • Concurrent Garbage Coll. (01:41)
  • Register Remote Objects (05:22)
  • .NET Configuration Tool (03:45)
  • Summary (00:35)

Module 3

Event Logs (23:56)
  • Introduction (01:00)
  • Overview: Tools (01:25)
  • WinForms Components (00:33)
  • Use an Event Log (01:53)
  • Security Note About Logs (02:02)
  • EventLog Class (02:15)
  • Create an Event Log (00:52)
  • Setup Form Code (02:13)
  • Create/Delete Logs Code (03:29)
  • Read From an Event Log (02:19)
  • Log Changed Code (00:59)
  • Get Log Entries Code (02:05)
  • Write to an Event Log (02:19)
  • Summary (00:24)
Processes (16:49)
  • Introduction (01:39)
  • Run ProcessManager Demo (01:03)
  • List Running Processes (02:18)
  • List Process"s Modules (02:35)
  • Retrieve Current Process (01:38)
  • Start a New Process (02:23)
  • Start New Process Code (04:36)
  • Summary (00:33)
Application Performance (11:53)
  • Introduction (01:24)
  • Run Perf. Counter App (01:14)
  • Windows Perf. Tool (01:38)
  • Create Perf. Counters (04:48)
  • Using Perf. Counters (02:24)
  • Summary (00:22)
Debugging (40:25)
  • Introduction (01:36)
  • Examine Debugging Sample (02:44)
  • View Debug Sample Code (02:00)
  • Overview: Stack Trace (01:15)
  • Examine Stack Trace (01:07)
  • Stack Trace Code (04:16)
  • Debugger Attributes (03:43)
  • BrowsableAttribute (02:06)
  • DisplayAttribute (02:20)
  • HiddenAttribute (01:55)
  • StepThroughAttribute (00:53)
  • TypeProxyAttribute (05:32)
  • Debugging Visualizers (02:03)
  • Impl. Custom Visualizer (07:57)
  • Summary (00:51)

Module 4

Instrumenting (30:20)
  • Introduction (01:33)
  • The Debug Class (00:20)
  • Write Debug Information (04:34)
  • Debug Fail (03:22)
  • Assertions (04:51)
  • The Trace Class (02:07)
  • Debug vs Trace (01:49)
  • Trace Switching (04:43)
  • Correlating Traces (04:41)
  • Enable Debugging/Tracing (01:36)
  • Summary (00:38)
Tracing (17:05)
  • Introduction (02:14)
  • Run Tracing Demo (00:41)
  • Trace Sources (03:08)
  • Trace Switches (01:34)
  • Trace Listeners (04:05)
  • Filtering Traces (02:22)
  • Configuring Traces (02:43)
  • Summary (00:13)
Management (25:57)
  • Introduction (01:57)
  • WMI Object Browser (02:35)
  • Interesting WMI Classes (02:57)
  • Access Windows Resources (00:22)
  • Enum. Physical Drives (05:21)
  • Enum. Logical Disks (03:41)
  • Enum. Network Adapters (03:10)
  • Enum. System Processes (01:43)
  • Enum. Paused Services (03:38)
  • Summary (00:29)
Events (15:06)
  • Introduction (01:45)
  • WQL Queries (01:18)
  • Synchronous WMI Events (07:18)
  • Asynchronous WMI Events (03:03)
  • Summary (01:41)

Module 5

Code Access Security (42:23)
  • Introduction (03:14)
  • Overview: CAS (03:12)
  • CAS: Evidence (02:44)
  • CAS: Security Policy (03:08)
  • CAS: Code Groups (01:49)
  • CAS: Permissions (04:00)
  • Sample Runtime Sec. Pol. (02:47)
  • CAS / Windows Security (02:33)
  • Configuring CAS (00:55)
  • Framework Config. Tool (07:57)
  • Default Permission Sets (00:32)
  • Create Permission Set (03:37)
  • Analyze Assemblies (02:58)
  • Reset All Sec. Pols. (02:02)
  • Summary (00:46)
Assemblies (30:32)
  • Introduction (02:20)
  • Use CAS in Assemblies (05:10)
  • Testing CAS (04:30)
  • VS Project Sec. Settings (04:19)
  • Set Security on Assemblies (01:28)
  • Add RequestMinimum (01:25)
  • Add RequestOptional (02:41)
  • Add UIPermission (01:36)
  • Edit File/UI Permissions (03:42)
  • Add RequestRefuse (02:15)
  • Summary (01:02)

Module 6

Methods (38:50)
  • Introduction (02:22)
  • Use CAS with Methods (01:31)
  • Method Permission Requests (02:40)
  • Setup Method Example (03:14)
  • Declarative Demand (01:56)
  • Imperative Demand (01:46)
  • Declarative Demand Fail (02:13)
  • Imperative Demand Fail (01:11)
  • Declarative Link Demand (01:52)
  • Declarative Assert (02:14)
  • Imperative Assert (00:14)
  • Declarative Permit Only (01:42)
  • Imperative Permit Only (00:30)
  • Declarative Inheritance (01:15)
  • Analyze Permissions (02:39)
  • Safe Error Handling (02:14)
  • Custom Permission Sets (03:10)
  • Named Permission Sets (05:15)
  • Summary (00:43)
Windows Identity (42:31)
  • Introduction (01:14)
  • Authentication (03:27)
  • .NET Role-Based Security (03:27)
  • IIdentity / IPrincipal (03:14)
  • Identities / Principals (02:21)
  • Windows Identity (02:47)
  • Use Windows Identity (02:14)
  • Windows Principal (02:09)
  • Use Windows Principal (04:41)
  • Group Membership (01:59)
  • Use Group Membership (02:36)
  • Impersonation (01:04)
  • Use Impersonation (01:32)
  • Create an IIS Directory (09:12)
  • Summary (00:28)
Security Demands (28:20)
  • Introduction (01:13)
  • PrincipalPermission Class (01:09)
  • Declarative Demands (03:13)
  • Imperative Demands (02:50)
  • Generic/Custom Identities (00:35)
  • Generic Identities/Principals (01:57)
  • Use Generic Objects (03:51)
  • Custom Object Demo (02:08)
  • Custom Identity Code (04:05)
  • Custom Principal Code (06:56)
  • Summary (00:19)

Module 7

Windows Security (22:16)
  • Introduction (01:47)
  • DACLs / SACLs (05:18)
  • Effective Permissions (02:42)
  • Explore DACLs / SACLs (07:18)
  • Access Control (01:06)
  • Classes/Enumerations (01:18)
  • Access/Audit Rule Classes (02:00)
  • Summary (00:45)
Access Audit Rules (34:26)
  • Introduction (00:52)
  • Run Access Control Demo (03:57)
  • View Access Control Code (06:45)
  • Retrieve Access Rules (00:27)
  • Retrieve Security Info (04:21)
  • Retrieve Audit Rules (00:34)
  • Get Rules for Directories (01:03)
  • Get Rules for Registry (03:00)
  • Change Access Rules (00:18)
  • Allowing Access (03:54)
  • Denying Access (01:45)
  • Removing Access (03:26)
  • Change Audit Rules (01:27)
  • AuditFlags.None value (01:36)
  • Summary (00:57)
Low Level Security (25:43)
  • Introduction (01:28)
  • ACL / ACE Classes (03:00)
  • CommonSecurityDescriptor (05:10)
  • Ownership (02:03)
  • Securing New Objects (05:56)
  • Access Object Ownership (02:56)
  • Inheritance/Propagation (01:55)
  • Inheritance/Prop. Demo (00:42)
  • SetAccessRuleProtection (01:50)
  • Summary (00:39)

Module 8

Cryptography (47:09)
  • Introduction (01:57)
  • Cryptography Overview (02:25)
  • Protection Issues (04:07)
  • Algorithms (04:22)
  • Block Padding (02:19)
  • Cryptography in .NET (05:42)
  • Hashing Data (04:38)
  • Hashing Algorithms (01:30)
  • Algorithm Characteristics (01:28)
  • .NET Framework Classes (00:56)
  • Cryptography Demo (03:18)
  • Hashing Code (03:37)
  • Hashing a File (01:23)
  • Validate the Hash (04:02)
  • Compare Hash Codes (01:39)
  • CryptoConfig Object (01:07)
  • Key Hashing Algorithm (01:07)
  • Summary (01:24)
Encryption (32:07)
  • Introduction (01:39)
  • Symmetric Key Encryption (02:42)
  • Algorithms (02:11)
  • Algorithm Characteristics (01:10)
  • Symmetric in .NET (00:33)
  • Symmetric Key Demo (01:03)
  • Symmetric Key Code (03:11)
  • Encrypt/Decrypt Data (05:27)
  • Encrypt/Decrypt w/3DES (04:11)
  • Asymmetric Key Encryption (03:09)
  • RSA Algorithm (00:20)
  • Asymmetric in .NET (00:51)
  • Asymmetric Key Demo (01:08)
  • Asymmetric Key Code (03:39)
  • Summary (00:42)
Digital Sigs and DPAPI (25:40)
  • Introduction (01:41)
  • Digital Signature Hierarchy (00:45)
  • Digital Signature Demo (01:16)
  • Digital Signature Code (04:37)
  • Data Protection API (DPAPI) (03:23)
  • The DPAPI Process (02:23)
  • Store Options (01:50)
  • ProtectedMemory Class (01:51)
  • ProtectedData Class (00:59)
  • Protect Memory Demo (00:23)
  • Protect Data Demo (00:15)
  • Protect Memory Code (02:37)
  • Protect Data Code (02:45)
  • Summary (00:47)