With the resources available to us to start working with sending network requests, we need to look at how we can best incorporate those requests into our applications. We'll need to work with those resources in a way that won't impact the performance of our application's business logic or our user's experience. So, in this chapter, we'll look at how we can process data streams in such a way as to be resilient and non-blocking to the rest of our application's performance.
The following topics will be covered in this chapter:
- Understanding the nature of I/O streams in C#, and how to write to, read from, and manage open streams
- How different I/O streams expose access to different types of data, and how the parent Stream class simplifies the use of those distinct stream types
- The potential performance cost of processing...