Course 2957B:

Advanced Foundations of Microsoft .NET 2.0 Development

Length:3 Days
Published:September 02, 2008
Technology:Microsoft Visual Studio 2005
Delivery Method:Instructor-led (classroom)
About this Course
This three-day instructor-led course provides students with the knowledge and skills to program Microsoft .NET Framework applications by using Microsoft Visual Studio 2005 development system.
Target Audience:
Audience Profile
The audience for this course consists of full-time application developers who have professional experience with Visual Studio 2005 and either Microsoft Visual Basic development system or Microsoft Visual C# development tool.
At Course Completion
After completing this course, students will be able to:
  • Enhance user interfaces by using System.Drawing.
  • Work with cultures by using System.Globalization.
  • Process text by using regular expressions and encodings.
  • Encrypt and hash data by using cryptography.
  • Secure code execution and resources.
  • Explain how to implement application interoperability.
  • Describe and use reflection, metadata, and emitting objects.
  • Describe and use services, threading, and application domains.
Course OutlineModule 1: Enhancing User Interfaces by Using System.DrawingThis module describes the key features of the System.Drawing namespace that the .NET Framework provides. It also explains how to create and modify your own custom drawings.Lessons
  • Drawing Fundamentals
  • Drawing Lines and Shapes
  • Rendering Bitmaps and Icons
Lab : Drawing to a Windows Form
  • Drawing a Feedback Bar
  • Drawing a Feedback Pie Chart
  • Implementing an Automatic Double Buffer
  • Adding Fonts to Your Application
  • Saving Your Scaled Image
After completing this module, students will be able to:
  • Use points, sizes, brushes, pens, colors, and fonts.
  • Draw lines and shapes.
  • Create and use images, bitmaps, and icons.
Module 2: Working with Cultures by Using System.GlobalizationThis module describes how to use the System.Globalization namespace to work with culture information and perform culture-sensitive string comparisons. It also describes how to create a custom culture.Lessons
  • Working with Culture Information
  • Formatting and Sorting Culture-Sensitive Data
  • Creating a Custom Culture
Lab : Working with Cultures by Using System.Globalization
  • Managing Culture Information
  • Creating a Custom Culture
After completing this module, students will be able to:
  • Explain the purpose of the System.Globalization namespace and describe how to access culture information by using the CultureInfo class.
  • Format values by using the supporting classes in the System.Globalization namespace and explain how to perform culture-sensitive string comparisons.
  • Create a custom culture by using the CultureAndRegionInfoBuilder class.
Module 3: Processing Text by Using Regular Expressions and EncodingsThis module describes the key features of the System.Text namespace that the .NET Framework provides. It explains how to store and manipulate strings, how and when to implement regular expressions, and how to customize encodings to produce the correct results when you process textLessons
  • Handling Text and Large Strings
  • Using Regular Expressions
  • Encoding Text
Lab : Processing Text by Using Regular Expressions and Encodings
  • Handling Text and Strings
  • Creating and Using Regular Expressions
  • Working with Encoding
After completing this module, students will be able to:
  • Explain the purpose of and use the StringBuilder class.
  • Describe the purpose of and create regular expressions by using the classes in the System.Text.RegularExpressions namespace.
  • Describe text encoding and how to encode and decode text by using the encoding classes.
Module 4: Encrypting and Hashing Data by Using CryptographyThis module describes when to use data encryption and hashing and explains how to use the classes in the .NET Framework 2.0 to perform these cryptographic tasks. It also discusses how to customize the implementation of specific algorithms by extending base classes in the System.Security.Cryptography namespace.Lessons
  • Working with Encryption and Hashing
  • Encrypting and Decrypting Data
  • Hashing Data
  • Extending Cryptography
Lab : Creating a Cryptographic Application
  • Creating an Asymmetric Key
  • Encrypting a File
  • Decrypting a File
  • Exporting and Importing a Public Key
  • Getting a Private Key
After completing this module, students will be able to:
  • Explain the purpose of encryption and hashing algorithms.
  • Describe the algorithms available for hashing and encryption.
  • Describe the difference between symmetrical and asymmetrical algorithms.
  • Encrypt and decrypt data by using the classes in the System.Security.Cryptography namespace.
  • Create custom classes that extend the .NET Framework cryptography model.
Module 5: Securing Code Execution and ResourcesThis module describes how code access security (CAS) works, how to make CAS permission checks in code, and how to configure CAS security policy. It also introduces Windows operating system access checks and explains how to use the .NET Framework base class library to read and modify Windows access control lists (ACLs). This module also describes how .NET Framework security performs authorization checks and how to customize the mechanism.Lessons
  • Using Code Access Security
  • Securing Code Execution by Using Policy
  • Securing Resources by Using Access Control
  • Customizing Authentication and Authorization
