C# 无法从客户端为嵌入在成员协定中的Datacontract的数据成员设置值
我有一个消息合同如下C# 无法从客户端为嵌入在成员协定中的Datacontract的数据成员设置值,c#,wcf,C#,Wcf,我有一个消息合同如下 [MessageContract] public class PartnerLogViewRequest { [MessageBodyMember(Order = 0)] public PartnerLogView PartnerViewLog { get; set; } } [DataContract] public class PartnerLogView { public in
[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; }
}
以及根据
[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的属性赋值
提前感谢您缺少[DataMember]属性。我不确定您在查询中是否遗漏了它,但您尚未为PartnerLogView创建对象
PartnerLogView partnerLogView = new PartnerLogView();
partnerLogView.PartnerViewLogId =0;
...
...
PartnerLogViewRequest request = new PartnerLogViewRequest();
request.PartnerViewLog=partnerLogView;
尝试将
[DataMember]
属性置于PartnerLogView
类的public
属性上,然后重试。谢谢Amar..我这样做了,效果很好