【发布时间】:2014-08-18 17:22:54
【问题描述】:
我正在 MVC 中试验 ServiceStack,使用标准服务器端控制器创建视图模型。没有对在 /api 注册的任何服务的 jquery 调用(或任何直接调用)。由于 SS 让我们直接使用以下方式解析服务:
using (var dr = HostContext.ResolveService<DataReportService>(base.HttpContext))
我没有使用 JsonServiceClient 调用服务。相反,我一直在解析服务并直接调用它们的方法。
var dataReport = new DataReport
{
IsArchived = false,
ReportDate = DateTime.Now,
ReportType = Model.ReportType
};
var drId = dr.Post(dataReport);
但是,我无法通过新的 AutoQuery 功能找到一种方法。我知道它会自动为从 QueryBase 派生的任何类创建一个服务,但我没有运气解决它。如果我尝试解析运行时使用的名称,那么我将不会编译(显然)。如果我尝试这样的事情
using (var dr = HostContext.ResolveService<AutoQueryServiceBase>(base.HttpContext))
那么它也不起作用,因为那只是一个基类而不是实际注册的实例。我知道我可以从 JsonServiceClient 做到这一点,但我真的很想尝试直接调用方法。创建我自己的包含任何 AutoQuery 的服务都可以,但似乎违背了自动创建的目的。不过,我看不到任何其他方法可以继续。很想听听任何想法。
【问题讨论】: