ASP中的自定义对象序列化?

时间:2010-09-02 17:39:32

标签: asp.net serialization

我有一些公共静态WebMethods,我通过Javascript(直接)访问,通常通过jQuery。这是有效的,我对结果感到满意(并且不必处理AJAX框架)。

我希望能够做的是定义我自己的mock-JSON对象以在JS和ASP之间传递(这是一个.NET 2.0 Web项目,CS和VB,我也引用了一个3.5我需要3.5服务时的非网络项目)。但我遇到了很多问题:

  • 我无法指定[DataContract],它告诉我我可能错过了一个程序集。
  • 我无法弄清楚如何使用ISerializable接口,也不知道它是否能解决我的问题。具体来说,当我使用JavaScriptSerializer时,通过GetObjectData添加东西似乎并没有蹲下;我总是得到“{}”。
  • 使用[Serializable]标记我的课程似乎没有做任何事情。
  • 我真的不知道还有其他什么选择。

一些代码:

[Serializable]
public class MyClass : ISerializable
{
    void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
    {
        info.AddValue("test", "contents");
    }
}

// in my ASP page
MyClass tmp = new MyClass();
JavaScriptSerializer s = new JavaScriptSerializer(); // System.Web.Script.Serialization.JavaScriptSerializer, to be specific.
s.Serialize(tmp) // "{}" whether here, or by returning a MyClass instance from my WebMethod function (as Object, MyClass, etc.)

我是CS / VB和.NET的新手,所以请原谅我,如果我遗漏了一些非常明显的东西,那就是为什么我在网上找不到任何东西^^;

所以,我明确提出的问题是:如何使用WebMethods在ASP中将我自己的类序列化?

1 个答案:

答案 0 :(得分:0)

您是否考虑过创建WCF服务?它具有开箱即用的json序列化。