Intermediate and Advanced .NET Programming

$2,000.00


  • Virtual Classroom

  • Onsite
Duration: 5 Days

In this Advanced .NET Programming Capstone Series you will learn to work with intermediate and advanced features in the .NET framework. The first part of the class provides in-depth coverage on a number of intermediate and advanced tools and techniques in .NET, including reflection, delegates and events, threads, and a deeper look at ADO.NET and XML support. It uses examples in a number of execution contexts, including the Web (ASP.NET) and Windows Forms. The second part of the class provides an in-depth look at a number of advanced technologies in .NET, with a focus on features of the .NET framework that emphasize multi-tier and distributed architectures.

What You Will Learn

 

  • Work with advanced OO concepts such as Aggregation, Namespaces, and Reflection
  • Delegates and Events
  • .NET's support for multi-threading and thread synchronization
  • Advanced ADO.NET and XML support
  • Create and consume components, and work with COM components
  • Work with the Messaging and Remoting architectures
  • .NET support for transaction management
  • Classes to support advanced networking
  • Advanced security and deployment in .NET
  • Deploy applications using .Net and VS.NET

Audience

 

Prerequistes

 

Prior programming experience in at least one object-oriented language such as a .NET language (e.g., C#, VB.NET), Java, C++, or SmallTalk, or significant programming experience in a modern language such as MS Visual Basic.

Course Outline

 

1. Reflection

  • Understanding Reflection
  • Using the Type Class
  • Invoking Members and Instantiating Objects

2. Delegates

  • What are Delegates?
  • Defining, Instantiating, and Invoking Delegates
  • Example: Using Delegates and Multicast Delegates

3. Events

  • Understanding Events
  • Common Existing Events
  • Creating Event Handlers to Respond To Events
  • Defining Your Own Events
  • Example: Defining and Raising Events

4. Introduction to Multi-Threaded Programming in the .NET Framework

  • What are Threads?
  • The .NET Thread Class
  • Controlling a Thread
  • Storing Thread References and GetHashCode()
  • The Form's Invoke Method
  • Example: Looking At a Thread
  • Timer Threads

5. Thread Synchronization

  • The Challenge of Multi-Threaded Programming
  • Thread Synchronization
  • Method Synchronization
  • Synchronizing Collection Objects
  • Lock/SyncLock Keywords and the Monitor Class
  • Synchronizing with the ReaderWriterLock
  • Synchronization Using Events

6. Intermediate OO: Aggregation, Namespaces, and Advanced Scope

  • What is Aggregation?
  • Example: A Generator Modeled In Software
  • Namespaces
  • Advanced Access and Scope
  • Example: Our Generator in an Assembly

7. Refresher: ADO.NET Introduction

  • What is ADO.NET?
  • An Overview of Relational Database Concepts
  • What is an RDBMS?
  • The ADO.NET Object Model
  • Getting the Data Out
  • The IDataReader Interface
  • Introducing the Database Used for the Course
  • Example: Selecting Records Using a DataReader

8. Refresher: ADO.NET DataSets and the Disconnected Model

  • What is a DataSet?
  • Accessing Data Through a DataSet's Tables and Rows
  • Example: Selecting Records from a Database using a DataSet

9. ADO.NET Commands and Stored Procedures

  • What is the Command class?
  • Executing a Stored Procedure or Query
  • Passing Input Parameters to a Stored Procedure or Query

10. ADO.NET Inserts, Updates, and Deletes

  • Modifying Data

11. Introducing XML

  • What is XML?
  • XML Logical Structure
  • XML Physical Structure
  • XML Design Patterns
  • Applications of XML (and related technologies)

12. Parsing XML in .NET with the Xml Namespace

  • Overview of Classes for Parsing XML
  • Parsing XML With XmlReader Classes
  • Parsing XML With the XmlDocument Class

13. Advanced: Modifying and Saving XML Using the XmlDocument

  • A Refresher on the XML DOM and the .NET XmlDocument
  • Modifying an XmlDocument
  • Example: Storing Window Positions in an XML Preferences File

14. Producing XML from Database Data via ADO.NET

  • Example: Generate and View XML from a DataSet

15. Reading XML Data into a DataSet

  • The ReadXml() Method

16. Importing XML into the Database

  • XML -> DataSet -> Database

17. Introduction to Serialization in .NET

  • What is Serialization?
  • Different Serialization Techniques
  • Automatic Serialization with the Formatter
  • Controlling What Gets Serialized
  • Handling Multiple Versions, Forward and Backward
  • Manual Serialization with ISerializable

18. Serializing To XML

  • What is XML Serialization?
  • Advantages and Disadvantages to XML Serialization
  • Serialization of Complex and Derived Types
  • Shaping the XML
  • Example: An Adult MovieViewer, with a Collection
  • XML Schema Definition Tool (xsd.exe)

19. Introducing Components

  • Why Are Components Useful?
  • Using Assemblies to Package and Deploy Components

20. COM Interoperability With .NET

  • Refresher on OLE Automation
  • COM Interop
  • Example: Automating Excel

21. Overview of the .NET Framework - A Refresher

  • .NET Framework Base Class Library (BCL)
  • Common Language Runtime (CLR)
  • Common Type System
  • Common Language Specification
  • Namespaces
  • Assemblies
  • Application Domains

22. The .NET Distributed Architecture

  • The Progression of Application Design
  • Remote Processing
  • The World Wide Web
  • The .NET Solution
  • Roles in Distributed .NET Development

23. Setting Up Course Exercise Solutions

  • Create a Blank Solution

24. Messaging

  • Messaging Architecture
  • Messaging Network Setup
  • Creating and Referencing Message Queues
  • Sending Messages
  • Receiving Messages
  • Message Queue Security
  • Sending and Receiving Complex Objects
  • Example: Message Queue Inspector

25. Remoting

  • Remoting Architecture
  • Instantiating Using Activator Methods: GetObject() and CreateInstance()
  • Communicating From the Remote Object Using Events
  • Asynchronous Calls

26. Transactions

  • What are Transactions?
  • How does .NET provide support for transactions?
  • Manual Transactions
  • Automatic Transactions

27. Networking in .NET: WebClient, WebRequest, and WebResponse

  • System.NET Namespace
  • The WebClient Class
  • HTTP Derivations of WebRequest and WebResponse
  • TCP and Socket Classes

28. .NET Security

  • Why do we need security?
  • Code Access Security
  • Cryptographic Security
  • Web Service Security
  • ASP.NET Web Forms User Authentication and Authorization

29. Deployment

  • Overview of Deployment in .NET
  • VS.NET Build Configurations
  • Copying a Web Application
  • Creating a Web Setup Project

30. Deployment Settings Using Conditional Compilation With Compile-Time Constants

  • Compile-Time Compilation Constants
  • Use Build Configurations In Your Projects
  • Suggested Build Configuration Model
  • Example: Using Bulid Configuration Settings to Show and Hide Controls

31. Refresher: Parsing XML in .NET with the Xml Namespace

  • Overview of Classes for Parsing XML
  • Parsing XML With XmlReader Classes
  • Parsing XML With the XmlDocument Class

32. Modifying and Saving XML Using the XmlDocument

  • A Refresher on the XML DOM and the .NET XmlDocument
  • Modifying an XmlDocument
  • Example: Storing Window Positions in an XML Preferences File

Course Labs