GetAssemblyTime() private static method

private static GetAssemblyTime ( Assembly assembly ) : long
assembly System.Reflection.Assembly
return long
Exemplo n.º 1
0
        private static bool IsSourceModified(HttpRequest request)
        {
            bool dateModified = false;

            string   requestIfModifiedSinceHeader = request.Headers["If-Modified-Since"] ?? string.Empty;
            DateTime requestIfModifiedSince;

            DateTime.TryParse(requestIfModifiedSinceHeader, out requestIfModifiedSince);

            DateTime responseLastModified = new DateTime(ResourceHandler.GetAssemblyTime(typeof(ResourceHandler).Assembly)).ToUniversalTime();

            if (requestIfModifiedSince != DateTime.MinValue && responseLastModified != DateTime.MinValue)
            {
                requestIfModifiedSince = requestIfModifiedSince.ToUniversalTime();

                if (responseLastModified > requestIfModifiedSince)
                {
                    TimeSpan diff = responseLastModified - requestIfModifiedSince;
                    if (diff > TimeSpan.FromSeconds(1))
                    {
                        dateModified = true;
                    }
                }
            }
            else
            {
                dateModified = true;
            }

            return(dateModified);
        }
Exemplo n.º 2
0
        private void SetResponseCache(HttpContext context)
        {
            HttpCachePolicy cache        = context.Response.Cache;
            DateTime        modifiedDate = new DateTime(ResourceHandler.GetAssemblyTime(typeof(ResourceHandler).Assembly)).ToUniversalTime();
            DateTime        nowDate      = DateTime.Now.ToUniversalTime().AddSeconds(-1);

            if (modifiedDate > nowDate)
            {
                modifiedDate = nowDate;
            }

            cache.SetLastModified(modifiedDate);
            cache.SetOmitVaryStar(true);
            cache.SetVaryByCustom("v");
            cache.SetExpires(DateTime.UtcNow.AddDays(365));
            cache.SetMaxAge(TimeSpan.FromDays(365));
            cache.SetValidUntilExpires(true);
            cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
            cache.SetCacheability(HttpCacheability.Public);
            cache.SetLastModifiedFromFileDependencies();
        }