我正在尝试从我的服务中获取一个复杂的对象。我的PackedObject班通过得很好。但当我试图让List<PackedObject>什么事都没有发生。如何通过WCF?传递泛型列表
下面是一个源代码:
我的界面
[ServiceContract(SessionMode = SessionMode.Required, CallbackContract=typeof(ICallbackInterface))]
public interface IManager
{
...
[OperationContract(IsOneWay = false, IsInitiating = false, IsTerminating = false)]
List<PackedObject> GetByQuery(string typeName, string query);
[OperationContract(IsOneWay = false, IsInitiating = false, IsTerminating = false)]
PackedObject GetFirstByQuery(string typeName, string query);
...
}填充对象
[DataContract]
public class PackedObject
{
[DataMember]
private String _objTypeName;
[DataMember]
private Guid _id;
[DataMember]
private Dictionary<string, object> _fields = new Dictionary<string,object>();
...
}接口实现:
public List<PackedObject> GetByQuery(string typeName, string query)
{
ServerTableManager stm = getTableManager(typeName);
List<DataRow> ldr = stm.GetByQuery(query);
List<PackedObject> lpo = PackedObject.Pack(ldr,typeName);
//PackedObjectList pol = new PackedObjectList(lpo);
return lpo;
}发布于 2015-02-20 17:18:50
我认为问题在另一个地方。在调试过程中,我发现DataContractSerializer拒绝在字典中使用null值序列化PackedObject。
发布于 2015-02-19 14:58:11
希望这两位能解决你的问题。
https://stackoverflow.com/questions/28609184
复制相似问题