在ASP.NET Core中,页面不一致通常是由于缓存导致的。当页面的内容在服务器端更改时,客户端的缓存可能仍然保留旧的内容,导致页面不一致。
以下是解决ASP.NET Core中页面不一致问题的几种常见方法:
Response.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");
Response.Headers.Add("Pragma", "no-cache");
Response.Headers.Add("Expires", "0");
string etag = CalculateETag(); // 根据页面内容计算ETag
Response.Headers.Add("ETag", etag);
string requestETag = Request.Headers["If-None-Match"].ToString();
if (requestETag == etag)
{
return StatusCode(StatusCodes.Status304NotModified);
}
@{
Layout = null;
Response.Headers.Add("Cache-Control", "no-cache, no-store, must-revalidate");
Response.Headers.Add("Pragma", "no-cache");
Response.Headers.Add("Expires", "0");
}
My Page
Current time: @DateTime.Now
希望这些方法可以帮助您解决ASP.NET Core中页面不一致的问题。