【发布时间】:2015-07-02 17:48:57
【问题描述】:
我有一个接收Person 类型参数的控制器操作。该参数是使用基于 JSON 的模型绑定功能从 JSON 请求绑定的。
我的VaryByParam 在这种情况下不起作用,因为请求不包含任何“经典”变量(例如 GET 或 POST),但在这种情况下数据位于 HTTP 正文中。在客户端,我使用KnockoutJS,所以我使用ko.toJSON 方法发布数据。
如何根据 JSON 请求中的字段值实现输出缓存?
示例仅用于演示。
// model
public class Person {
public int PersonID { get; set; }
public string Name { get; set; }
}
// action
[OutputCaching(Duration = 60, VaryByParam = "PersonID")]
public JsonResult Process(Person person) {
...
}
// client-side
$.post({
url: '/mycontroller/myaction',
...
data: ko.toJSON(personViewModel),
...
});
【问题讨论】:
标签: jquery json asp.net-mvc asp.net-mvc-5 outputcache