【发布时间】:2015-11-04 14:25:32
【问题描述】:
我有一个调用另一个 asmx webservice 的 WCF 项目。当我将 asmx webservice 添加到 wcf Project 时,它生成了一些类。现在我想将这些类作为 DataContract 和 DataMembers 公开给我的 WCF 服务。我真的很想在没有太多重复的情况下实现这一目标。
到目前为止,我尝试了什么 当我将生成的类作为属性 (DataMember) 添加到现有 DataContract 时,调用 WCF 服务的客户端将成员视为 variableNameField。我真的不想看到这些私有变量的字段,但我想看到真实的属性。
WCF 项目合同长这样
[DataContract]
public partial class Person
{
[DataMember]
public string FirstName { get; set; }
[DataMember]
public PersonPay PersonPay {get;set;}
}
wsdl 在 wcf 项目中从 asmx Web 服务 wsdl 生成代码
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.34234")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://tempuri.org/")]
public partial class PersonPay : object, System.ComponentModel.INotifyPropertyChanged {
private double salaryField;
[System.Xml.Serialization.XmlElementAttribute(Order=0)]
public bool Salary{
get {
return this.salaryField;
}
set {
this.salaryField= value;
this.RaisePropertyChanged("Salary");
}
}
}
【问题讨论】:
标签: c# web-services wcf asmx datacontract