无法从客户端为成员合同中嵌入的Datacontract数据成员设置值

时间:2012-01-18 05:29:25

标签: c# wcf

我有

下的留言合约
 [MessageContract]
    public class PartnerLogViewRequest
    {
        [MessageBodyMember(Order = 0)]
        public PartnerLogView PartnerViewLog { get; set; }
    }

数据合同如下

[DataContract]
    public class PartnerLogView
    {
        public int PartnerViewLogId { get; set; }
        public string URL { get; set; }
        public string ClientIPAddress { get; set; }
        public DateTime CreationDate { get; set; }
    }

因此,数据合同将作为消息合同中的属性公开。

现在我已经创建了客户端代理。并且想要访问数据合同的属性但不能......

我的尝试

 PartnerLogViewRequest request = new PartnerLogViewRequest();
 request.PartnerViewLog.ExtensionData

而不是出现属性,一些“ExtensionData”即将到来......

我缺少什么以及如何为 PartnerLogView 的属性指定值?

提前致谢

1 个答案:

答案 0 :(得分:1)

您缺少[DataMember]属性。我不确定您是否在查询中错过了它,但您还没有为PartnerLogView创建一个对象。

PartnerLogView partnerLogView = new PartnerLogView();

partnerLogView.PartnerViewLogId =0;
...
...

PartnerLogViewRequest request = new PartnerLogViewRequest();
request.PartnerViewLog=partnerLogView;