在ASP.NET应用程序中使用Web服务时,如何仅序列化选定的属性

时间:2009-10-07 06:34:54

标签: web-services serialization asp.net-ajax

在大多数情况下,我们在基于AJAX的Web应用程序中使用ASP.NET Web服务(System.Web.Script.Services.ScriptService)。这种方法带来了一个主要优势,即以客户端方式自动提供所有服务器端类(在Web服务方法中使用),以JavaScript替代方式(具有适当命名空间的JavaScript类)。

但是,在我们的应用程序中,我们正在使用基于第三方框架的类。这些类继承了许多不可序列化的属性,这使得它们无法用于自动Web服务序列化为JSON,并且一旦发送到客户端就不可用。

有没有办法定义要序列化为JSON并返回(一旦发送到客户端并返回)适当类的属性列表?

1 个答案:

答案 0 :(得分:2)

我能想到两种方法:

  1. 将您的第三方课程包装在您的 你可以控制自己的课程 什么属性暴露给 串行器。这有好处 它应该允许你暴露 任何Web服务的数据 实现(例如JSON,XML)。

  2. 创建JavaScriptConverter 让你实现的类 自定义序列化和 反序列化第三方 类。