2

我正在使用 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 发生了变化?

4

1 回答 1

1

该文档似乎确实是错误的,因为不再有 a ResolveService<T>on AppHostBase。由于 Api 的变化,它需要更新。

您可以使用 MVC 在 ServiceStack v4 中执行此操作:

var authService = HostContext.Resolve<AuthService>();
...
于 2014-01-17T16:08:13.867 回答