asp.net-mvc – 在我的ASP.NET MVC网站中缓存不能正常工作?
|
我正在尝试在我的ASP.NET MVC网站中使用OutputCaching.问题是,当我尝试更改一个我的查询字符串参数的值时,它将返回所请求的第一个项目的数据! 这是我的代码(改变了param名称)…… [ApiAuthorize]
[HandleErrorAsJson]
public class SearchController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
[OutputCache(Duration = 60,VaryByParam = "*")]
public ActionResult ScoreCard(string foo,byte? bar,byte? pewpew)
{
..
}
}
>注1:ApiAuthorize – 自定义属性,用于检查名为“Key”的查询字符串参数,并检查内存字典,以查看它是否存在. 这是我正在做这个动作的两个示例调用: – > / GET http://api.MySite.com/search/scorecard?foo=hello+world,+PewPew&key=abcd1234&bar=2 所以第一次调用的数据(foo = hello world,Pew Pew)返回200 OK. 此外,我没有使用任何代理服务器. 我也尝试了以下(每次我需要缓存时手动列出)….. [OutputCache(Duration = 60,VaryByParam = "foo,key,bar,pewpew")] 没运气 :( 请注意我需要确保将“Key”参数作为缓存唯一键的一部分包含在内.我不希望人们搜索相同的东西,但如果第二个人没有正确的密钥,他们不应该得到缓存的结果,而是一个错误信息(技术上,它是401未授权,但无论如何)… 思考? 解决方法VaryByParam中的参数列表应该是以分号分隔的,而不是逗号分隔的.试一试.那就是说,*应该有效.(编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-2 – EditorFor – 传入字典的模型项目的类型为
- asp.net-mvc-3 – 具有确认对话框的MVC3 Actionlink
- asp.net-mvc – 使用与本地化更改冲突的自定义数据注释进行
- asp.net-web-api – 如何访问所有querystring参数作为字典
- 在ASP.Net MVC中控制JsonResult中的序列化器也称为Json函数
- asp.net – GridView的RowDataBound函数
- asp.net-mvc – 如果ASP.NET MVC中的用户匿名,则重定向到自
- asp.net-mvc – 测试控制器使用User.Identity.Name的操作
- asp.net-web-api – 可以从Request对象获取当前的MediaType
- asp.net-web-api – 返回Web API中的错误
- asp.net-mvc – 如何使用Html.EditorFor与MVC3设
- asp.net – AppendHeader是否与AddHeader完全相同
- ASP.net HTTP 404 – 找不到文件而不是MaxReques
- asp.net-mvc – 如何使用Html.DropDownList为默认
- asp.net-mvc – MVC [HttpGet]控制器注释可选吗?
- asp.net-mvc – 如何通过MVC Azure AD身份验证从
- 在asp.net中验证字符串是否为json
- asp.net-mvc – 在ASP.NEt MVC 3中传递Html.Begi
- asp.net-mvc-3 – MVC脚手架问题
- asp.net – 如何判断一个方法是否在UpdatePanel回
