412 .NET Framework Using C#
Rev. 1.2
Microsoft .NET is an advance in programming technology that greatly
simplifies application development, both for traditional, proprietary
applications and for the emerging paradigm of Web-based services. .NET is a complete
restructuring of Microsoft’s whole system infrastructure and represents a major
learning challenge for programmers developing applications on Microsoft
platforms. Part of .NET is a major new object-oriented programming language,
C#. But learning the new programming language is only part of the challenge.
The much greater challenge is learning the .NET Framework and all its
capabilities.
This three-day course is designed to provide a sound introduction to
the .NET Framework for programmers who already know the C# language and the
fundamentals of Windows Forms. The course focuses on core portions of the .NET
Framework that are common across many application areas. Separate courses are
available in specific areas, such as ASP.NET and Web services. It is part of
the Object Innovations series of .NET courses, which are based on The
Integrated .NET Series of books from Object Innovations and Prentice Hall
PTR.
The course starts with an introduction to the architecture and key
concepts of .NET. It then discusses class libraries, assemblies, versioning, configuration,
and deployment, which constitute a major advance in the simplicity and
robustness of deploying Windows applications, ending the notorious “DLL hell.”
The next two chapters discuss important topics in the .NET programming model,
including metadata, reflection, I/O, and serialization. The following chapter
continues the discussion of the .NET programming model, covering memory
management, threading, asynchronous programming, application domains, marshal
by value, marshal by reference, and.NET remoting,.
.NET Security is introduced in some detail, including both code
access security and role-based security. The next chapter covers
interoperability of .NET with COM and with Win32 applications. The course
concludes with an introduction to database programming using ADO.NET. An
appendix outlines a Visual Studio .NET database testbed.
The course is practical, with many examples and a case study. The
goal is to equip you to begin building significant applications using the .NET
Framework. The student will receive a comprehensive set of materials, including
course notes and all the programming examples. The book Application
Development Using C# and .NET is recommended as a supplement to the course.
LEARNING OBJECTIVES
·
Gain a thorough understanding of the philosophy
and architecture of .NET
·
Acquire a working knowledge of the .NET
programming model and .NET Security
·
Learn how to implement database applications
using .NET
Course Duration: 3
days
Prerequisites: The
student should be an experienced application developer or architect with a
working knowledge of C#, including building simple GUIs with Windows Forms.
1.
.NET Fundamentals
What is Microsoft .NET?
Common Language Runtime
Attribute-Based Programming
Interface-Based Programming
Metadata
Common Type System
Framework Class Library
Language Interoperability
Managed Code
Assemblies and Deployment
Web Services
ASP.NET
2.
Class Libraries
Components in .NET
Building Class Libraries at the Command Line
Class Libraries Using Visual Studio .NET
Using References
3.
Assemblies, Deployment and Configuration
Assemblies
Private Assembly Deployment
Shared Assembly Deployment
Configuration Overview
Configuration Files
Programmatic Access to Configuration
Multi-Course Assemblies
Using SDK Tools for Signing and Deployment
4.
Metadata and Reflection
Metadata
Reflection
Late Binding
5.
I/O and Serialization
Directories
Files
Serialization
Attributes
6.
.NET Programming Model
Memory Management and Garbage Collection
Threading and Synchronization
Asynchronous Delegates
Application Domains
Marshal by Value
Marshal by Reference
.NET Remoting
7.
.NET Security
Authentication and Authorization
Configuring Security
Code Access Security
Code Groups
Evidence
Permissions
Role-Based Security
Principals and Identities
8.
Interoperating with COM and Win32
.NET Client Calling a COM Server
COM Client Calling a .NET Server
PInvoke
9.
Database Programming Using ADO.NET
ADO.NET Overview
.NET Data Providers
Using DataReaders
Using DataSets
Interacting with XML Data
Appendix A. A Visual Studio
.NET Database Testbed
Server Explorer
Query Analyzer
OSQL
System Requirements
Course exercises require Microsoft Visual Studio .NET 2003 on
Windows 2000 or XP. SQL Server should be installed. See the appropriate course
Setup Guide for details.
A good minimal hardware profile for this course would have a Pentium
500-MHz or equivalent CPU, 256 MB of RAM, and at least 3 GB of free disk space
for tools installation and courseware.