您好我刚刚在VS中创建了一个全新的Empty webApp并安装了servicestack Nugets。
我一直在寻找缓存响应内存(通过MemCached),但在服务Any
方法中我无法访问base.RequestContext
对象。
类DO继承自ServiceStack.Service
(之前不是ServiceStack.ServiceInterface.Service
吗?)。
public class UtentiService : Service
{
public object Get(I_Utenti request)
{
var cacheKey = "myKey";
return base.RequestContext.ToOptimizedResultUsingCache(base.Cache, cacheKey, () =>{});
}
}
但我无法访问base.RequestContext
。为什么呢?
HSH,披萨!
答案 0 :(得分:7)
如果你刚刚完成:
Install-Package ServiceStack
然后它将安装Service Stack v4,即ServiceStack的新商业版。其中已经做了很多改变。请参阅the release notes here。
问题you are seeing是由于RequestContext
的重构现已合并到新的IRequest
/ IResponse
类中。
在第4版中,使用以下方式访问请求:
base.Request
如果您想继续使用ServiceStack v3,可以执行以下操作:
Install-Package ServiceStack -Version 3.9.71
您将以熟悉的方式访问。请注意,v3仍然是OpenSource。 ServiceStack v3 Documentation is now here
希望这有帮助。
答案 1 :(得分:-3)
使用服务创建属性:
public AuthenticateService AuthService
{
get
{
var _as = HostContext.ResolveService<AuthenticateService>(base.HttpContext);
return _as;
}
}