ServiceStack附带了一些很棒的功能,包括AutoQuery,最新的更新包含了很棒的Admin UI。
我希望实现以下功能,使用OrmLiteCacheClient作为AutoQuery的数据库。
更具体地说,
我希望将一些对象(响应DTO)缓存(/存储)到OrmLiteCacheClient
使用AutoQuery处理保存到OrmLiteCacheClient的实体的请求和响应
这可以实现吗?
答案 0 :(得分:2)
我希望实现以下功能,使用OrmLiteCacheClient作为AutoQuery的数据库。
不可能,AutoQuery的工作原理是从AutoQuery Request构造一个由远程RDBMS执行的SQL表达式,其结果用于填充AutoQuery Response DTO。
但您仍然可以像任何其他服务一样缓存AutoQuery服务,例如:
public class TechnologyServices : Service
{
public IAutoQuery AutoQuery { get; set; }
//Cached AutoQuery
public object Any(FindTechnologies query)
{
var key = Request.QueryString.ToString();
return Request.ToOptimizedResultUsingCache(Cache, key, () =>
{
var q = AutoQuery.CreateQuery(query, Request);
return AutoQuery.Execute(query, q);
});
}
}