【发布时间】:2017-12-24 18:22:22
【问题描述】:
我想在我的 css 和 js 文件中添加一个参数,以不允许浏览器缓存特定文件。
我在我的 index.aspx 和我的 c# 代码中尝试了两个版本,但没有任何效果。
第一次尝试是像这样添加 DateTime.Now.Ticks:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs"
Inherits="_index" %>
<!DOCTYPE html>
<html lang="de">
<head runat="server">
<meta charset="UTF-8">
<title>Index Page</title>
<link rel="stylesheet" href="css/vendor/bootstrap.min.css">
<link rel="stylesheet" href="css/vendor/bootstrap-datetimepicker.min.css">
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css">
<link rel="stylesheet" href="css/style.css?<%=DateTime.Now.Ticks %>">
但是相关的 Line 在渲染时完全像这样显示所以在 style.css 之后没有 Ticks?而不是 aspx 代码。
另一个版本是编写一个 UnixTimeStamp 函数,它返回我的 Unix 时间戳:
public Int32 UnixTimeStampUTC()
{
Int32 unixTimeStamp;
DateTime currentTime = DateTime.Now;
DateTime zuluTime = currentTime.ToUniversalTime();
DateTime unixEpoch = new DateTime(1970, 1, 1);
unixTimeStamp = (Int32)(zuluTime.Subtract(unixEpoch)).TotalSeconds;
return unixTimeStamp;
}
我像下面这样包含它,但结果是一样的:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="index.aspx.cs"
Inherits="_index" %>
<!DOCTYPE html>
<html lang="de">
<head runat="server">
<meta charset="UTF-8">
<title>Index Page</title>
<link rel="stylesheet" href="css/vendor/bootstrap.min.css">
<link rel="stylesheet" href="css/vendor/bootstrap-
datetimepicker.min.css">
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css">
<link rel="stylesheet" href="css/style.css?<%= UnixTimeStampUTC() %>">
这再次呈现为:
<!DOCTYPE html>
<html lang="de">
<head runat="server">
<meta charset="UTF-8">
<title>Index Page</title>
<link rel="stylesheet" href="css/vendor/bootstrap.min.css">
<link rel="stylesheet" href="css/vendor/bootstrap-
datetimepicker.min.css">
<link rel="stylesheet" href="css/vendor/sweetalert2.min.css">
<link rel="stylesheet" href="css/style.css?<%= UnixTimeStampUTC() %>">
在我的 .aspx 的其余部分中,我也使用这种技术来显示 NTLM 用户,然后它就可以工作了。
有什么建议吗?
【问题讨论】:
-
我现在有一个解决方案的 Workaroud:我添加了一个返回完整链接的函数 public String noCache(String url){ return '"' + url + "?ver=" + UnixTimeStampUTC( ) + '"'; }
标签: c# html asp.net caching browser-cache