482. Application Development
Using C# and .NET
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 entire system infrastructure and
represents a major learning challenge for programmers developing applications
on Microsoft platforms. The new platform includes a new programming language,
C#, and a major class library, the .NET Framework.
This comprehensive course covers important topics in the .NET
Framework for experienced programmers. You do not need prior experience in C#,
because there is a self-contained treatment, but you should have experience in
some object-oriented language, such as C++ or Java. A seasoned Visual Basic
programmer who has experience working with objects and components in VB could
also take the course. 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 consists of three modules. The first module starts with a
brief “what you need to know” chapter that gets you up and running in the .NET
environment with a minimum of fuss. The next two chapters cover C# language
essentials and object-oriented programming in C#. The next chapter discusses
how C# relates to the .NET Framework. The final chapter provides a succinct
introduction to creating GUI programs using Windows Forms.
The second module 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 module concludes with an introduction to
database programming using ADO.NET.
In the final module, ASP.NET is introduced as a new Web programming
platform that overcomes a number of limitations of ASP. The architecture of Web
Forms is covered, including the life cycle and event model and the code behind
programming model. Server controls are introduced. Both the .NET Framework SDK
and Visual Studio .NET are used for creating Web applications. Deployment is
covered. Session state and application state are discussed. Data binding is
introduced. Web services are introduced. The use of SOAP and WSDL are
described. Web services and Web service clients are implemented using Visual
Studio .NET
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.
This book is part of The Integrated .NET Series from Object Innovations and
Prentice Hall PTR.
LEARNING OBJECTIVES
·
Gain a thorough understanding of the philosophy
and architecture of .NET
·
Acquire a working knowledge of C# programming
·
Acquire a working knowledge of the .NET
programming model and .NET Security
·
Learn how to implement Windows, database, and
Web applications using .NET
Course Duration: 5 – 6
days
Prerequisites: The
student should be an experienced application developer or architect. Some
background in object-oriented programming would be helpful. The student should
also have basic Internet literacy, including the fundamentals of HTML.
Volumes Shipped: This course ships in three volumes,
consisting of courses 411, 412 and 487, which can also be ordered separately.
Volume 1: C# Essentials
1.
NET: What You Need To Know
.NET Executables and the CLR
A .NET Testbed for C# Programming
2.
C# for the Sophisticated Programmer
First C# Console Application
Namespaces
Data Types
Control Structures
Subroutines and Functions
Console I/O
Exception Handling
3.
Object-Oriented Programming in C#
Classes
Access Control
Methods and Properties
Static Data and Methods
Inheritance
Overriding Methods
Interfaces
4.
C# and the .NET Framework
Class Hierarchies
.NET Interfaces
Using Generic Interfaces: ICloneable and IComparable
System.Array
Collections
Delegates
Events
5.
Introduction to Windows Forms
Creating Windows Applications Using Visual Studio .NET
Buttons, Labels and Textboxes
Handling Events
Listbox Controls
Appendix A. Using Visual Studio .NET
Overview of Visual Studio .NET
Creating a Console Application
Project Configurations
Debugging
Volume 2: .NET Framework Using C#
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
Volume 3: ASP.NET Essentials Using C#
1.
ASP.NET and Web Forms
From ASP to ASP.NET
Web Forms
Web Forms Event Model
Server Controls
Code Behind
2.
Web Applications Using Visual Studio
ASP.NET Projects
Using the Form Designer
Deploying Web Applications
Session
State
Application
State
Data Binding
3.
Introduction to Web Services
Web Services and Remoting
XML, SOAP, WSDL
Web Services Architecture
Developing Web Services Using Visual Studio .NET
Web Service Clients
System Requirements
Course exercises require Microsoft Visual Studio .NET 2003 on
Windows 2000 or XP. SQL Server and Internet Information Services 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.