ServiceStack 缓存没有仪式剃刀
ServiceStack Caching No Ceremony Razor
我有一个简单的网站,主要使用 no ceremony razor views 来处理一堆静态页面的布局。这是一个天蓝色的网络应用程序。页面加载速度似乎比我喜欢的要慢(Azure 速度慢 I/O),我想知道是否有办法缓存所有这些响应,因为它们在编译后根本不需要处理.
no ceremony razor pages 直接执行,不通过正常的请求管道,因此没有机会缓存它们的输出。
您需要执行一些操作,例如通过将其移动到 /Views
文件夹将其转换为 Razor 视图,创建一个与页面同名的 Request 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 小时。
我有一个简单的网站,主要使用 no ceremony razor views 来处理一堆静态页面的布局。这是一个天蓝色的网络应用程序。页面加载速度似乎比我喜欢的要慢(Azure 速度慢 I/O),我想知道是否有办法缓存所有这些响应,因为它们在编译后根本不需要处理.
no ceremony razor pages 直接执行,不通过正常的请求管道,因此没有机会缓存它们的输出。
您需要执行一些操作,例如通过将其移动到 /Views
文件夹将其转换为 Razor 视图,创建一个与页面同名的 Request 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 小时。