HttpWebRequest.IfModifiedSince Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
HTTP üst bilgisinin If-Modified-Since değerini alır veya ayarlar.
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
Özellik Değeri
DateTime HTTP üst bilgisinin içeriğini If-Modified-Since içeren bir.
Örnekler
Aşağıdaki kod örneği özelliğini denetler 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);
}
}
' 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
Açıklamalar
Dikkat
WebRequest, HttpWebRequest, ServicePointve WebClient kullanım dışıdır ve bunları yeni geliştirme için kullanmamalısınız. Bunun yerine HttpClient kullanın.
If-Modified-Since Üst bilgi isenull, dönüş değeri olarak DateTime.MinValueayarlanır.
IfModifiedSince özelliği standart System.DateTime bir nesnedir ve , DateTimeKind.Utcveya DateTimeKind.Unspecifiedalanı içerebilir.System.DateTimeKindDateTimeKind.Local özelliği kullanılırken IfModifiedSince herhangi bir zaman ayarlanabilir. Ayarlanır veya alınırsa DateTimeKind.Unspecified , özelliğin IfModifiedSince (yerel saat) olduğu DateTimeKind.Local varsayılır.
Ad alanında System.Net sınıflar her zaman GMT (Utc) biçimini kullanarak standart biçimde iletim sırasında kablo üzerinde özelliğini yazar IfModifiedSince .
IfModifiedSince Özelliği olarak ayarlanırsa If-Modified-SinceDateTime.MinValue, HTTP üst bilgisi özelliğinden ve WebHeaderCollectionöğesinden Headers kaldırılır.
IfModifiedSince özelliği iseDateTime.MinValue, http üst bilgisinin If-Modified-Since ve WebHeaderCollectionözelliğine Headers dahil olmadığını gösterir.
Not
Bu özelliğin değeri içinde WebHeaderCollectiondepolanır. WebHeaderCollection ayarlanırsa özellik değeri kaybolur.
IfModifiedSince Özellik ayarlanırsa ve 304 (Değiştirilmedi) durum kodu döndürülürse, , GetResponseve EndGetResponse yöntemleri tarafından BeginGetResponsebir System.Net.WebException oluşturulur.