我目前正在使用ScriptService屬性啓用對我的Web服務的JSON調用。問題是我的一個類引用了第二個類,而.Net並沒有爲第二個類拾取和寫出JavaScript。將特定.net對象公開爲JSON
作爲解決方法,我可以編寫一個只返回第二個類的虛擬方法。然後,.Net寫入JSON以允許它被序列化。因此,在下面的例子:
[ScriptService]
public class MyService : WebService {
[WebMethod]
public void SaveClass1(Class1 class1) {
...
}
}
[Serializable]
public class Class1 {
public Class2 class2 { get; set; }
}
[Serializable]
public class Class2 {
}
MyService.asmx/JS不會寫代碼,讓我來實例化的Class2爲了讓我來填充的Class1。但我可以讓它工作,如果我添加:
[WebMethod]
public Class2 Dummy() {
return new Class2();
}
我的服務。任何替代我的討厭解決方法將不勝感激。
XmlInclude用於包括在WSDL服務描述派生類型。在這個問題中,Class2不是從Class1派生出來的,服務器生成JavaScript代碼而不是WSDL服務描述。改用GenerateScriptTypeAttribute。 – 2009-02-24 08:31:34