.NET Base Class Library

Paths

.NET Base Class Library

Authors: Jason Roberts, Paul D. Sheriff, Kevin Dockx, Xavier Morera, Stephen Haunts

.NET ships with a powerful set of built-in libraries

What you will learn

  • Reading and writing files
  • Accessing databases with ADO.NET
  • Using HttpClient to make API calls
  • Working with JSON
  • Working with XML
  • How to use .NET cryptographic libraries

Pre-requisites

Knowledge of the C# programming language

Beginner

Every program has to consume and save data and the course in this section will teach you the three main ways to do this in .NET. First you will learn how to work with files and streams, then how to access databases using ADO.NET and finally how to call APIs with .NET's HttpClient.

Working with Files and Streams in C#

by Jason Roberts

Oct 12, 2018 / 3h 13m

3h 13m

Start Course
Description

At the core of C# file IO is a thorough knowledge of how to manipulate files and directories and use streams. In this course, Working with Files and Streams in C#, you will learn the skills you need to read and write text, binary, and CSV files, and work with streams of data. First, you will learn how to manipulate files and directories on disk. Next, you will discover how to respond to changes in the file system and read and write data by loading entire files into memory or by incrementally processing them with streams. Finally, you will explore how to write testable file IO code and how to use a mock file system to create faster-executing and more maintainable tests. When you’re finished with this course, you will have a foundational understanding of file access and stream manipulation code that will help you immensely as you move forward and create your own file- or stream-manipulating applications.

Table of contents
  1. Course Overview
  2. Managing Files and Directories
  3. Monitoring the File System for Changes
  4. Reading and Writing Entire Files into Memory
  5. Reading and Writing Data Incrementally Using Streams
  6. Reading and Writing CSV Data
  7. Creating Automated Tests for File Access Code

ADO.NET Fundamentals in C#

by Paul D. Sheriff

Sep 5, 2019 / 2h 29m

2h 29m

Start Course
Description

In this course, ADO.NET Fundamentals in C#, you find out why ADO.NET is still relevant in today's ORM world. First you learn how to connect and submit queries to a database. Next you learn the fastest way to retrieve data using a DataReader. You then learn to handle exceptions and report back great debugging information. Disconnected classes such as a DataTable, DataSet and DataViews are explored next. Working with a the ADO.NET builder classes help automate some of your ADO.NET code. Finally, you see a great set of wrapper classes you can use to eliminate up to 90% of the ADO.NET code you used to have to write, without sacrificing efficiency. When you are finished with this course you will have the skills and knowledge to access databases in the most efficient manner possible, while using the least amount of code. Software required: Visual Studio 2019, .NET 4.5+, C#.

Table of contents
  1. Course Overview
  2. Why You Still Need to Know ADO.NET
  3. Connecting and Submitting Queries to a Database
  4. Retrieve Data Quickly Using the SqlDataReader
  5. Handling ADO.NET Exceptions
  6. Disconnected Classes Are Useful
  7. The Building Blocks of the DataTable
  8. Builder Classes Make It Easy to Work with ADO.NET
  9. Making ADO.NET Easy to Use

Using HttpClient to Consume APIs in .NET Core

by Kevin Dockx

Jan 11, 2019 / 3h 21m

3h 21m

Start Course
Description

Applications, ranging from ASP.NET Core web apps over mobile Xamarin apps and Windows apps to Console apps often integrate with an API. For that, HttpClient is the default and best option. But there’s a lot more to using it than just sending a request and reading out the response. In this course, Using HttpClient to Consume APIs in .NET Core, you’ll get an in-depth look at using HttpClient and HttpClientFactory, from the internals over basic CRUD interaction to working with streams and compression. We’ll also cover cancelling requests that are no longer needed. Additionally, you’ll learn how to use custom message handlers to improve the reliability of your requests and to unit test. After this course, you'll know the ins and outs of integrating with an API from a variety of application types.

