首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将通用列表传递给WCF?

如何将通用列表传递给WCF?
EN

Stack Overflow用户
提问于 2015-02-19 14:42:53
回答 2查看 610关注 0票数 0

我正在尝试从我的服务中获取一个复杂的对象。我的PackedObject班通过得很好。但当我试图让List<PackedObject>什么事都没有发生。如何通过WCF?传递泛型列表

下面是一个源代码:

我的界面

代码语言:javascript
复制
 [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);

    ...
}

填充对象

代码语言:javascript
复制
  [DataContract]
public class PackedObject
{
    [DataMember]
    private String _objTypeName;

    [DataMember]
    private Guid _id;

    [DataMember]
    private Dictionary<string, object> _fields = new Dictionary<string,object>();
    ...
}

接口实现:

代码语言:javascript
复制
    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;
    }
EN

回答 2

Stack Overflow用户

发布于 2015-02-20 17:18:50

我认为问题在另一个地方。在调试过程中,我发现DataContractSerializer拒绝在字典中使用null值序列化PackedObject

票数 0
EN

Stack Overflow用户

发布于 2015-02-19 14:58:11

  1. 尝试将类序列化。
  2. 在客户端键入强制转换结果。

希望这两位能解决你的问题。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28609184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档