我正在开发一个应用程序,该应用程序在Facebook应用程序上呈现公司的Twitter供稿。这是一家大型公司,有很多流量到FB应用程序,因此我需要缓存我收到的Twitter数据(来自twitter API),以便我可以避免它们的费率限制。在C#中缓存JSON数据MVC3
在我的代码中,我使用LinqToTwitter来调用API,然后构造一个带有结果的JSON字符串。该字符串然后通过AJAX馈送给用户的浏览器。
Twitter API调用的速率限制为每小时150次,所以我想我只是将我构建的JSON数据字符串放在缓存对象中,并且每分钟只刷新一次,使我远低于Twitter速率限制。
问题是,我相当新的MVC为.NET,似乎无法使用System.Web.Caching就像我可以做一个webforms应用程序。
在旧的WebForms应用程序,我只是不喜欢的东西:
private string KeyTwitterData;
...
string data = null;
if (Cache[KeyTwitterData] == null)
{
var url = LinqToTwitter.Request.Url;
data = ServiceMethods.GetConversation(url);
Cache.Insert(KeyTwitterData, data);
}
else
{
data = (string)Cache[KeyTwitterData];
}
有人能告诉我如何在MVC3做到这一点?
谢谢!
马特
@Darin,这将工作与位置设置为客户端而不是服务器?我的意思是,在客户端而不是服务器上缓存json结果? – AdrianoRR
达林,很好的回答!我只想知道是否可以使来自特定控制器的缓存[OutputCache]无效。 – GibboK