无法使用ServiceStack 4中的AppHostBase.ResolveService <t> API解析服务</t>

时间:2014-01-16 23:42:06

标签: servicestack funq

我正在使用ASP.NET MVC 5并尝试使用示例解析一些服务:

var authService = AppHostBase.Resolve<AuthService>();
authService.RequestContext = System.Web.HttpContext.Current.ToRequestContext();
var response = authService.Authenticate(new Auth
{
    UserName = model.UserName,
    Password = model.Password,
    RememberMe = model.RememberMe
});

或者我也尝试过:

using (var helloService = AppHostBase.ResolveService<HelloService>())
{
    ViewBag.GreetResult = helloService.Get(name).Result;
    return View();
}

在第一种情况下,我需要注入RequestContext,所以我尝试了这种方法,在第二种情况下,我使用了我理解的示例RequestContext通过Funq自动注入。

当我尝试第二种方法并且第一种方法ResolveService不是有效属性时,找不到

RequestContext。我错过了一些简单的内容,或者API有变化吗?

1 个答案:

答案 0 :(得分:1)

由于ResolveService<T>上不再有AppHostBase,因此文档似乎有误。由于Api的变化,它需要更新。

您可以在带有MVC的ServiceStack v4中执行此操作:

var authService = HostContext.Resolve<AuthService>();
...