【发布时间】:2018-06-22 07:35:11
【问题描述】:
我的应用程序中有一个方法,出于某种原因我必须设置HttpResponseMessage 响应。这是我下面的代码。有 Order 和 OrderDetail 类。
public void someMethod()
{
var response = await SendHttpResponse("123");
Order objId = new Order();
objId = JObject.Parse(await response.Content.ReadAsStringAsync()).ToObject<Order>();
string item = objId.OrderDetail.LastOrDefault<item>().Status
}
SendHttpResponse 方法,其中 HttpResponseMessage 是硬编码的。
public async Task<HttpResponseMessage> SendHttpResponse(string orderid)
{
Task<Order> result = CreateOrder(orderid);
string jsonString = JsonConvert.SerializeObject(result);
return new HttpResponseMessage(HttpStatusCode.OK)
{ Content = new StringContent(jsonString) };// assuming something wrong with this conversion
}
我有一个 Order 类和 OrderDetail 类。
public async Task<Order> CreateOrder(string OrderId)
{
Order order = new Order();
order.id = OrderId;
order.date = DateTime.Now.ToString("MM/dd/yyyy HH:mm:ss");
OrderDetail od = new OrderDetail();
od.item = "xyz";
od.rate = 12;
List<OrderDetail> lst = new List<OrderDetail>();
lst.Add(od);
order.OrderDetail = lst;
}
现在我面临的问题是,在 SomeMethod 中,item 是 null 而不是 xyz。当我调试它时,我可以看到 CreateOrder 方法没有任何异常地执行,并且数据也转换为 JSON 格式,但是这些值没有正确返回到SomeMethod。我假设,我在SendHttpResponse 中所做的转换是错误的,应该以不同的方式进行。
谁能帮我更正这段代码?非常感谢!
【问题讨论】:
标签: c# .net httpclient