public void OnActionExecuted(ActionExecutedContext filterContext)
 {
     if (filterContext.GetETag() == AppVersion)
     {
         filterContext.Result = new HttpStatusCodeResult((int)HttpStatusCode.NotModified);
     }
     else
     {
         filterContext.SetETagWithCacheability(AppVersion);
     }
 }
        public void OnActionExecuted(ActionExecutedContext filterContext)
        {
            var result = filterContext.Result as ViewResultBase;
            if (result == null)
                return;

            var versionable = result.Model as IVersionable;
            if (versionable == null)
                return;

            var versionSent = GetSentVersionOfEntity(filterContext);

            if (versionSent == versionable.Version)
            {
                filterContext.Result = new HttpStatusCodeResult((int)HttpStatusCode.NotModified);
                filterContext.HttpContext.Response.SuppressContent = true;
            }
            else
            {
                filterContext.SetETagWithCacheability(versionable.Version.ToString(CultureInfo.InvariantCulture));
            }
        }