所以,我正在向WebAPI发出GET请求并返回一个这样的对象: http://s12.postimg.org/leoykz3rh/debug1.png
但是,当我在客户端检索对象时, Elements 中的对象为空,没有结构: http://s12.postimg.org/cie6h1d59/debug2.jpg
以下是 Elements
中包含的对象的类定义public class LineElement
{
int ID { get; set; }
int X { get; set; }
int Y { get; set; }
int W { get; set; }
int H { get; set; }
string Code { get; set; }
string Color { get; set; }
public LineElement(int pID, int? pX, int? pY, int? pW, int? pH, string pCode, string pColor)
{
ID = pID;
X = Convert.ToInt16(pX);
Y = Convert.ToInt16(pY);
W = Convert.ToInt16(pW);
H = Convert.ToInt16(pH);
Code = pCode;
Color = pColor;
}
}
它们被添加到 Elements 中,如下所示:
var elemList = new List<LineElement>(); // list of LineElements to return
for (var i = 0; i < r.Count(); i++)
{
elemList.Add(new LineElement(r[i].ID, r[i].P_L, r[i].P_T, r[i].P_W, r[i].P_H, r[i].Code.ToString(), r[i].GetSColor()));
}
从VS调试器截图中可以看出,该对象在服务器端看起来很好。关于序列化或反序列化过程中可能发生的事情的任何想法?
另外,我已经使用IHttpActionResult将序列化传回客户端测试了序列化,这给了我相同的结果。
return Ok(response);
由于
答案 0 :(得分:4)
尝试以下方法,
一个。公开财产。
public int ID { get; set; }
湾返回值,如下所示,
return Request.CreateResponse(HttpStatusCode.OK, lineElementList);
℃。确保方法中有HttpGet属性。
[HttpGet]
public HttpResponseMessage Methodname()
{