2

我用服务堆栈创建了一个简单的服务。

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

    }
}

该服务返回一个名为“StatusResult”的 dto,它具有 ResponseSTatus 属性。

请求和结果 dto 在同一个名称空间中,但不在服务所在的名称空间中,

还是仅在发生错误时才填充 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 时,该属性为空。

4

1 回答 1

2

据我所知,当没有发生错误时,ResponseStatus 属性将为空。

来自ServiceStack GitHub 存储库中的众多测试之一

[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);
}
于 2013-08-15T06:00:40.433 回答