Book Image

Enterprise Application Development with C# 9 and .NET 5

By : Rishabh Verma, Ravindra Akella, Arun Kumar Tamirisa, Suneel Kumar Kunani, Bhupesh Guptha Muthiyalu
Book Image

Enterprise Application Development with C# 9 and .NET 5

By: Rishabh Verma, Ravindra Akella, Arun Kumar Tamirisa, Suneel Kumar Kunani, Bhupesh Guptha Muthiyalu

Overview of this book

.NET Core is one of the most popular programming platforms in the world for an increasingly large community of developers thanks to its excellent cross-platform support. This book will show you how to confidently use the features of .NET 5 with C# 9 to build robust enterprise applications. Throughout the book, you'll work on creating an enterprise app and adding a key component to the app with each chapter, before ?nally getting it ready for testing and deployment. You'll learn concepts relating to advanced data structures, the Entity Framework Core, parallel programming, and dependency injection. As you progress, you'll cover various authentication and authorization schemes provided by .NET Core to make your apps and APIs secure. Next, you'll build web apps using ASP.NET Core 5 and deploy them on the cloud while working with various cloud components using Azure. The book then shows you how to use the latest Microsoft Visual Studio 2019 and C# 9 to simplify developer tasks, and also explores tips and tricks in Visual Studio 2019 to improve your productivity. Later, you'll discover various testing techniques such as unit testing and performance testing as well as di?erent methods to deploy enterprise apps. By the end of this book, you’ll be able to create enterprise apps using the powerful features of .NET 5 and deploy them on the cloud.
Table of Contents (24 chapters)
1
Section 1: Architecting an Enterprise Application and its Fundamentals
5
Section 2: Cross-Cutting Concerns
11
Section 3: Developing Your Enterprise Application
15
Section 4: Security
18
Section 5: Health Checks, Unit Testing, Deployment, and Diagnostics

What this book covers

Chapter 1, Designing and Architecting the Enterprise Application, first discusses commonly used enterprise architectures and design patterns, and then covers designing and architecting an enterprise application into a three-tier application consisting of a UI layer, service layer, and database.

Chapter 2, Introducing .NET 5 Core and Standard, starts from our awareness that runtime is where your code runs. In this chapter, you will learn about the core and advanced concepts of .NET 5 Core runtime components.

Chapter 3, Introducing C# 9, talks about the new features in C# 9, which was released with .NET 5.

Chapter 4, Threading and Asynchronous Operations, helps you learn about threads, thread pools, tasks, and async await in detail and how .NET Core allows you to build asynchronous applications.

Chapter 5, Dependency Injection in .NET, helps us to understand what dependency injection is and why every developer is flocking toward dependency injection. We will learn how dependency injection works in .NET 5 and list the other options that are available.

Chapter 6, Configuration in .NET Core, teaches you how to configure .NET 5 and use the configuration and settings in your applications. You will also learn about extending the .NET 5 configuration to define your own sections, handlers, providers, and so on.

Chapter 7, Logging in .NET 5, discusses the events and logging APIs in .NET 5. We will also deep dive into logging using Azure and Azure components and learn how to do structured logging.

Chapter 8, Understanding Caching, discusses the caching components available in .NET 5 and the best industry patterns and practices.

Chapter 9, Working with Data in .NET 5, discusses two possible data providers: SQL and data like RDMS. We will also discuss at a high level how NoSQL databases can be used for storage and data handling using .NET 5. This chapter will discuss .NET Core's interface with files, folders, drives, databases, and memory.

Chapter 10, Creating an ASP.NET Core 5 Web API, develops the service layer of our enterprise application by using an ASP.NET Core 5 Web API template.

Chapter 11, Creating an ASP.NET Core 5 Web Application, develops the web layer of our enterprise application by using an ASP.NET Core 5 MVC web application template and Blazor.

Chapter 12, Understanding Authentication, discusses the most common authentication patterns in the industry and how you could implement them using .NET 5. We will also cover implementing custom authentication.

Chapter 13, Understanding Authorization, discusses the different methods of authorization and how ASP.NET Core 5 lets you handle it.

Chapter 14, Health and Diagnostics, discusses the importance of monitoring the health of an application, building a healthcheck API for .NET Core apps, and Azure applications for capturing the telemetry and diagnosing the problem.

Chapter 15, Testing, discusses the importance of testing. Testing is an essential part of development and no application can be shipped without proper testing, so we will also discuss how we can unit test our code. We will also learn how to measure the performance of an application.

Chapter 16, Deploying the Application in Azure, discusses the deployment of applications in Azure. We will check-in our code to the source control of our choice, and then the CI/CD pipeline will kick in and deploy the application in Azure.