在MVC中使用输出缓存作为对象参数

Kri*_*shh 3 asp.net-mvc outputcache asp.net-mvc-3 asp.net-mvc-2

这是我的控制器方法.任何人都可以解释我如何在服务器上为以下方法编写outputcache.

    public JsonResult GetCenterByStateCityName(string name, string state, string city, bool sportOnly, bool rvpOnly)
    {
        var result = GetCenterServiceClient().GetCentersByLocation(name, city, state, sportOnly, rvpOnly).OrderBy(c => c.Name).ToList();
        return Json(result);
    }
Run Code Online (Sandbox Code Playgroud)

谢谢

anA*_*ent 5

你看过文档了吗?

http://msdn.microsoft.com/en-us/library/system.web.mvc.outputcacheattribute.aspx

简而言之,只需在Action上设置Attribute即可

[OutputCache(CacheProfile = "SaveContactProfile", Duration = 10)]
public JsonResult SaveContact(Contact contact)
{
    var result = GetContactServiceClient().SaveContact(contact);
    return Json(result);
}
Run Code Online (Sandbox Code Playgroud)

- 更新 -

如果你通过jQuery进行直接的Ajax调用,可以根据"cache"参数忽略OutPutCache - 默认情况下设置为true.

例如,如果您执行以下操作,则会忽略您的参数:

$.ajax({
    url: someUrlVar,
    cache: true, /* this is true by default */
    success : function(data) {

    }
});
Run Code Online (Sandbox Code Playgroud)

只需要查看一下,因为您可以通过两种方式缓存该调用.

参考: