Part 4. Getting ready for release

 

The previous parts of this book helped you build functional applications with enough tests to give you confidence that your code is correct. This part works on all the other important aspects of developing software with .NET that go beyond functionality.

In chapter 9, you’ll evaluate a web service that you already built for security issues. You’ll learn about threat modeling and common vulnerabilities. Then you’ll authorize functionality in your application so that only authenticated users have access.

Chapter 10 talks about performance, which means measuring, profiling, and investigating performance problems. You’ll use performance tools such as BenchmarkDotNet, PerfView, and NBomber. You’ll learn why benchmarks are important and how you can analyze profiles to understand performance problems. You’ll also get some insight into how garbage collection works.

Chapter 11 discusses common techniques for handling failures. Dependencies can fail for many reasons, so knowing how to apply failure strategies and policies will make your applications more resilient.

If any of your clients uses a different language, date format, or number format or anything else that’s culture-dependent, you’ll get a lot of useful information from chapter 12. That chapter shows you how to build world-ready applications.