更改默认的JSON Serializer

时间:2012-10-23 20:30:35

标签: asp.net web-services

ASP.NET默认的json序列化程序很慢,而且我需要很多性能,所以我想使用ServiceStack.Text Serializer,是否有一种方法可以使用该序列化程序而不是默认的那个?

如果我向我的ASMX文件发送JSON请求,并返回一个对象,它将使用Microsoft的慢速实现将其序列化。

我想我总是可以返回一个字符串,并手动序列化,但我只是想知道它是否可能。

1 个答案:

答案 0 :(得分:3)

点击此链接:http://msdn.microsoft.com/library/bb763183%28v=vs.100%29.aspx

基本上,您需要将自定义转换器放在web.config上的配置标记中:

<configuration>
  <system.web.extensions>
    <scripting>
      <webServices>
        <jsonSerialization maxJsonLength="50">
          <converters>
            <add name="MyCustomConverter" 
              type="MyCompany.ConvertersNameSpace.MyTypeConverter"/>
          </converters>
        </jsonSerialization>
      </webServices>
    </scripting>
  </system.web.extensions>
</configuration>

由于JavascriptSerializer需要告知支持哪些类,我认为asp.net将假设您的序列化器而不是默认的序列化器。