HttpWebRequest.IfModifiedSince Propriété

Définition

Obtient ou définit la valeur de l’en-tête HTTP If-Modified-Since.

public DateTime IfModifiedSince { get; set; }

Valeur de propriété

Un DateTime qui contient le contenu de l’en-tête HTTP If-Modified-Since.

Exemples

L’exemple de code suivant vérifie la propriété IfModifiedSince.

// Create a new 'Uri' object with the mentioned string.
Uri myUri =new Uri("http://www.contoso.com");			
// Create a new 'HttpWebRequest' object with the above 'Uri' object.
HttpWebRequest myHttpWebRequest= (HttpWebRequest)WebRequest.Create(myUri);

// Create a new 'DateTime' object.
DateTime targetDate = DateTime.Now;
// Set a target date of a week ago
targetDate.AddDays(-7.0);
myHttpWebRequest.IfModifiedSince = targetDate;

try
{
  // Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
  HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
  Console.WriteLine("Response headers for recently modified page\n{0}\n",myHttpWebResponse.Headers);
  Stream streamResponse=myHttpWebResponse.GetResponseStream();
  StreamReader streamRead = new StreamReader( streamResponse );
  Char[] readBuff = new Char[256];
  int count = streamRead.Read( readBuff, 0, 256 );
  Console.WriteLine("\nThe contents of Html Page are :  \n");	

  while (count > 0)
  {
    String outputData = new String(readBuff, 0, count);
    Console.Write(outputData);
    count = streamRead.Read(readBuff, 0, 256);
  }
  // Close the Stream object.
  streamResponse.Close();
  streamRead.Close();
  // Release the HttpWebResponse Resource.
  myHttpWebResponse.Close();
            
  Console.WriteLine("\nPress 'Enter' key to continue.................");	
  Console.Read();
}
catch(WebException e)
{
  if (e.Response != null)
  {
    if ( ((HttpWebResponse)e.Response).StatusCode == HttpStatusCode.NotModified)
      Console.WriteLine("\nThe page has not been modified since "+targetDate);
    else
      Console.WriteLine("\nUnexpected status code = " + ((HttpWebResponse)e.Response).StatusCode);
  }
  else
            {
                Console.WriteLine("\nUnexpected Web Exception " + e.Message);
            }
        }

Remarques

Attention

WebRequest, HttpWebRequest, ServicePointet WebClient sont obsolètes et vous ne devez pas les utiliser pour le nouveau développement. Utilisez HttpClient à la place.

Si l’en-tête If-Modified-Since est null, la valeur de retour est définie sur DateTime.MinValue.

La propriété IfModifiedSince est un objet System.DateTime standard et peut contenir un champ System.DateTimeKind de DateTimeKind.Local, DateTimeKind.Utcou DateTimeKind.Unspecified. Tout type de temps peut être défini lors de l’utilisation de la propriété IfModifiedSince. Si DateTimeKind.Unspecified est définie ou récupérée, la propriété IfModifiedSince est supposée être DateTimeKind.Local (heure locale).

Les classes de l’espace de noms System.Net l’écrivent toujours dans la propriété IfModifiedSince sur le fil pendant la transmission sous forme standard à l’aide du format GMT (Utc).

Si la propriété IfModifiedSince est définie sur DateTime.MinValue, l’en-tête HTTP If-Modified-Since est supprimé de la propriété Headers et du WebHeaderCollection.

Si la propriété IfModifiedSince est DateTime.MinValue, cela indique que l’en-tête HTTP If-Modified-Since n’est pas inclus dans la propriété Headers et la WebHeaderCollection.

Note

La valeur de cette propriété est stockée dans WebHeaderCollection. Si WebHeaderCollection est défini, la valeur de la propriété est perdue.

Si la propriété IfModifiedSince est définie et que le code d’état 304 (non modifié) est retourné, une System.Net.WebException est levée par les méthodes BeginGetResponse, GetResponseet EndGetResponse.

S’applique à

Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1