【问题标题】:Deserlize BSON into objects in client from WebAPI从 WebAPI 将 BSON 反序列化为客户端中的对象
【发布时间】:2017-10-26 15:39:13
【问题描述】:

我有一个 Web API,它当前正在从 POST 返回 BSON 响应。

通常我有返回 JSON 的 WebAPI,我只是在客户端执行此操作以将其反序列化为我的 C# 对象。

var result = await GetApiClient().PostAsJsonAsync("api/Test/GetImages", args);

if (result.IsSuccessStatusCode)
     return await result.Content.ReadAsAsync<T>();

我现在这样做是为了得到 BSON 响应:

MediaTypeFormatter bsonFormatter = new BsonMediaTypeFormatter();
var result = await GetApiClient().PostAsync("api/Test/GetImages", args, bsonFormatter);

    if (result.IsSuccessStatusCode)
         return await result.Content.ReadAsAsync<T>();

JSON 工作正常,但读取内容时出现 BSON 错误:

No MediaTypeFormatter is available to read an object of type IEnumerable1 from content with media type 'application/bson'

我 100% 确定我正在恢复 BSON,我只是不确定现在如何将它反序列化为对象?

【问题讨论】:

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


    【解决方案1】:

    我刚刚想通了,我需要在 ReadAsAsync 调用中包含格式化程序。比我预期的要简单得多

    ReadAsAsync<T>(new List<MediaTypeFormatter>() {bsonFormatter})
    

    【讨论】:

      猜你喜欢
      • 2014-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 1970-01-01
      相关资源
      最近更新 更多