2349: Programming with the Microsoft®.NET Framework (Microsoft Visual
C# .NET)
Course Specifications:
Course Length: 5 days
Location: Entre Technology Services, LLC
1501 N. 14th St. West, Suite 1511
Registration: Call your Account Manager
at 406.256.5700 or use our Registration Forms
Introduction
The goal of this course is to help application developers understand the
Microsoft® .NET Framework. In addition to offering an overview of the .NET
Framework and an introduction to key concepts and terminology, the course
provides a series of labs, which introduce and explain .NET Framework features
that are used to code, debug, tune, and deploy applications.
Audience
This course is intended for experienced, professional software developers
including those employed by independent software vendors or those who work on
corporate enterprise development teams. Most students will be Microsoft Visual
C++® (or C++) and Java developers.
At Course Completion
At the end of the course, students will be able to:
List the major elements of the .NET Framework and explain how
they fit into the .NET platform.
Explain the main concepts behind the common language runtime
and use the features of the .NET Framework to create a simple application.
Create and use components in Windows Forms-based and ASP.NET-based
applications.
Use the deployment and versioning features of the .NET runtime
to deploy multiple versions of a component.
Create, use, and extend types by understanding the Common Type
System architecture.
Create classes and interfaces that are functionally efficient
and appropriate for given programming scenarios.
Use the .NET Framework class library to efficiently create and
manage strings, arrays, collections, and enumerators.
Use delegates and events to make an event-sender object signal
the occurrence of an action to an event-receiver object.
Describe and control how memory and other resources are managed
in the .NET Framework.
Read from and write to data streams and files.
Use the basic request/response model to send and receive data
over the Internet.
Serialize and deserialize an object graph.
Create distributed applications by means of XML Web services
and Object Remoting.
Prerequisites
Before attending this course, students should be experienced professional
software developers and have a basic understanding of the C# language.
Students can meet the C# language prerequisite by taking
Course 2124, Introduction to C# Programming for the Microsoft
.NET Platform.
Microsoft Certified Professional Exams
There is no MCP exam associated with this course.
Student Materials
The student kit includes a comprehensive workbook and other necessary
materials for this class.
Course Outline
Module 1: Overview of the Microsoft .NET Framework
Overview of the Microsoft .NET Framework
Overview of Namespaces
Describing the .NET Framework and its components.
Explaining the relationship between the .NET Framework class
library and namespaces.
Module 2: Introduction to a Managed Execution Environment
Writing a .NET Application
Compiling and Running a .NET Application
Creating simple console applications in C#.
Explaining how code is compiled and executed in a managed
execution environment.
Explaining the concept of garbage collection.
Module 3: Working with Components
An Introduction to Key .NET Framework Development Technologies
Creating a Simple .NET Framework Component
Creating a Simple Console Client
Creating an ASP.NET Client
Creating a simple .NET Framework component in C#.
Implementing structured exception handling.
Creating a simple .NET Framework console application that calls
a component.
Creating a .NET Framework client application by using the
Windows Forms library.
Creating an ASP.NET page that uses the previously developed
.NET Framework component to create an ASP.NET application.
Module 4: Deployment and Versioning
Introduction to Application Deployment
Application Deployment Scenarios
Related Topics and Tools
Packaging and deploying simple and componentized applications.
Creating strong-named assemblies.
Installing and removing assemblies from the global assembly
cache.
Configuring applications to control binding based on assembly
location and version data.
Module 5: Common Type System
An Introduction to the Common Type System
Elements of the Common Type System
Object-Oriented Characteristics
Describing the difference between value types and reference
types.
Explaining the purpose of each element in the type system,
including values, objects, and interfaces.
Explaining how object-oriented programming concepts, such as
abstraction, encapsulation, inheritance, and polymorphism, are implemented
in the Common Type System.
Module 6: Working with Types
System. Object Class Functionality
Specialized Constructors
Type Operations
Interfaces
Managing External Types
Applying attributes to control visibility and inheritance in
classes and interfaces.
Creating and using interfaces that define methods and
properties.
Explaining how boxing and unboxing work and when boxing and
unboxing occur.
Using operators to determine types at run time and to cast
values to different types.
Explaining what features are available to work with unmanaged
types, such as COM types.
Module 7: Strings, Arrays, and Collections
Strings
Terminology - Collections
.NET Framework Arrays
.NET Framework Collections
Parsing, formatting, manipulating, and comparing strings.
Using the classes in the System.Array and System.Collections
namespaces.
Improving the type safety and performance of collections by
using specialized collections and class-specific code.
Module 8: Delegates and Events
Delegates
Multicast Delegates
Events
When to Use Delegates, Events, and Interfaces
Using the delegate class to create type-safe callback functions
and event-handling methods.
Using the event keyword to simplify and improve the
implementation of a class that raises events.
Implementing events that conform to the .NET Framework
guidelines.
Module 9: Memory and Resource Management
Memory Management Basics
Non-Memory Resource Management
Implicit Resource Management
Explicit Resource Management
Optimizing Garbage Collection
Describing how garbage collection manages object memory.
Implicitly managing non-memory resources by using a
destructor's finalize code.
Explicitly managing non-memory resources by using
client-controlled deterministic release of resources.
Writing code by using the temporary resource usage design
pattern.
Programmatically controlling the behavior of the garbage
collection.
Describing advanced garbage collection features.
Module 10: Data Streams and Files
Streams
Readers and Writers
Basic File I/O
Using Stream objects to read and write bytes to backing stores,
such as strings and files.
Using BinaryReader and BinaryWriter objects to read and write
primitive types as binary values.
Using StreamReader and StreamWriter objects to read and write
characters to a stream.
Using StringReader and StringWriter objects to read and write
characters to strings.
Using Directory and DirectoryInfo objects to create, move, and
enumerate through directories and subdirectories.
Using FileSystemWatcher objects to monitor and react to changes
in the file system.
Explaining the key features of the.NET Framework's isolated
storage mechanism.
Module 11: Internet Access
Internet Application Scenarios
The WebRequest and WebResponse Model
Application Protocols
Handling Errors
Security
Best Practices
Using the basic request/response model to send and receive data
over the Internet.
Using the System.Net classes to communicate with other
applications by using the Hypertext Transfer Protocol (HTTP), Transmission
Control Protocol (TCP), User Datagram Protocol (UDP), and Socket Internet
protocols.
Module 12: Serialization
Serialization Scenarios
Serialization Attributes
Object Graph
Serialization Process
Serialization Example
Deserialization Example
Custom Serialization
Custom Serialization Example
Security Issues
Writing an application that serializes and deserializes an
object graph by using either a binary or Simple Object Access Protocol
(SOAP) XML format.
Module 13: Remoting and XML Web Services
Remoting
Remoting Configuration Files
XML Web Services
Writing and configuring distributed applications that use .NET
Remoting.
Creating an XML Web service by using Visual Studio .NET and
ASP.NET.
Consuming an XML Web service by using the Web Services
Description Language tool (Wsdl.exe).