Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回的对象部分为空_C#_.net_Asp.net Mvc_Json_Asp.net Web Api - Fatal编程技术网

C# 返回的对象部分为空

C# 返回的对象部分为空,c#,.net,asp.net-mvc,json,asp.net-web-api,C#,.net,Asp.net Mvc,Json,Asp.net Web Api,在我的web api控制器中有以下方法 public HttpResponseMessage PostGrantAccess(DeviceAccessRequest deviceAccessRequest) { var deviceId = deviceAccessRequest.DeviceId; var deviceAccessResponse = new DeviceAccessResponse(deviceAccessRequest.RequestId)

在我的web api控制器中有以下方法

public HttpResponseMessage PostGrantAccess(DeviceAccessRequest deviceAccessRequest)
{
    var deviceId = deviceAccessRequest.DeviceId;

    var deviceAccessResponse = new DeviceAccessResponse(deviceAccessRequest.RequestId)
        {
            Status = "OK"
        };
    var response = Request.CreateResponse<DeviceAccessResponse>(HttpStatusCode.OK, deviceAccessResponse);
    return response;
}
我能够在我的控制器中接收DeviceAccessRequest,很好,我能够获取guid字符串

但是,在将响应返回给客户机之后,我只能返回Status=“OK”,correlationId为null,而不是包含我在客户机代码中用此行指定的guid字符串

var deviceAccessResponse = new DeviceAccessResponse(deviceAccessRequest.RequestId)
我错过了什么


response.Content.ReadAsAsync().Result用于重建整个对象的正确代码?

您的
相关ID
是一个私有字段。如果您希望它通过连接进行序列化,您可能需要创建一个公共属性来公开它。

您的
correlationId
是一个私有字段。如果要通过线路进行序列化,可能需要创建一个公共属性来公开它。

如果要将
correlationId
公开并传送到客户端,则应将其设置为公共属性:

public class ResponseBase
{
    public ResponseBase()
    {
    }

    public string CorrelationId { get; set; }

    public ResponseBase(string correlationId)
    {
        this.CorrelationId = correlationId;
    }
}

如果希望将
correlationId
公开并传递给客户,则应将其作为公共属性:

public class ResponseBase
{
    public ResponseBase()
    {
    }

    public string CorrelationId { get; set; }

    public ResponseBase(string correlationId)
    {
        this.CorrelationId = correlationId;
    }
}
public class ResponseBase
{
    public ResponseBase()
    {
    }

    public string CorrelationId { get; set; }

    public ResponseBase(string correlationId)
    {
        this.CorrelationId = correlationId;
    }
}