我知道我可以在web.config文件中设置OutputCacheProfiles.
我想知道如何将不同的缓存配置文件应用于页面(控制器)级别上的不同用户角色?
outputcache web-config browser-cache user-roles asp.net-mvc-3
我使用JSF 2.0创建了一个Web应用程序.我得到了我朋友的反馈说我应该做"浏览器缓存",因为我有很多图像.
但是我不知道如何在JSF中做同样的事情.任何想法/提示将不胜感激.
关于该做什么的概念也会奏效.
我正在使用以下代码行来在注销后禁用浏览器后退按钮问题.
function LogoutOnClick() {
window.history.go(-1);
}
Run Code Online (Sandbox Code Playgroud)
但是,这个代码有一个问题,假设我的第一个页面是登录页面(login.cshtml),第二个成功登录页面(home.cshtml),第三个页面是关于页面(about.cshtml),
现在我登录然后它会在home.cshtml页面上重定向我现在我移动到第三页about.cshtml然后我从about.cshtml页面注销,它重定向我在login.cshtml页面上.
现在,如果我clicked on browser back button再次将我重定向到about.cshtml页面,但用户无法更改或添加任何内容.
所以让我知道是否有任何适当的代码或方法来解决这个问题.
我有jsf网页,这需要从以前的页面查询一些字符串.
我的问题是这个主页似乎有缓存的值,没有变化即使我将这些值更改为null,它应该得到空页但它变得更旧的值.
所以我的问题是:每当我调用它或按F按钮时,如何让我的主jsf页面重新加载或缓存被删除?
我试过的JSF示例代码:
<h:head style="width: 200px; ">
<f:facet name="first">
<meta http-equiv="X-UA-Compatible" content="edge, chrome=1" />
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
</f:facet>
Run Code Online (Sandbox Code Playgroud)
java类:
String SID = FacesContext.getCurrentInstance().getExternalContext()
.getRequestParameterMap().get("SID");
String from = FacesContext.getCurrentInstance().getExternalContext()
.getRequestParameterMap().get("from");
String to = FacesContext.getCurrentInstance().getExternalContext()
.getRequestParameterMap().get("to");
String class_id = FacesContext.getCurrentInstance()
.getExternalContext().getRequestParameterMap().get("class_id");
if (SID==null) {
try {
Dbconnection NewConnect = new Dbconnection();
Connection con = NewConnect.MakeConnect();
Statement stmt = con.createStatement();
ResultSet rs = stmt
.executeQuery("SELECT a.course_id, a.teacher_id, a.class_id, a.day_id, a.state, a.apssent_date, …Run Code Online (Sandbox Code Playgroud) 大家好,我试图理解这句话(来自JQuery.ajax())关于缓存选项:
除了在IE8中,对已经由GET请求的URL进行POST.
如果有人能用一些简单的例子和解释帮助我,我将非常感谢,谢谢大家,祝你有个美好的一天.
我有一个用于测试智能电视网络应用程序的模拟器.模拟器本身是一个Web应用程序,具有显示电视和远程的简单界面,并在iframe中加载正在测试的Web应用程序.用户从命令行启动模拟器,启动两个简单的HTTP服务器(一个用于模拟器,一个用于正在测试的Web应用程序),然后使用指向模拟器的--app命令行开关启动chrome.
问题是Chrome每次启动时都会加载Web应用的缓存版本.如果您自上次启动以来对Web应用程序进行了更改,则在您对页面进行硬刷新之前,它们不会显示.
为了解决这个问题,我尝试了以下方法:
--app=http://localhost:6001/?random={some_hash})然而,这些似乎都没有.模拟器代码似乎没有被缓存,因为iframe中的src URL确实每次都会附加一个新的随机值.但是,iframe中加载的页面是旧的,并且在初始启动后始终需要刷新.
我可以尝试的其他任何我没有涉及的内容吗?
进一步的问题示例:
在这种情况下,模拟器将启动并仍然显示Web应用程序1.它继续通过刷新显示Web应用程序1,直到用户执行硬刷新(cmd + shift + r),此时Web应用程序2最终显示.
在我的应用程序中,用户将通过单击菜单来打开多个选项卡。每个选项卡都是动态创建的,并包含用于加载URL的Web浏览器控件。
每个URL指向同一台服务器,因此某些URL没有访问权限,从而Resource not have access收到错误。
现在,问题就出在例子中-如果用户直接单击Menu3并加载了带有Web浏览器URL的相关选项卡,然后继续下一步,则URL包含其他弹出链接,则它可以工作并且能够弹出URL。
现在,用户单击Menu5无法访问的位置,从而得到此错误Resource not have access(从服务器). Its fine.
NOw, again URL reach toMenu3 and try to open sub link to popup dialog then it gives403禁止的错误拒绝访问中被拒绝。它最初起作用,但后来却给出了该错误。
看起来,我需要清除WebBrowser Control缓存或强制从新会话开始。
谁能指导我如何强制WebBrowser开始新的会话或删除较早的缓存?
c# vb.net internet-explorer webbrowser-control browser-cache
我正在使用javascript gmail api来使用threadId获取电子邮件线程.我使用以下代码:
var request = gapi.client.gmail.users.threads.get({
'userId': 'me',
'id': '123abc'
});
request.execute(function(response) {
var messages = response.messages;
});
Run Code Online (Sandbox Code Playgroud)
这是第一次特定的threadId,它工作正常.并且对于进一步的请求,即使线程有更多的电子邮件,它也会返回相同数量的消息.但是,如果我从Chrome开发者工具 - 网络选项中清除gapi网址的浏览器缓存,则响应会提供正确数量的电子邮件.
例:
- >使用threadId'123abc'执行请求,目前线程中有3封电子邮件.请求的响应是正确的,长度为3 response.messages.
- >然后我再发一封电子邮件作为回复此帖子,然后再次执行相同的请求.但是响应仍然是长度为3的旧响应response.messages.
- >尝试多次运行相同的请求但得到相同的响应.
- >然后清除此网址的浏览器缓存并再次请求,现在响应正确,长度为4 response.messages.
尝试在html页面中添加以下元标记,但不起作用:
<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='0'>
<meta http-equiv='pragma' content='no-cache'>
Run Code Online (Sandbox Code Playgroud)
尝试添加随机数与页面网址和请求,但没有工作.
尝试使用gapi脚本链接添加随机数,但没有奏效 <script src="https://apis.google.com/js/client.js?onload=AuthIt&cacheBurster=123123123123"></script>
是否有任何代码可以禁用gapi请求缓存或任何其他方法来解决此问题?
我在S3 + Cloudfront上托管一个静态网站。要重新部署,我使用
aws s3 sync static
Run Code Online (Sandbox Code Playgroud)
并使Cloudfront缓存无效
aws cloudfront create-invalidation
Run Code Online (Sandbox Code Playgroud)
建议在我更新它们后强制浏览器获取这些新资产的方法是什么?问题在于浏览器正在缓存这些资产,并且用户正在获取旧的(无效的)脚本,图像和样式版本。
经历了几篇文章,但无法弄清楚为什么浏览器缓存不起作用.我正在使用prerender.io以及SSL:
gzip on;
gzip_min_length 500;
gzip_proxied any;
gzip_comp_level 4;
gzip_types text/css text/javascript text/xml text/plain text/x-component application/javascript application/json application/xml application/rss+xml font/truetype font/opentype application/vnd.ms-fontobject image/svg+xml;
gzip_vary on;
gzip_disable "msie6";
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name <servername> www.<servername>.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
server_name <servername> www.<servername>.com;
ssl_certificate /etc/pki/tls/private/<servername>.com.chained.crt;
ssl_certificate_key /etc/pki/tls/private/private.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers <ssl_ciphers_code>
ssl_session_cache shared:SSL:5m;
ssl_session_timeout 1h;
add_header Strict-Transport-Security "max-age=15768000" always;
root /var/app/current;
location / {
proxy_set_header X-Prerender-Token iKJwgCElYIfxtt9u99Zg; …Run Code Online (Sandbox Code Playgroud) browser-cache ×10
caching ×3
javascript ×2
jquery ×2
jsf ×2
jsf-2 ×2
ajax ×1
amazon-ec2 ×1
amazon-s3 ×1
back-button ×1
c# ×1
gapi ×1
gmail-api ×1
html ×1
nginx ×1
node.js ×1
outputcache ×1
primefaces ×1
user-roles ×1
vb.net ×1
web-config ×1