我是 Service Stack 的新手,刚刚发现并且使用起来非常有趣。
我希望我 future 的网站非常有主干,但仍然确保它们大部分可以被谷歌索引并被使用 JavaScript 的人看到(更多用于谷歌索引)
我知道有内容缓存,例如列表等,可以在 Razor 页面上检索和切断。
但我没有看到任何文档方法涵盖在呈现后缓存整个 Razor 页面,我认为这是 OutputCache 属性在普通 ASP.NET MVC 3 上所做的。
因此,如果有人可以指导我使用服务堆栈缓存整个 Razor 页面的可能示例,或者可能的方法,我们将不胜感激。
谢谢
最佳答案
在 ServiceStack 中缓存 Razor/HTML View 通过使用 ToOptimizedResultUsingCache
以与所有其他格式相同的方式完成,例如:
public object Any(CachedAllReqstars request)
{
if (request.Aged <= 0)
throw new ArgumentException("Invalid Age");
var cacheKey = typeof(CachedAllReqstars).Name;
return RequestContext.ToOptimizedResultUsingCache(Cache, cacheKey, () =>
new ReqstarsResponse {
Aged = request.Aged,
Total = Db.GetScalar<int>("select count(*) from Reqstar"),
Results = Db.Select<Reqstar>(q => q.Age == request.Aged)
});
}
此服务缓存任何请求格式的输出,包括。 HTML Razor View 。
关于asp.net-mvc - 有没有一种方法可以在服务堆栈中缓存 Razor 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15027732/