我正在尝试对 ServiceStack 使用新的 API 方法,并且正在构建一个测试控制台应用程序来托管它。到目前为止,我有实例化请求 DTO 的路由,但是在请求到达我的服务的 Any 方法之前,我得到了这个异常:
Error Code NullReferenceException
Message Object reference not set to an instance of an object.
Stack Trace at ServiceStack.WebHost.Endpoints.Utils.FilterAttributeCache.GetRequestFilterAttributes(Type requestDtoType) at
ServiceStack.WebHost.Endpoints.EndpointHost.ApplyRequestFilters(IHttpRequest httpReq, IHttpResponse httpRes, Object requestDto) at
ServiceStack.WebHost.Endpoints.RestHandler.ProcessRequest(IHttpRequest httpReq, IHttpResponse httpRes, String operationName)
下面是我使用 IReturn 和 Service 的测试服务(此时我只是试图返回硬编码的结果以查看它的工作)
[DataContract]
public class AllAccounts : IReturn<List<Account>>
{
public AllAccounts()
{
}
}
[DataContract]
public class AccountTest : IReturn<string>
{
public AccountTest()
{
this.Id = 4;
}
[DataMember]
public int Id { get; set; }
}
public class AccountService : Service
{
public AccountService()
{
}
public object Any(AccountTest test)
{
return "hello";
}
public object Any(AllAccounts request)
{
var ret = new List<Account> {new Account() {Id = 3}};
return ret;
}
}
所有 ServiceStack 引用都来自 NuGet。我在任何一条路线上都遇到同样的错误。有什么建议么?