2013-08-13 2 views
2

서비스 스택을 사용하여 간단한 서비스를 만들었습니다.ServiceStack StatusResult가 채워지지 않았습니다.

namespace BE.Source.Listener.Services 
{ 
    public class StatusService : Service 
    { 
     private ILog Logger 
     { 
      get 
      { 
       return LogManager.GetLogger(GetType()); ; 
      } 

     } 
     public object Get(KilnListenerStatusRequest request) 
     { 

      var result = new KilnListenerStatusResponse(); 
      result.LastPushRequest = DateTime.Now; 

      return result; 
     } 

    } 
} 

서비스는 ResponseSTatus 속성이있는 "StatusResult"라는 dto를 반환합니다.

요청과 결과 DTOS는 같은 이름 공간에 있지만 serivce 인 하나

있습니다 또는 오류가 발생할 때 StatusREsult 만 가득?

namespace BE.Source.ServiceModel 
{ 
    /// <summary> 
    /// Request for Service Status 
    /// </summary> 
    public sealed class StatusRequest : IReturn<StatusResult> 
    { 

    } 
} 



namespace BE.Source.ServiceModel 
{ 

/// <summary> 
/// 
/// </summary> 
public sealed class StatusResult 
{ 
    /// <summary> 
    /// Status of the response 
    /// </summary> 
    public ResponseStatus ResponseStatus { get; set; } //Automatic exception handling 
} 

하지만 jsonservice 클린트로 get을 실행하면 속성은 null입니다.

답변

2

오류가 발생하지 않은 경우 ResponseStatus 속성은 null이됩니다. one of the many tests in the ServiceStack GitHub repo에서

:

[Test, TestCaseSource(typeof(CustomerServiceValidationTests), "ServiceClients")] 
public void Post_ValidRequest_succeeds(Func<IServiceClient> factory) 
{ 
    var client = factory(); 
    var response = client.Send<CustomersResponse>(validRequest); 
    Assert.That(response.ResponseStatus, Is.Null); 
} 
관련 문제