HttpWebRequest.IfModifiedSince Propriedade

Definição

Obtém ou define o valor do cabeçalho HTTP If-Modified-Since.Gets or sets the value of the If-Modified-Since HTTP header.

public:
 property DateTime IfModifiedSince { DateTime get(); void set(DateTime value); };
public DateTime IfModifiedSince { get; set; }
member this.IfModifiedSince : DateTime with get, set
Public Property IfModifiedSince As DateTime

Valor da propriedade

DateTime

Um DateTime que contém o conteúdo do cabeçalho HTTP If-Modified-Since.A DateTime that contains the contents of the If-Modified-Since HTTP header.

Exemplos

O exemplo de código a seguir verifica a IfModifiedSince propriedade.The following code example checks the IfModifiedSince property.

// Create a new 'Uri' object with the mentioned string.
Uri^ myUri = gcnew Uri( "http://www.contoso.com" );
  
// Create a new 'HttpWebRequest' object with the above 'Uri' object.
HttpWebRequest^ myHttpWebRequest = dynamic_cast<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 = dynamic_cast<HttpWebResponse^>(myHttpWebRequest->GetResponse());
  Console::WriteLine( "Response headers \n {0}\n", myHttpWebResponse->Headers );
  Stream^ streamResponse = myHttpWebResponse->GetResponseStream();
  StreamReader^ streamRead = gcnew StreamReader( streamResponse );
  array<Char>^readBuff = gcnew array<Char>(256);
  int count = streamRead->Read( readBuff, 0, 256 );
  Console::WriteLine( "\nThe contents of Html Page are :  \n" );
  while ( count > 0 )
  {
    String^ outputData = gcnew String( readBuff,0,count );
    Console::Write( outputData );
    count = streamRead->Read( readBuff, 0, 256 );
  }
  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)
  {
    if ( ((HttpWebResponse ^)e->Response)->StatusCode == HttpStatusCode::NotModified)
      Console::WriteLine("\nThe page has not been modified since {0}", targetDate);
    else
      Console::WriteLine("\nUnexpected status code = {0}", ((HttpWebResponse ^)e->Response)->StatusCode);  
  }
  else
    Console::WriteLine("\nUnexpected Web Exception {0}" + e->Message); 
}
// 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);
            }
        }
' Create a new 'Uri' object with the mentioned string.
Dim myUri As New Uri("http://www.contoso.com")
' Create a new 'HttpWebRequest' object with the above 'Uri' object.
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(myUri), HttpWebRequest)
' Create a new 'DateTime' object.
Dim targetDate As DateTime = DateTime.Now
targetDate.AddDays(-7.0)
myHttpWebRequest.IfModifiedSince = targetDate

Try
  ' Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
  Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
  Console.WriteLine("Response headers for recently modified page" + ControlChars.Cr + "{0}" + ControlChars.Cr, myHttpWebResponse.Headers)
  Dim streamResponse As Stream = myHttpWebResponse.GetResponseStream()
  Dim streamRead As New StreamReader(streamResponse)
  Dim readBuff(256) As [Char]
  Dim count As Integer = streamRead.Read(readBuff, 0, 256)
  Console.WriteLine(ControlChars.Cr + "The contents of Html Page are :  " + ControlChars.Cr)
  While count > 0
    Dim outputData As New [String](readBuff, 0, count)
    Console.Write(outputData)
    count = streamRead.Read(readBuff, 0, 256)
  End While

  ' Close the Stream object.
  streamResponse.Close()
  streamRead.Close()
  ' Release the HttpWebResponse Resource.
  myHttpWebResponse.Close()
  Console.WriteLine(ControlChars.Cr + "Press 'Enter' key to continue.................")
  Console.Read()
Catch e As WebException
  If e.Response IsNot Nothing
  
    If CType(e.Response,HttpWebResponse).StatusCode = HttpStatusCode.NotModified
      Console.WriteLine((ControlChars.Cr + "The page has not been modified since " + targetDate))
    Else
      Console.WriteLine(ControlChars.Cr + "Unexpected status code = " + Ctype(e.Response,HttpWebResponse).StatusCode)
    End If
  Else
    Console.WriteLine(ControlChars.Cr + "Unexpected Web Exception " + e.Message) 
  End If
End Try  

Comentários

Se o If-Modified-Since cabeçalho for null , o valor de retorno será definido como DateTime.MinValue .If the If-Modified-Since header is null, then the return value will be set to DateTime.MinValue.

A IfModifiedSince propriedade é um System.DateTime objeto padrão e pode conter um System.DateTimeKind campo de DateTimeKind.Local , DateTimeKind.Utc ou DateTimeKind.Unspecified .The IfModifiedSince property is a standard System.DateTime object and can contain a System.DateTimeKind field of DateTimeKind.Local, DateTimeKind.Utc, or DateTimeKind.Unspecified. Qualquer tipo de tempo pode ser definido ao usar a IfModifiedSince propriedade.Any kind of time can be set when using the IfModifiedSince property. Se DateTimeKind.Unspecified for definido ou recuperado, a IfModifiedSince propriedade será considerada DateTimeKind.Local (hora local).If DateTimeKind.Unspecified is set or retrieved, the IfModifiedSince property is assumed to be DateTimeKind.Local (local time).

As classes no System.Net namespace sempre gravam a IfModifiedSince Propriedade na conexão durante a transmissão na forma padrão usando o formato GMT (UTC).The classes in the System.Net namespace always write it out the IfModifiedSince property on the wire during transmission in standard form using GMT (Utc) format.

Se a IfModifiedSince propriedade for definida como DateTime.MinValue , o If-Modified-Since cabeçalho HTTP será removido da Headers propriedade e do WebHeaderCollection .If the IfModifiedSince property is set to DateTime.MinValue, then the If-Modified-Since HTTP header is removed from the Headers property and the WebHeaderCollection.

Se a IfModifiedSince propriedade for DateTime.MinValue , isso indica que o If-Modified-Since cabeçalho HTTP não está incluído na Headers propriedade e no WebHeaderCollection .If the IfModifiedSince property is DateTime.MinValue, this indicates that the If-Modified-Since HTTP header is not included in the Headers property and the WebHeaderCollection.

Observação

O valor dessa propriedade é armazenado em WebHeaderCollection.The value for this property is stored in WebHeaderCollection. Se WebHeaderCollection for definido, o valor da propriedade será perdido.If WebHeaderCollection is set, the property value is lost.

Se a IfModifiedSince propriedade for definida e o código de status 304 (não modificado) for retornado, um System.Net.WebException será lançado pelos BeginGetResponse métodos, GetResponse e EndGetResponse .If the IfModifiedSince property is set and 304 (Not Modified) status code is returned, then a System.Net.WebException will be thrown by the BeginGetResponse, GetResponse, and EndGetResponse methods.

Aplica-se a