【发布时间】:2010-09-02 17:39:31
【问题描述】:
我有一些公共静态 WebMethods,我使用 Javascript(直接)访问,通常通过 jQuery。这行得通,我对结果很满意(而且不必处理 AJAX 框架)。
我想做的是定义我自己的 mock-JSON 对象在 JS 和 ASP 之间传递(这是一个 .NET 2.0 Web 项目、CS 和 VB,我还引用了 3.5当我需要 3.5 服务时的非 Web 项目)。但是我遇到了很多问题:
- 我无法指定 [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 中使我自己的类可序列化?
【问题讨论】:
标签: asp.net serialization