如何在 asp net mvc5 中为 tweetsharp 推特提要制作输出缓存
How to make Output cache for tweetsharp twitter feeds in asp net mvc5
我正在使用 tweetsharp nuget 包向我的网站添加推文。
我将部分视图放在页脚上,它在网站的所有页面上都可见。
这是我在 Basecontroller 上的代码。
public PartialViewResult _PartialView_twitter_feed()
{
var service = new TwitterService("key", "key");
service.AuthenticateWith("key", "key");
IEnumerable<TwitterStatus> tweets = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName="my_screen_name", Count=5 });
ViewBag.Tweets = tweets;
return PartialView();
}
我在页脚视图中这样称呼它。
@Html.Action("_PartialView_twitter_feed", "base")
现在的问题是,如何在 asp net mvc 5 上为该实现进行输出缓存或某种缓存?
我不想在每个页面视图中一次又一次地调用 twitter api。因为局部视图在页脚上。
如何只制作一次并显示直到用户离开我的网站?
实现此目标的最佳做法是什么?
感谢您的帮助。
您可以使用 OutputCache 属性。希望以下示例对您有所帮助。
控制器
[OutputCache(Duration = 6000)]
public PartialViewResult Footer()
{
return PartialView("Footer");
}
public ActionResult MainPage1()
{
return View();
}
public ActionResult MainPage2()
{
return View();
}
查看
MainPage1
<h2>MainPage1</h2>
@Html.Action("Footer")
MainPage2
<h2>MainPage2</h2>
@Html.Action("Footer")
当用户第一次访问 MainPage1
时,页脚部分视图将从服务器 return 获取。从第二次开始,它将 return 从缓存中取出。即使用户访问 MainPage2
,页脚部分视图也会从缓存中 return。您可以根据您的要求增加持续时间秒数
我正在使用 tweetsharp nuget 包向我的网站添加推文。
我将部分视图放在页脚上,它在网站的所有页面上都可见。
这是我在 Basecontroller 上的代码。
public PartialViewResult _PartialView_twitter_feed()
{
var service = new TwitterService("key", "key");
service.AuthenticateWith("key", "key");
IEnumerable<TwitterStatus> tweets = service.ListTweetsOnUserTimeline(new ListTweetsOnUserTimelineOptions { ScreenName="my_screen_name", Count=5 });
ViewBag.Tweets = tweets;
return PartialView();
}
我在页脚视图中这样称呼它。
@Html.Action("_PartialView_twitter_feed", "base")
现在的问题是,如何在 asp net mvc 5 上为该实现进行输出缓存或某种缓存?
我不想在每个页面视图中一次又一次地调用 twitter api。因为局部视图在页脚上。
如何只制作一次并显示直到用户离开我的网站?
实现此目标的最佳做法是什么?
感谢您的帮助。
您可以使用 OutputCache 属性。希望以下示例对您有所帮助。
控制器
[OutputCache(Duration = 6000)]
public PartialViewResult Footer()
{
return PartialView("Footer");
}
public ActionResult MainPage1()
{
return View();
}
public ActionResult MainPage2()
{
return View();
}
查看
MainPage1
<h2>MainPage1</h2>
@Html.Action("Footer")
MainPage2
<h2>MainPage2</h2>
@Html.Action("Footer")
当用户第一次访问 MainPage1
时,页脚部分视图将从服务器 return 获取。从第二次开始,它将 return 从缓存中取出。即使用户访问 MainPage2
,页脚部分视图也会从缓存中 return。您可以根据您的要求增加持续时间秒数