2016-10-04 25 views
0

我想要做的是我有三个不同的客户端(A,B,C)托管的一组三个网站。其中一个网站(即B)提供有关网站A的页眉和页脚的信息。我想通过HTML的JSON响应从网站B获取信息,以在网站A和网站C上显示导航。如何缓存JSON响应以生成用于导航和品牌化网站的HTML?

我的低调是获得响应是JSON并将该信息保存在缓存文件中以生成HTML。

我的理解是否正确?我怎样才能做到这一点?有一个更好的方法吗?

+0

你想从你的控制器缓存HTML结果或JSON结果? – Guillaume

+0

@Guillaume控制器将返回JSOn结果,我想将缓存的数据呈现为HTML。 –

回答

0

基本上,如果你想从你的控制器的动作缓存JSON结果,你可以使用OutputCache属性:

[OutputCache(Duration = 10)] //Duration is in seconds 
public ActionResult GetMyJsonData() { 
    var myData = new Data(); 
    return Json(data); 
} 

您可以将相同的属性上你的行动,返回的HTML。

+0

关键是我们如何访问第三方应用程序中的缓存数据。我已将网站A导航HTML保存在缓存中,应用程序在第三方网站上实施了单一登录。第三方网站如何获得缓存的HTML并在运行时在其网站上显示缓存的HTML。 –

+0

你没有提到这个。您的第三方网站必须在第一个网站上对“GetMyJsonData”进行网络调用。另一个解决方案是使用Redis创建共享缓存策略。 – Guillaume