Httpclient This instance has already started one or more requests. Properties can only be modified before sending the first request

I am creating an application in .Net Core 2.1 and I am using http client for web requests. The issue is I have to send parallel calls to save time and for that I am using Task.WhenAll() method but when I hit this method I get the error “This instance has already started one or more requests. Properties can only be modified before sending the first request” Previously I was using RestSharp and everything was fine but I want to use httpclient. Here is the code:

Posting to a Web API using HttpClient and Web API method [FromBody] parameter ends up being null

I am attempting to POST to a Web API using the HttpClient. When I put a breakpoint in the Save method of the Web API the [FromBody] Product is null. This means that something is wrong with the way I am posting the product over to the Web API. Can someone please take a look at the below code and see where I might be going wrong. I am assuming it is something to do with headers and content types.

HttpClient: Only one usage of each socket address (protocol/network address/port) is normally permitted

Address already in use.
Typically, only one usage of each socket
address (protocol/IP address/port) is permitted. This error occurs if
an application attempts to bind a socket to an IP address/port that
has already been used for an existing socket, or a socket that was not
closed properly, or one that is still in the process of closing. For
server applications that need to bind multiple sockets to the same
port number, consider using setsockopt (SO_REUSEADDR). Client
applications usually need not call bind at all—connect chooses an
unused port automatically. When bind is called with a wildcard address
(involving ADDR_ANY), a WSAEADDRINUSE error could be delayed until the
specific address is committed. This could happen with a call to
another function later, including connect, listen, WSAConnect, or
WSAJoinLeaf.