2016-04-22 15 views
1

Ich mache einen Service mit ServiceStack, und ich habe ein Problem. Ich sehe die Request-Parameter nicht, daher sind beim Aufruf der Methode alle Parameter der Anfrage null. Hier ist der Code:ServiceStack Anforderungsparameter fehlen

public class AppHost : AppSelfHostBase 
{ 
    public AppHost() 
     : base("CallbackServer", typeof(CallbackServer).Assembly) 
    { 
    } 

    public override void Configure(Container container) 
    { 
    } 
} 

public class CallbackServer : Service 
{ 
    public HttpResult Post(EventoCliente request) 
    { 
     request.TimeReceived = DateTime.Now; 
     Task.Factory.StartNew(() => Program.EventArrived(request)); 
     return new HttpResult(HttpStatusCode.OK,"OK"); 
    } 
} 

[Route("/turno", "Post")] 
public class EventoCliente : IReturn<EventoClienteResponse> 
{ 
    public TurnoCliente Turno; 
    public string Sucursal; 
    public string[] Puestos; 
    public DateTime? TimeReceived; 
} 

public class EventoClienteResponse 
{ 
    public ResponseStatus ResponseStatus { get; set; } 
} 

static void Main() 
{ 
    var appHost = new AppHost(); 
    appHost.Init(); 
    appHost.Start("http://*:9900/NesrEmulator/"); 
} 

also im Browser i schreiben: http://localhost:9900/NesrEmulator, und ich kann die Methode EventoCliente sehen, aber ich kann nicht (es nicht ist), um die Parameter für die Anforderung sehen. Here is a screenshot of what i mean...

Was ich falsch mache? Dank

Antwort

2

sollte Ihre DTO öffentliche Eigenschaften verwenden nicht öffentlich Felder so einfach, es zu ändern:

[Route("/turno", "Post")] 
public class EventoCliente : IReturn<EventoClienteResponse> 
{ 
    public TurnoCliente Turno { get; set; } 
    public string Sucursal { get; set; } 
    public string[] Puestos { get; set; } 
    public DateTime? TimeReceived { get; set; } 
}