Setting HTTP headers in .NET: This header must be modified using the appropriate property
If you're trying to set HTTP headers such as If-Modified-Since (to do conditional GET based on the previous request Last-Modified response header, which you should strive to do as much as possible), you may come across this error message.
This happens if you're trying to set these headers through
WebRequest.Headers.Set (or Add), when the request instance
you got is an HttpWebRequest. This class provides explicit
properties to set those values, and what the message is
(quite unsuccessfully IMO) trying to tell you is that you
should downcast to HttpWebRequest, and set the headers
through its properties, such as IfModifiedSince....