如何在我的 ASP.NET Core Web API 中启用 BSON 序列化?
Posted
技术标签:
【中文标题】如何在我的 ASP.NET Core Web API 中启用 BSON 序列化?【英文标题】:How do I enable BSON serialization in my ASP.NET Core Web API? 【发布时间】:2017-08-30 10:00:54 【问题描述】:我是 ASP.NET Core 和一般网络编程的新手。我刚刚成功完成了我的第一个基于 RESTfull 设计原则的 ASP.NET Core Web API。它目前使用 JSON 序列化来发送响应(Visual Studio 默认),但我想尝试 BSON。我花了一天时间在谷歌上搜索,似乎找不到任何关于如何向服务器添加 BSON 序列化/反序列化功能的示例。我遇到了几篇关于如何在全框架 ASP.NET 上执行此操作的文章,其中包含开箱即用的内容已有好几年了(例如:https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/bson-support-in-web-api-21 和 http://www.strathweb.com/2012/07/bson-binary-json-and-how-your-web-api-can-be-even-faster/),但与此无关特别是 ASP.NET Core。
我搜索了 VS 生成的源代码文件,希望能找到与我链接的全框架示例类似的东西,但没有什么能引起我的注意,因为它们几乎没有相似之处。有人可以发布(或链接到)一些代码来说明这是如何在 ASP.NET Core 中完成的吗?非常感谢您提前。
【问题讨论】:
【参考方案1】:您可以使用此格式化程序:https://github.com/WebApiContrib/WebAPIContrib.Core
然后在startup.cs处添加:
using WebApiContrib.Core.Formatter.Bson;
namespace MyApp
public class Startup
public void ConfigureServices(IServiceCollection services)
services.AddMvc()
.AddBsonSerializerFormatters();
【讨论】:
非常感谢您。但是,我很惊讶地看到为此需要安装另一个模块化包。 ASP.NET Core 不支持开箱即用的 BSON 序列化吗?还是这是对 .NET Core 的“官方”BSON 支持? .net core 2.0 将支持 BinaryFormatter:github.com/dotnet/corefx/pull/10144 @FabriDamazio 2.0 已经发布,那么现在BinaryFormatter
如何启用 BSON?
@HappyNomad 也许你可以在这里找到一些东西:docs.microsoft.com/en-us/dotnet/standard/serialization/…
@FabriDamazio 谢谢,看起来很有趣。但至少在我的情况下,二进制序列化不是 BSON 的替代品。以上是关于如何在我的 ASP.NET Core Web API 中启用 BSON 序列化?的主要内容,如果未能解决你的问题,请参考以下文章
Asp.Net Core Web API 应用程序:如何更改监听地址?
如何在Asp.net Core的登录过程中为“记住我”设置单个cookie超时?
在 ASP .NET Core 2.1 Web Api 中启用 CORS