by Mads Kristensen via .NET Slave on 5/21/2009 12:30:00 PM
I’ve been working lately with some ASP.NET performance optimization automation HTTP modules. In one of them I needed to know if the last-modified header had been set through the Response.Cache.SetLastModified(DateTime) method. For some reason, there is no API available anywhere within the BCL to retrieve the last modified date of a response – you can only set it.
Since the module wouldn’t work without a way to read the last modified date of the response, I had to use Reflector to figure out how to pull the information out using reflection. The result became a simple little method to retrieve the date. It looks like this:
private static DateTime ReadLastModifiedFromResponse(HttpCachePolicy cache)
{
BindingFlags flags = BindingFlags.NonPublic | BindingFlags.GetField | BindingFlags.Instance;
return (DateTime)cache.GetType().GetField("_utcLastModified", flags).GetValue(cache);
}
And you can use it like this:
DateTime responseModified = ReadLastModifiedFromResponse(Response.Cache);
if (responseModified > DateTime.MinValue)
// Last-modified is set. Do something...
If you know of another way to retrieving the last-modified date, please let me know.
Original Post: Get last-modified header from response in ASP.NET
The content of the postings is owned by the respective author. CSharpFeeds is not responsible for the contents of the postings. This site is automatically generated and cannot be reviewed for abusive content. If you find abusive content on CSharpFeeds, please contact us. Designated trademarks and brands are the property of their respective owners. All rights reserved.