我是一名新的ServiceStack用户,目前正在评估其潜力。
我的问题是:
我有:
[Route("/register/event")]
public class EventRequestStream : IRequiresRequestStream
{
public Stream RequestStream { get; set; }
}
然后
public void Any(EventRequestStream payload)
{
RegisterEventRequest[] batch = JsonSerializer.DeserializeFromStream< RegisterEventRequest[]>(payload.RequestStream);
}
这会抛出一个无法访问已处置的流。
您将在上面的示例中注意到我真正想要做的是:
public void Any(RegisterEventRequest[] payload)
{
}
但是我得到了一个Null Reference Exception。如果我删除[](并传递相关的JSON),那就好了。
由于
答案 0 :(得分:3)
ServiceStack中的每个请求DTO都需要是一个唯一命名的具体类。
如果你只想发送一个DTO集合,你可以继承List<T>
,例如:
[Route("/register/event")]
public class RegisterEvents : List<RegisterEvent> {}
Any(T[])
只能在AutoBatched Requests中使用。