【问题标题】:Web API Serialize XMLWeb API 序列化 XML
【发布时间】:2013-09-11 15:50:39
【问题描述】:

我正在尝试使用 Web API 序列化 XML,但我收到一个空结果。

这是我的 XML:

http://pastebin.com/RxBPaZF5

使用 XSD,我在 Visual Studio 中生成了一个类:

http://pastebin.com/kUca0whm

这是我正在使用的代码:

public COM_Order GetOrderById(string orderId)
    {
        HttpClientHandler handler = new HttpClientHandler();
        handler.Credentials = new NetworkCredential(m_UserName, m_Password);

        HttpClient client = new HttpClient(handler)
        {
        };


        string url =  m_BaseUrl + String.Format("/rest/ecommerce.order/{0}", orderId);
        HttpResponseMessage response = client.GetAsync(url).Result;
        if (response.IsSuccessStatusCode)
        {
            data result = response.Content.ReadAsAsync<data>().Result;
            //result is null, even though valid JSON is returned
            return result.Items.FirstOrDefault();
        }

        return null;


    }

我的课有问题吗?我也可以返回 JSON。

【问题讨论】:

  • 您是否检查过您是否确实 100% 会在 result.Items 中得到回报?
  • 是的,项目对象为空。服务器有响应。

标签: c# xml json asp.net-web-api json.net


【解决方案1】:

上面写着 response.Content.ReadAsAsync().Result;

您确定result 在您退回之前已填充吗? 在调试器中,你有一种行为,在另一种行为之外。

尝试关闭ReadAsAsync,看看它是否是罪魁祸首。

【讨论】:

  • 谢谢。我在 ReadAsAsync 之后添加了结果,但是,我仍然没有结果。似乎无法将订单添加到我的 COM_Order 集合中。
  • 我使用了其他执行 WebRequest 的代码,没有任何异步,它可以工作。
猜你喜欢
  • 2012-08-29
  • 1970-01-01
  • 2016-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 2013-11-09
  • 1970-01-01
相关资源
最近更新 更多