The participant should be an experienced application developer or architect with a working knowledge of C#, including building simple GUIs with Windows Forms.
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.5 and Visual Studio 2012. 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 four chapters discuss important topics in the .NET programming model, including metadata, reflection, I/O, and serialization. Chapter 6 continues the discussion of the .NET programming model, covering memory management, asynchronous programming and application domains. Next is a chapter on threading, which includes an introduction to the Task Parallel Library (TPL).
.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. An appendix covers .NET Remoting.
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 participant will receive a comprehensive set of materials, including course notes and all the programming examples.
This course is designed for individuals who are programmers or developers.
Upon completion of this course, participants will 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
- Implement multi-threading effectively in .NET applications
- Learn how to implement database applications using ADO.NET and LINQ
- Learn how to debug .NET applications using .NET diagnostic classes and tools
1. .NET Fundamentals
What is Microsoft .NET?
Common Language Runtime
Common Type System
Framework Class Library
Assemblies and Deployment
2. Class Libraries
Components in .NET
Building Class Libraries at the Command Line
Class Libraries Using Visual Studio
3. Assemblies, Deployment and Configuration
Private Assembly Deployment
Shared Assembly Deployment
Programmatic Access to Configuration
Using SDK Tools for Signing and Deployment
4. Metadata and Reflection
5. I/O and Serialization
6. .NET Programming Model
Memory Management and Garbage Collection
7. .NET Threading
Foreground and Background Threads
Task Parallel Library
8. .NET Security
Authentication and Authorization
Code Access Security
Principals and Identities
9. Interoperating with COM and Win32
.NET Client Calling a COM Server
64-bit System Considerations
10. ADO.NET and LINQ
.NET Data Providers
DataReaders and Connected Access
Data Sets and Disconnected Access
Language Integrated Query
11. Debugging Fundamentals
Compile-time Errors and Run-time Errors
Configuring Debug, Release, and Special Builds
Visual Studio Debugger
13. More About Tracing
Using the BooleanSwitch and TraceSwitch Classes
Print Debugging Information with the Debug Class
Instrumenting Release Builds with the Trace Class
Implementing Custom Listeners
Appendix A: .NET Remoting
Marshal by Value
Marshal by Reference