我想要做的是我有三个不同的客户端(A,B,C)托管的一组三个网站。其中一个网站(即B)提供有关网站A的页眉和页脚的信息。我想通过HTML的JSON响应从网站B获取信息,以在网站A和网站C上显示导航。如何缓存JSON响应以生成用于导航和品牌化网站的HTML?
我的低调是获得响应是JSON并将该信息保存在缓存文件中以生成HTML。
我的理解是否正确?我怎样才能做到这一点?有一个更好的方法吗?
我想要做的是我有三个不同的客户端(A,B,C)托管的一组三个网站。其中一个网站(即B)提供有关网站A的页眉和页脚的信息。我想通过HTML的JSON响应从网站B获取信息,以在网站A和网站C上显示导航。如何缓存JSON响应以生成用于导航和品牌化网站的HTML?
我的低调是获得响应是JSON并将该信息保存在缓存文件中以生成HTML。
我的理解是否正确?我怎样才能做到这一点?有一个更好的方法吗?
基本上,如果你想从你的控制器的动作缓存JSON结果,你可以使用OutputCache
属性:
[OutputCache(Duration = 10)] //Duration is in seconds
public ActionResult GetMyJsonData() {
var myData = new Data();
return Json(data);
}
您可以将相同的属性上你的行动,返回的HTML。
关键是我们如何访问第三方应用程序中的缓存数据。我已将网站A导航HTML保存在缓存中,应用程序在第三方网站上实施了单一登录。第三方网站如何获得缓存的HTML并在运行时在其网站上显示缓存的HTML。 –
你没有提到这个。您的第三方网站必须在第一个网站上对“GetMyJsonData”进行网络调用。另一个解决方案是使用Redis创建共享缓存策略。 – Guillaume
你想从你的控制器缓存HTML结果或JSON结果? – Guillaume
@Guillaume控制器将返回JSOn结果,我想将缓存的数据呈现为HTML。 –