【问题标题】:How to use BSON in .Net Web API如何在 .Net Web API 中使用 BSON
【发布时间】:2023-03-09 13:02:01
【问题描述】:

我想在我的自托管 Web API 中使用 BSON。我正在使用 .Net Core 2.0 和 autofac。在每个教程中,我都看到我需要将 BsonMediaTypeFormatter 添加到格式化程序,但我没有带有 HttpConfiguration 的 WebApiConfig.cs。在我的 Web API 中,我只有 startup.cs 和 program.cs。

在 startup.cs 我有两种方法:

public IServiceProvider ConfigureServices(IServiceCollection services)
public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider serviceProvider)

如何设置 BSON 格式化程序?

【问题讨论】:

  • 你有理由更喜欢 BSON 而不是 JSON?
  • Yes "用于序列化二进制数据,例如图像文件,BSON 比 JSON 小,因为二进制数据不是 base64 编码的。"
  • 另一个原因是将 BSON 对象发送到 Mongo - 如果您将 JSON 对象从 .NET 发送到 Mongo,则日期将保存为字符串(因为 ISO 格式),然后无法查询日期差异

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


【解决方案1】:
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc()
            .AddBsonSerializerFormatters();
    }
}

【讨论】:

  • 我没有 AddBsonSerializerFormatters 方法。我需要添加参考或获取 nuget?
  • 好的我看到了这个方法,你有没有例子如何在应用程序中使用bson?
  • 您可以在 HTTP POST 中发送原始 BSON 字节。
  • 但是邮递员只有 Json (application/json)。我想在 Content-Type 应用程序/bson 中有可能吗?
猜你喜欢
  • 2019-03-16
  • 2017-08-30
  • 2016-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-04
相关资源
最近更新 更多