ServiceStack:无法访问IRequiresRequestStream上的已处理流

时间:2015-01-20 23:16:59

标签: c# servicestack

我是一名新的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)
        {

        }  

但是我得到了一个N​​ull Reference Exception。如果我删除[](并传递相关的JSON),那就好了。

由于

1 个答案:

答案 0 :(得分:3)

ServiceStack中的每个请求DTO都需要是一个唯一命名的具体类。

如果你只想发送一个DTO集合,你可以继承List<T>,例如:

[Route("/register/event")]
public class RegisterEvents : List<RegisterEvent> {} 

Any(T[])只能在AutoBatched Requests中使用。