Table of contents
  1. Course Overview
  2. Understanding Integration with an API Using HttpClient
  3. Handling Common Types of Integration (CRUD)
  4. Improving Performance with Partial Updates
  5. Improving Performance and Memory Use with Streams
  6. Supporting Cancellation
  7. Improving HttpClient Instance Management with HttpClientFactory
  8. Handling Faults and Errors
  9. Extending HttpClient with Custom HttpMessageHandlers
  10. Unit Testing with HttpClient

Intermediate

When it comes to serializing data, JSON and XML and two popular formats to do so. .NET has rich support for each format, and in this section you will learn how to leverage this support in your applications

Getting Started with JSON in C# Using Json.NET

by Xavier Morera

Nov 5, 2015 / 3h 14m

3h 14m

Start Course
Description

The rising popularity of the web, mainly around JavaScript related technologies, has given JSON a great deal of importance over other data interchange formats, like XML. JSON is a lightweight, human-readable, efficient, and easy to understand data interchange format. JSON stands for JavaScript Object Notation. If you are a C# or .NET developer who needs to work with JSON, or even understand what JSON is, then this course is for you. In this course, we will learn how to serialize, deserialize, use LINQ To JSON, improve serialization performance, BSON, create schemas, validate JSON, and, in general, work with Json.NET, a popular, high performance, free, and open source JSON framework for .NET.

Table of contents
  1. The Case for JSON & Json.NET
  2. Serialization Fundamentals
  3. Settings & Attributes
  4. Custom Serialization
  5. Performance Tips
  6. LINQ to JSON
  7. JSON & XML
  8. Binary JSON (BSON)
  9. Json.NET Schema
  10. Wrap Up

XML Fundamentals in C#

by Paul D. Sheriff

Mar 27, 2019 / 1h 47m

1h 47m

Start Course
Description

What are the best methods for reading and writing XML documents in C#? In this course, XML Fundamentals in C#, you will gain foundational knowledge to process XML files and use XML to enhance your business applications. First, you will learn to process XML documents using LINQ to XML. Next, you will discover how to write XPath queries. Following that, you will see how to add, edit, and delete data within an XML document. XML serialization is explored to show you how to save a .NET object to an XML file, and then restore that XML as a .NET object. Finally, you will explore how to cache frequently used database data as a local XML file, and to detect when server data changes so you can update your local file. When you’re finished with this course, you will have the skills and knowledge of XML needed to process XML documents in C#. Software required: Visual Studio 2017, .NET 4.5+, SQL Server, C#.

Table of contents
  1. Course Overview
  2. What Exactly Is XML Anyway?
  3. LINQ to XML Makes Processing XML Documents Quick and Easy
  4. Use XPath Queries to Process XML Documents
  5. Modify Nodes and Write XML Files
  6. Store and Restore .NET Objects as XML
  7. A Design Pattern for Caching Frequently Used Data in XML

Advanced

If you find yourself needing to encrypt or hash sensitive data, .NET has you covered with a rich set of built-in cryptographic functions. You will learn how to take full advantage of them in our Practical Cryptography in .NET course.

Practical Cryptography in .NET

by Stephen Haunts

May 21, 2015 / 3h 59m

3h 59m

Start Course
Description

As a software developer you have a duty to your employer to secure and protect their data. In this course, you will learn how to use the .NET Framework to protect your data to satisfy confidentiality, integrity, non-repudiation, and authentication. This course covers random number generation, hashing, authenticated hashing, and password based key derivation functions. The course also covers both symmetric and asymmetric encryption using DES, Triple DES, AES, and RSA. You then learn how to combine these all together to product a hybrid encryption scheme which includes AES, RSA, HMACS, and Digital Signatures.

Table of contents
  1. Introduction
  2. Cryptographic Random Numbers
  3. Hashing Algorithms
  4. Secure Password Storage
  5. Symmetric Encryption
  6. Asymmetric Encryption
  7. Hybrid Encryption
  8. Digital Signatures
  9. SecureString
  10. Course Summary