我已經開始在VS2005中開發一個新的Web服務。只有一個方法:C#web服務...返回嵌套的自定義對象
[WebMethod]
[XmlInclude(typeof(Person))]
public PersonAction GetAction()
{
PersonAction action = new PersonAction();
return action;
}
其中PersonAction
類包含一個Person
類
[Serializable]
public class PersonAction
{
private string actionName = "XAction";
private Person person1;
private Person person2;
public PersonAction()
{
this.person = new Person();
this.person.Name = "P1";
}
public string Name
{
get
{
return this.actionName;
}
}
[XmlElement(Type = typeof(Person))]
public Person Person1
{
get
{
return this.person1;
}
}
}
我已經建立了它,運行它參照的場......但WSDL它總是包含空標記PersonAction
...沒有嵌入類型的定義可用,所以我在客戶端總是空。
XmlElement
,XmlInclude
,[Serializable]
顯然沒有任何效果...
我相信我想念的東西。
肯定有人在過去遇到過這個問題,並且知道解決方案。我真的很感謝VS2005(.NET 2.0)的任何代碼,這將有所幫助。
謝謝
我可以看到,在將所有私有字段更改爲公共後,它就可以工作......但是,如果公共屬性引用私有字段,那麼爲什麼公共屬性未被序列化呢? – Learner 2009-11-11 14:30:53