Lab : Custom Authentication by Using Principal Objects
  • Viewing the Starter Solution
  • Adding Role-Based Security
  • Testing the Application
After completing this module, students will be able to:
  • Describe and implement CAS by using the System.Security and System.Security.Permissions namespaces.
  • Explain how to control code privileges by using the System.Security.Policy namespace, and describe how to use the utilities provided with the .NET Framework to manage computer, user, and enterprise-level policy.
  • Describe and use access control by using the classes in the System.Security.AccessControl namespace.
  • Explain how to authenticate and authorize users by using the System.Security.Principal namespace.
Module 6: Application InteroperabilityThis module describes how to invoke functions that are implemented in unmanaged DLLs, and how to use various techniques for integrating Component Object Model (COM) components into managed applications. It also explains how to make managed components that are built by using the .NET Framework available to unmanaged COM client applicationsLessons
  • Using the Platform Invoke Service
  • Integrating COM Components into a .NET Framework Application
  • Integrating Managed Components into an Unmanaged Application
Lab : Application Interoperability
  • Integrating Unmanaged Functions into a Managed Application
  • Integrating a COM Component into a Managed Application by Creating an Interop Assembly
  • Integrating a COM Component into a Managed Application by Using Late Binding
  • Manually Creating an Interop Assembly for a COM Component
After completing this module, students will be able to:
  • Use the Platform Invoke service to incorporate unmanaged functions into a .NET Framework application.
  • Integrate unmanaged COM components into a .NET Framework application.
  • Incorporate components that are built by using the.NET Framework into unmanaged applications.
Module 7: Reflection, Metadata, and Emitting ObjectsThis module describes how to use the classes in the .NET Framework 2.0 class library to examine a program, alter the behavior or structure of the program as it runs, and create and run new code.Lessons
  • Reflecting on Objects
  • Adding Assembly Metadata
  • Emitting Objects by Using Builder Classes
Lab : Creating an Add-in Framework by Using Reflection
  • Creating a Custom Attribute to Decorate Add-in Classes
  • Using Reflection to Discover the Add-in Classes
  • Creating a Mapping from Columns to Properties
  • Creating a Dynamic Method to Set a Property Value
  • Invoking the Row Handler
After completing this module, students will be able to:
  • Explain and use reflection in .NET Framework applications by using the System.Reflection namespace.
  • Describe and create application metadata.
  • Describe and create Microsoft intermediate language (MSIL) and portable executable (PE) files by using the System.Reflection.Emit namespace.
Module 8: Services, Threading, and Application DomainsThis module describes how to use the Microsoft .NET Framework classes to write Windows services and classes to install services. It also explains how to use the .NET Framework classes to create thread objects to execute code and to synchronize execution between threads. Finally, this module describes how to access and configure application domains.Lessons
  • Creating and Installing Windows Services
  • Creating Multithreaded Applications
  • Manually Working with Application Domains
Lab : Creating a Windows Service Application
  • Creating a Service Project
  • Creating the Installation Project
  • Creating a Client Application
  • Writing the Service Code
After completing this module, students will be able to:
  • Explain how to create, install, and control a Windows service by using the System.ServiceProcess namespace.
  • Describe and implement multithreaded applications by using the System.Threading namespace.
  • Describe and create application domains.
Additional Reading
To help you prepare for this class, review the following resources:
  • Course 2956B: Core Foundations of Microsoft .NET 2.0 Development.
Before attending this course, students must have:
  • Understand the purpose and components of the .NET Framework 2.0 and the common language runtime.
  • Understand and use the .NET Framework 2.0 common type system (CTS).
  • Understand basic language syntax for decision structures, loop structures, and variables.
  • Write code by using language-specific functionality such as the My. classes for Visual Basic.
  • Understand and use classes, objects, methods, properties, and functions.
  • Write code to implement overridden methods, static (Visual C#) or Shared (Visual Basic) methods, and properties.
  • Use type conversions and text conversions.
  • Create and use solutions and projects by using Visual Studio 2005.
  • Use the Visual Studio 2005 object browser and the Visual Studio help system.
Looking for training resources, events and advice from peers? Join the Microsoft Training and Certification Community. Preparing for an exam now? Find your Microsoft Certification Study Group. Talk to us on these social networks:

Find a Microsoft Learning Partner near you

Find Training Near You


Eg: Seattle, WA or Paris, France