找回密码
 FreeOZ用户注册
查看: 1250|回复: 8
打印 上一主题 下一主题

[学习深造] asp.net OutputCache 问题

[复制链接]
跳转到指定楼层
1#
发表于 29-8-2014 10:07:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?FreeOZ用户注册

x
如何可以不cache null啊?
回复  

使用道具 举报

2#
发表于 29-8-2014 10:19:24 | 只看该作者
具体点。刚用cache吗?问题不对路
回复  

使用道具 举报

3#
 楼主| 发表于 29-8-2014 11:53:28 | 只看该作者
我要返回FileResult

        <AcceptVerbs(HttpVerbs.Get)>
        <OutputCache(Duration:=90000, VaryByParam:="id;extension", Location:=OutputCacheLocation.Any)>
        Function GetTestImage(ByVal id As String, ByVal extension As String) As FileResult
                Return Hello.GetImage(id, extension)
        End Function

如果Hello.GetImage在9:00am没有读到文件,返回null,但可能文件在10:00am存在,我不要OutputCache保存null,但我又不想Duration设的很小,例如两分钟,因为我想一旦cache了,就不要再从磁盘里读了
回复  

使用道具 举报

4#
 楼主| 发表于 29-8-2014 12:13:02 | 只看该作者
我现在的做法是将OutputCacheAttribute.cs复制成自己的class,加一行检测null
回复  

使用道具 举报

5#
发表于 29-8-2014 13:29:35 | 只看该作者
本帖最后由 mason00 于 29-8-2014 13:31 编辑
DDD888 发表于 29-8-2014 12:13
我现在的做法是将OutputCacheAttribute.cs复制成自己的class,加一行检测null


null就是没有cache啊,什么也没保存。直到10:00,文件有了,才会cache下来,不用读磁盘了之后。之后每900000后会去刷新cache,如果文件又没了,返回null,有就cache最新读到的文件。
回复  

使用道具 举报

6#
 楼主| 发表于 29-8-2014 13:37:19 | 只看该作者
mason00 发表于 29-8-2014 13:29
null就是没有cache啊,什么也没保存。直到10:00,文件有了,才会cache下来,不用读磁盘了之后。之后每 ...

问题是这个null cache给所有其他request共享了
回复  

使用道具 举报

7#
发表于 29-8-2014 13:38:59 | 只看该作者
DDD888 发表于 29-8-2014 13:37
问题是这个null cache给所有其他request共享了

那是肯定啊,要不就不是cache了。所以什么东西要cache是个选择。后面各种vary的参数很讲究的。
回复  

使用道具 举报

8#
 楼主| 发表于 29-8-2014 14:20:15 | 只看该作者
mason00 发表于 29-8-2014 13:38
那是肯定啊,要不就不是cache了。所以什么东西要cache是个选择。后面各种vary的参数很讲究的。

我现在决定不用OutputCache,我自己控制cache

评分

参与人数 1威望 +50 收起 理由
shenlh + 50 我很赞同!

查看全部评分

回复  

使用道具 举报

9#
 楼主| 发表于 31-8-2014 14:21:46 | 只看该作者
DDD888 发表于 29-8-2014 13:37
问题是这个null cache给所有其他request共享了

我的想法是错误的,NULL不被ASP.NET CACHE,但返回NULL的结果被这个CLIENT的BROWSER CACHE,所以我的解决方案是如果是NULL,告诉CLIENT的BROWSER 不CACHE,非NULL的话,CACHE 24小时。
回复  

使用道具 举报

您需要登录后才可以回帖 登录 | FreeOZ用户注册

本版积分规则

小黑屋|手机版|Archiver|FreeOZ论坛

GMT+10, 18-9-2025 08:23 , Processed in 0.017150 second(s), 25 queries , Gzip On, Redis On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表