找不到ServiceStack RequestContext

时间:2013-12-16 10:40:02

标签: c# memcached servicestack

您好我刚刚在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,披萨!

2 个答案:

答案 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;
            }
        }