.NET Framework Using C#

Current Version: 4.0.1
Summary

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 four-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. It is current to .NET 4.0 and Visual Studio 2010. 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 ADO.NET, XML Programming, Windows Presentation Framework, Windows Communications Framework and ASP.NET.

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, which was simplified in .NET 4.0, is introduced, including both code access security and role-based security. The next chapter covers interoperability of .NET with COM and with Win32 applications. The course includes an introduction to database programming using ADO.NET and LINQ. Finally, the .NET Framework diagnostic facilities are discussed in depth.

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.

Prerequisites
  • The student should be an experienced application developer or architect with a working knowledge of C#, including building simple GUIs with Windows Forms.
Course Objectives
On completion of this course, the student should be able to
  • 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 ADO.NET and LINQ
  • Learn how to debug .NET applications using .NET diagnostic classes and tools
Length
4 Days

Format
Instructor-led course, with practical computer-based exercises.

Course Outline

  • 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 2010
    • Using References

  • 3. Assemblies, Deployment and Configuration
    • Assemblies
    • Private Assembly Deployment
    • Shared Assembly Deployment
    • Configuration Overview
    • Configuration Files
    • Programmatic Access to Configuration
    • Using SDK Tools for Signing and Deployment
    • Application Settings

  • 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
    • BackgroundWorker
    • Application Domains
    • Marshal by Value
    • Marshal by Reference
    • .NET Remoting

  • 7. .NET Security
    • Authentication and Authorization
    • Code Access Security
    • Sandboxing
    • Permissions
    • Role-Based Security
    • Principals and Identities

  • 8. Interoperating with COM and Win32
    • .NET Client Calling a COM Server
    • PInvoke

  • 9. ADO.NET and LINQ
    • ADO.NET Overview
    • .NET Data Providers
    • Connections
    • Commands
    • DataReaders and Connected Access
    • Data Sets and Disconnected Access
    • Language Integrated Query

  • 10. Debugging Fundamentals
    • Compile-time Errors and Run-time Errors
    • Configuring Debug, Release, and Special Builds
    • Visual Studio 2010 Debugger
    • Just-In-Time Debugging

  • 11. Tracing
    • Tracing
    • Event Logs

  • 12. More About Tracing
    • Using the BooleanSwitch and TraceSwitch Classes
    • Print Debugging Information with the Debug Class
    • Instrumenting Release Builds with the Trace Class
    • Using Listeners
    • Implementing Custom Listeners

Hardware and Software Requirements

Required software is Visual Studio 2010 and SQL Server 2008 Express Edition (bundled with Visual Studio 2010). The operating system may be Windows XP, Windows Vista or Windows 7. See the appropriate course Setup Guide for details.

A good minimal hardware profile for this course consists of a 2 GHz or better CPU, 1 GB of RAM, and at least 4 GB of free disk space for tools installation and courseware.


Go to course catalogue