Part Number: X08-76381
Course Number: 2349B
Released: 02/2002
Delivery Guide
Programming with the
Microsoft
®
.NET Framework
(Microsoft Visual C#
™
.NET)
Information in this document, including URL and other Internet Web site references, is subject to
change without notice. Unless otherwise noted, the example companies, organizations, products,
domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious,
and no association with any real company, organization, product, domain name, e-mail address,
logo, person, places or events is intended or should be inferred. Complying with all applicable
copyright laws is the responsibility of the user. Without limiting the rights under copyright, no
part of this document may be reproduced, stored in or introduced into a retrieval system, or
transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Microsoft Corporation.
Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. Except as expressly provided in any
written license agreement from Microsoft, the furnishing of this document does not give you any
license to these patents, trademarks, copyrights, or other intellectual property.
2001−2002 Microsoft Corporation. All rights reserved.
Microsoft, ActiveX, BizTalk, IntelliMirror, Jscript, MSDN, MS-DOS, MSN, PowerPoint,
Visual Basic, Visual C++, Visual C#, Visual Studio, Win32, Windows, Windows Media, and
Window NT are either registered trademarks or trademarks of Microsoft Corporation in the U.S.A.
and/or other countries.
The names of actual companies and products mentioned herein may be the trademarks of their
respective owners.
Course Number: 2349B
Part Number: X08-76381
Released: 02/2002
Programming with the Microsoft® .NET Framework (Microsoft Visual C#™ .NET) iii
Contents
Introduction
Introduction..............................................................................................................1
Course Materials ......................................................................................................2
Prerequisites.............................................................................................................3
Course Outline .........................................................................................................4
Microsoft Certified Professional Program ...............................................................9
Facilities.................................................................................................................11
Module 1: Overview of the Microsoft .NET Framework
Overview..................................................................................................................1
Overview of the Microsoft .NET Framework..........................................................2
Overview of Namespaces ......................................................................................13
Review ...................................................................................................................17
Module 2: Introduction to a Managed Execution Environment
Overview..................................................................................................................1
Writing a .NET Application.....................................................................................2
Compiling and Running a .NET Application.........................................................11
Lab 2: Building a Simple .NET Application..........................................................29
Review ...................................................................................................................32
Module 3: Working with Components
Overview..................................................................................................................1
An Introduction to Key .NET Framework Development Technologies ..................2
Creating a Simple .NET Framework Component....................................................4
Lab 3.1: Creating a .NET Framework Component................................................11
Creating a Simple Console Client..........................................................................14
Lab 3.2: Creating a Simple Console-Based Client.................................................19
Demonstration: Creating a Windows Forms Client ...............................................22
Creating an ASP.NET Client .................................................................................27
Lab 3.3: Calling a Component Through an ASP.NET Page..................................36
Review ...................................................................................................................40
Module 4: Deployment and Versioning
Overview..................................................................................................................1
Introduction to Application Deployment .................................................................2
Application Deployment Scenarios .........................................................................7
Related Topics and Tools.......................................................................................31
Lab 4: Packaging and Deployment ........................................................................37
Review ...................................................................................................................42
Module 5: Common Type System
Overview..................................................................................................................1
An Introduction to the Common Type System ........................................................2
Elements of the Common Type System...................................................................8
Object-Oriented Characteristics.............................................................................25
Lab 5: Building Simple Types ...............................................................................39
Review ...................................................................................................................44
iv Programming with the Microsoft® .NET Framework (Microsoft Visual C#™ .NET)
Module 6: Working with Types
Overview................................................................................................................. 1
System.Object Class Functionality ......................................................................... 2
Specialized Constructors....................................................................................... 12
Type Operations.................................................................................................... 18
Interfaces............................................................................................................... 28
Managing External Types ..................................................................................... 34
Lab 6: Working with Types .................................................................................. 38
Review .................................................................................................................. 43
Module 7: Strings, Arrays, and Collections
Overview................................................................................................................. 1
Strings ..................................................................................................................... 2
Terminology – Collections.................................................................................... 20
.NET Framework Arrays....................................................................................... 21
.NET Framework Collections ............................................................................... 39
Lab 7: Working with Strings, Enumerators, and Collections................................ 57
Review .................................................................................................................. 63
Module 8: Delegates and Events
Overview................................................................................................................. 1
Delegates................................................................................................................. 2
Multicast Delegates............................................................................................... 12
Events.................................................................................................................... 21
When to Use Delegates, Events, and Interfaces.................................................... 31
Lab 8: Creating a Simple Chat Server................................................................... 32
Review .................................................................................................................. 42
Module 9: Memory and Resource Management
Overview................................................................................................................. 1
Memory Management Basics.................................................................................. 2
Non-Memory Resource Management ................................................................... 12
Implicit Resource Management ............................................................................ 13
Explicit Resource Management ............................................................................ 26
Optimizing Garbage Collection ............................................................................ 36
Lab 9: Memory and Resource Management ......................................................... 49
Review .................................................................................................................. 56
Module 10: Data Streams and Files
Overview................................................................................................................. 1
Streams.................................................................................................................... 2
Readers and Writers................................................................................................ 5
Basic File I/O .......................................................................................................... 8
Lab 10: Files ......................................................................................................... 21
Review .................................................................................................................. 26
Programming with the Microsoft® .NET Framework (Microsoft Visual C#™ .NET) v
Module 11: Internet Access
Overview..................................................................................................................1
Internet Application Scenarios.................................................................................2
The WebRequest and WebResponse Model............................................................3
Application Protocols.............................................................................................16
Handling Errors......................................................................................................25
Security ..................................................................................................................28
Best Practices.........................................................................................................35
Lab 11: Creating a DateTime Client/Server Application.......................................36
Review ...................................................................................................................41
Course Evaluation..................................................................................................43
Module 12: Serialization
Overview..................................................................................................................1
Serialization Scenarios.............................................................................................2
Serialization Attributes ............................................................................................4
Object Graph............................................................................................................5
Serialization Process ................................................................................................7
Serialization Example ..............................................................................................9
Deserialization Example ........................................................................................10
Custom Serialization..............................................................................................12
Custom Serialization Example...............................................................................14
Security Issues .......................................................................................................17
Lab 12: Serialization ..............................................................................................18
Review ...................................................................................................................27
Module 13: Remoting and XML Web Services
Overview..................................................................................................................1
Remoting..................................................................................................................2
Remoting Configuration Files................................................................................19
Demonstration: Remoting......................................................................................22
Lab 13.1: Building an Order-Processing Application by Using Remoted Servers 28
XML Web Services................................................................................................36
Lab 13.2: Using an XML Web Service..................................................................48
Review ...................................................................................................................54
Course Evaluation..................................................................................................56