2013-08-13 2 views
2

Я создал простой сервис с стеком обслуживания.ServiceStack StatusРезультат не заполнен

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; 
     } 

    } 
} 

Служба возвращает dto с именем «StatusResult», обладающее свойством ResponseSTatus.

Запрос и результат DTOS находятся в том же пространстве имен, но не в ОДНОМ имя_службе является,

Или 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 cleint свойство равно 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); 
}