zoukankan      html  css  js  c++  java
  • Replace JSON.NET with ServiceStack.Text in ASP.NET Web API

    Because ServiceStack.Text performs much better

    I recently stumbled across a comparison of JSON serialization libraries. which shows that ServiceStack.Text by far outperforms any of the competitors. Indeed, the folks down at ServiceStack have been building a lot of great stuff for the past few (4?) years to facilitate their framework.
    ServiceStack.Text is available on Nuget and can be used outside of ServiceStack, within any .NET project, so why not use it with Web API, replacing the default serializer, JSON.NET?

    Let’s do that.

    Creating a ServiceStack.Text MediaTypeFormatter

    Typically, whenever you want to introduce a new serialziation mechanism to ASP.NET Web API, you’d create a new MediaTypeFormatter. This case is no different. Let’s grab ServiceStack.Text from Nuget:

    Once you have it refrenced in your solution, the formatter is pretty straight forward:

    We tell the formatter a few things:
    – we will support application/json media type
    – we support UtF-8 and Unicode encoding
    – Read and Write is available for all types of objects
    – we tell ServiceStack to handle dates as ISO8601, to avoid JSON dates with Unix Epoch milliseconds (read more here)
    – in the read/write methods we simply asynchronously call the respective methods of the ServiceStack.Text.JsonSerializer

    Replacing JSON.NET

    Now, in order to wire this up, we need to remove the default JSON formatter (JSON.NET) and inject our new formatter into the GlobalConfiguration.Formatters collection.

    And that’s it!

    From now your ASP.NET Web API application will be using ServiceStack.Text, a serializer which benchmarks show is almost 2x faster than JSON.NET. In all fairness, that’s one of the micro optimizations, but still, if you can improve something, why not do that?

    Be Sociable, Share!
  • 相关阅读:
    (转)C#调用默认浏览器打开网页的几种方法
    (链接)打印相关_.NET打印小资料
    (推荐)WPF动画教程
    (转)C# 打印PDF文件使用第三方DLL
    问题解决_(转载)在VisualStudio 2012上使用MVC3出现错误的解决办法
    分布式集群
    关于集群并发问题
    关于分布式事务的处理
    分布式与集群理解之部署结构
    分布式与集群理解
  • 原文地址:https://www.cnblogs.com/tonykan/p/3963859.html
Copyright © 2011-2022 走看看