2957 Advanced Foundations of Microsoft .NET 2.0
Development
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.
WE CAN CUSTOMIZE THIS COURSE FOR YOU, LEARN MORE.
Target Audience:
Developers
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 Outline
Module 1: Enhancing User Interfaces by Using
System.Drawing
This 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.Globalization
This 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 Encodings
This 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 text
Lessons
- 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
Cryptography
This 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
Resources
This 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 Interoperability
This 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 applications
Lessons
- 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
Objects
This 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
Domains
This 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.