我有一个看起来像这样的 WCF 服务
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Xml)]
CompositeType GetCompositeTypeForUser(int userid);
...使用看起来像这样的 CompositeType 对象:
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public List<string> stuffAroundMe = new List<string>();
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
每当我调用我的服务时,我都会返回一组描述特定 CompositeType 的 XML 数据。有没有办法让客户端返回一个 CompositeType 对象,而不必解析一堆 XML 并手动创建一个新的 CompositeType 对象?
此外,我的代码既存在于 Visual Studio 上的 C# 中,也存在于 Android 应用程序上的 Java 中(实际调用 Web 服务的代码)。当我可以控制从双方传递的对象时,有没有办法避免解析大量 xml?