ServiceStack缓存没有仪式剃刀

时间:2017-06-10 05:15:31

标签: servicestack servicestack-razor

我有一个简单的网站,使用no ceremony razor视图主要用于处理一堆静态页面的布局。这是在一个天蓝色的网络应用程序。这些页面的加载速度似乎比我喜欢的慢一点(Azure的I / O速度很慢),我想知道是否有办法缓存所有这些响应,因为它们在编译后根本不需要进行处理。 / p>

1 个答案:

答案 0 :(得分:1)

no ceremony razor pages直接执行,不通过正常的请求管道,因此没有机会缓存​​其输出。

您需要做一些事情,比如将其转换为Razor View,方法是将其移至/Views文件夹,创建与页面同名的请求DTO,然后添加[CacheResponse]属性在服务上像:

[Route("/pagename1")] class PageName1 {}
[Route("/pagename2")] class PageName2 {}

[CacheResponse(Duration = 3600)]
public class HtmlServices : Service
{
    public object Any(PageName1 request) => request;
    public object Any(PageName2 request) => request;
}

这将缓存上述页面的HTML响应输出1小时。