C# 返回的对象部分为空
在我的web api控制器中有以下方法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)
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;
}
}