2015-01-20 7 views
0

Я новый пользователь ServiceStack и в настоящее время оцениваю его потенциал.ServiceStack: не удается получить доступ к выделенному потоку на IRequiresRequestStream

Мой вопрос:

у меня есть:

[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 исключение. Если я удалю [] (и передаю соответствующий JSON), тогда это будет хорошо.

Благодаря

ответ

3

Каждый запрос DTO в ServiceStack должен быть однозначно назван конкретный класс.

Если вы только хотите отправить коллекцию DTO-х вы можете просто унаследовать от List<T>, например:

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

Any(T[]) может быть использован только в AutoBatched Requests.

Смежные вопросы