Caching 使用较新的CacheControl属性缓存HttpResult/memorystream
我刚刚发现了新的CacheControl属性,它在标准POCO中运行良好——我想知道是否需要一些不同的东西来缓存一个以PDF格式返回HttpResult的服务。(该服务正在工作,但在调用该服务后,我在缓存中未看到任何记录)Caching 使用较新的CacheControl属性缓存HttpResult/memorystream,caching,servicestack,Caching,servicestack,我刚刚发现了新的CacheControl属性,它在标准POCO中运行良好——我想知道是否需要一些不同的东西来缓存一个以PDF格式返回HttpResult的服务。(该服务正在工作,但在调用该服务后,我在缓存中未看到任何记录) ServiceStack的缓存无法在服务实现中定义的HttpResult中缓存元数据(返回缓存响应时)。相反,您应该使用[AddHeader]请求筛选器属性指定服务返回的自定义内容类型,并返回裸流,例如: [Authenticate] [AddHeader(ContentTy
ServiceStack的缓存无法在服务实现中定义的
HttpResult
中缓存元数据(返回缓存响应时)。相反,您应该使用[AddHeader]
请求筛选器属性指定服务返回的自定义内容类型,并返回裸流,例如:
[Authenticate]
[AddHeader(ContentType = "application/pdf")]
[CacheResponse(Duration = CacheExpirySeconds.TwentyFourHours)]
public class AdvReportPDFService : Service
{
public object Get(AdvRptPitchPercentages request)
{
var ms = SomeFunctionThatReturnsAMemoryStream();
return ms;
}
}
Addheader属性第一次有效,但第二次无效-返回缓存响应时,ContentType返回为text/plain,my PDF无法在浏览器中正确呈现
[Authenticate]
[AddHeader(ContentType = "application/pdf")]
[CacheResponse(Duration = CacheExpirySeconds.TwentyFourHours)]
public class AdvReportPDFService : Service
{
public object Get(AdvRptPitchPercentages request)
{
var ms = SomeFunctionThatReturnsAMemoryStream();
return ms;
}
}