Consuming web services using HTTP clients
Now that we have built and tried calling our Northwind service using tools, we will learn how to call it from any .NET app using the HttpClient class and its factory.
Understanding HttpClient
The official way to consume a web service is to use the HttpClient class. However, many people use it incorrectly because it implements IDisposable, and Microsoft’s own documentation shows poor usage of it. See the book links in the GitHub repository for articles with more discussion of this, found at the following link: https://github.com/markjprice/web-dev-net10/blob/main/docs/book-links.md.
Usually, when a type implements IDisposable, you should create it inside a using statement to ensure that it is disposed of as soon as possible. HttpClient is different because it is shared, reentrant, and partially thread-safe.
The problem has to do with how the underlying network sockets must be managed. The bottom line is that you should...