Live Instructor Teaching
Certificate of Completion
Courseware: Print
Free 6 Month Online Retake
Hands-On Learning?: Yes
Software Lab Included?: Yes
Individuals and Groups
@ Your Location
Group Teams
@ Your Organization
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 Visual Studio 2019, which now includes support for cross-platform development using .NET Core. 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 comes 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 student will receive a comprehensive set of materials, including course notes and all the programming examples.
Register Early: Registration Deadline is 2 Weeks Prior to Class Start.
Versions That Can Attend: Visual Studio 2019, 2017, 2015, 2013, 2012
Course Taught With: Visual Studio 2019 Software and Courseware
• The student should be an experienced application developer or architect with a working knowledge of C#, including building simple GUIs with Windows Forms.
This course is taught by a live instructor and is available in two class formats:
Microsoft .NET class libraries are a set of software libraries that provide functionality that can be used by .NET applications. These libraries are written in managed code and are designed to be used by developers who are building applications that run on the .NET Framework. The .NET class libraries include a wide range of functionality, including:
- Basic data types and operations
- Collections
- Strings and text processing
- XML support
- Networking
- Security
- Cryptography
- Threading and synchronization
- Input/output (I/O)
- Data access (ADO.NET)
- User interface controls
- Web services
These libraries are an important part of the .NET Framework and provide developers with a powerful set of tools for building robust and high-performance applications. In addition to the class libraries, the .NET Framework also includes a runtime environment, which is responsible for managing the execution of .NET applications. The runtime provides a number of services, such as memory management, security, and exception handling.
Microsoft .NET assemblies are the building blocks of .NET applications. They are self-describing, versionable, and secure. Assemblies are the fundamental unit of deployment, version control, re-usability, and security for managed code.
An assembly is a collection of types and resources that are built to work together and form a logical unit of functionality. This functionality is usually defined by an entry point, such as a method in a class, that is executed when the assembly is loaded.
Microsoft .NET metadata and reflection give developers a powerful way to examine, manipulate, and extend software programs written in managed code. Metadata is information about the structure and behavior of managed code components, while reflection is the process of inspecting and manipulating metadata at runtime.
Microsoft .NET metadata provides a rich and extensible set of information about managed code components. This metadata can be used by tools, programming languages, and compilers to provide enhanced services to developers. For example, metadata can be used to automatically generate documentation, or to verify that a component is compatible with another component.
Reflection is the process of inspecting and manipulating metadata at runtime. Reflection enables developers to dynamically load and instantiate managed code components, inspect and invoke their methods, and even modify their behavior. Reflection can also be used to dynamically generate code, or to serialize and deserialize managed objects.
Microsoft .NET provides a number of ways to perform input/output (I/O) and data serialization. These include the System.IO and System.Xml namespaces, as well as the BinaryFormatter and SoapFormatter classes.
Input/output (I/O) is the process of reading from and writing to files, streams, and other storage devices. Data serialization is the process of converting data from one format to another. This can be useful when you need to transmit data over a network or store it in a file.
The System.IO namespace includes a number of classes for working with files and streams. The BinaryFormatter and SoapFormatter classes can be used to serialize data to and from binary or XML format.
The System.Xml namespace provides a number of classes for working with XML documents. These can be used to serialize data to and from XML format.
Serialization is a process of converting an object into a stream of bytes so that it can be stored in a file or transmitted over a network. The BinaryFormatter and SoapFormatter classes can be used to serialize data to and from binary or XML format.
When you serialize an object, you can specify whether the data should be compressed or encrypted. Compression can reduce the size of the serialized data, which can be useful when storing or transmitting large amounts of data. Encryption can protect the data from being read by unauthorized users.
The Microsoft .NET programming model is a software development framework that enables developers to create applications that are easier to maintain and more powerful than traditional applications. The .NET programming model includes a number of features that make it more efficient and reliable than traditional programming models.
Some of the key features of the .NET programming model include:
- A unified programming model that enables developers to create applications using a single set of languages, tools, and libraries.
- A set of well-defined standards that ensure that applications built using the .NET programming model can be easily integrated with other applications.
- A set of services that make it easier for developers to create, deploy, and manage applications.
The .NET programming model has been designed to meet the needs of today's developers. It provides a level of flexibility and power that traditional programming models cannot match. As a result, the .NET programming model is an ideal choice for developers who want to create applications that are easier to maintain and more powerful than traditional applications.
Microsoft .NET provides a managed threading environment that is safe, easy to use, and efficient. The .NET Framework provides two types of threads: managed threads and unmanaged threads. Managed threads are created and controlled by the .NET Framework common language runtime (CLR). Unmanaged threads are ones that are not controlled by the CLR.
Threads provide a way to parse through multiple tasks simultaneously. In managed code, you can create and work with threads by using the System.Threading namespace. This namespace includes classes such as Thread, Mutex, Monitor, AutoResetEvent, and Interlocked. These classes provide a managed threading environment that is safe and easy to use.
The System.Threading namespace also includes the ThreadPool class, which allows you to use a pool of managed threads. The ThreadPool class is efficient and easy to use. It provides a convenient way to schedule and execute managed threads.
The .NET Framework also provides support for unmanaged threads. Unmanaged threads are ones that are not controlled by the CLR. These threads can be created by using the Win32 CreateThread function. In unmanaged code, you can also use the System.Threading.Thread class to create and work with threads. However, this class does not provide all of the features that are available in managed code.
When you create a thread, you can specify its priority. The priority of a thread determines when the thread is scheduled to run. The thread scheduler uses priority values to determine the order in which threads are executed.
Threads can also be assigned processors. A processor is a hardware component that executes instructions. By default, all threads are assigned to the same processor. However, you can use the Process class to assign a thread to a specific processor.
Microsoft .NET provides a number of security features that can be used to protect your applications and data. These features include:
-Authentication: Authentication is the process of verifying the identity of a user. Microsoft .NET provides several authentication mechanisms, including Windows authentication, Forms authentication, and Passport authentication.
-Authorization: Authorization is the process of determining whether a user has access to a particular resource. Microsoft .NET provides a number of authorization mechanisms, including role-based security and URL authorization.
-Cryptography: Cryptography is the process of transforming data to make it unreadable by anyone except the intended recipient. Microsoft .NET provides a number of cryptography algorithms, including symmetric-key algorithms and public-key algorithms.
-Data Protection: Data protection is the process of ensuring that data is stored in a secure location and is accessible only to authorized users. Microsoft .NET provides a number of data protection mechanisms, including encryption and digital signatures.
-Policy Management: Policy management is the process of creating and managing security policies. Microsoft .NET provides a number of policy management tools, including the Security Policy Wizard and the Code Access Security Policy Tool.
In addition to these security features, Microsoft .NET also provides a number of tools and services that can be used to secure your applications.
ADO.NET is a set of data access technologies from Microsoft that enables applications to connect to and work with data from various sources. It provides a framework for data access that is language-independent, platform-independent, and model-driven.
Linq is a set of technologies from Microsoft that enables developers to query data from various sources using a uniform syntax. It provides a way to query data that is type-safe, expressive, and extensible.
ADO.NET and Linq are two sets of data access technologies from Microsoft that enable developers to connect to and work with data from various sources. Both technologies provide a framework for data access that is language-independent, platform-independent, and model-driven. However, ADO.NET focuses on providing a set of data access components, while Linq provides a way to query data using a uniform syntax.
Microsoft .NET provides a comprehensive debugging experience for managed code. Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. In addition, Visual Studio can debug applications running on a remote computer or in a different process.
Debugging is the process of finding and fixing errors in a program. Errors can be caused by bugs in the code, by hardware or software errors, or by incorrect data.
When you start a debugging session, Visual Studio attaches the debugger to the process that is running the code. The debugger then breaks into the code at the first breakpoint, which is a line of code where execution will stop so that you can examine the state of the program.
You can then step through the code, line by line, and see how the values of variables change. This lets you find the root cause of the error.
Once you have fixed the error, you can continue execution of the code and see if it behaves as expected.
Tracing is a process of monitoring an application's execution and recording information about events that occur during the execution. This information can be used to troubleshoot problems with the application or to monitor its performance.
Tracing can be enabled for an application by setting the appropriate configuration parameters in the application's configuration file. When tracing is enabled, the application will record information about events such as exceptions, method calls, and database queries. This information can be used to troubleshoot problems with the application or to monitor its performance.
There are two types of tracing that can be enabled for an application: debug and release. Debug tracing is enabled by default in Visual Studio and will record information about all events that occur during the execution of an application. Release tracing is disabled by default and will only record information about events that are considered to be significant.
Debug tracing is useful for troubleshooting problems with an application. However, it can also adversely affect the performance of the application. Therefore, it is important to only enable debug tracing when it is needed and to disable it when it is not needed.
Release tracing is useful for monitoring the performance of an application. It can be used to identify bottlenecks or other issues that may be affecting the performance of the application. Release tracing can also be used to generate diagnostic logs that can be used by support personnel to troubleshoot problems with an application.