ServiceStack StatusResult未填写

时间:2013-08-13 13:57:04

标签: servicestack

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

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属性。

请求和结果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 cleint触发get时,属性为null。

1 个答案:

答案 0 :(得分: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);
}