.NET 4.0 WCF Web サービスを作成し、内部サーバーに配置しました。
現在、Web サービスを照会する単純なプロジェクトでこれをテストしています。
しかし、すべてのプロパティ名にk_BackingField文字列が追加されていることがわかりました。
[System.Runtime.Serialization.DataMemberAttribute(Name="<WoNumber>k__BackingField", IsRequired=true)]
public string WoNumberk__BackingField {
get {
return this.WoNumberk__BackingFieldField;
}
set {
if ((object.ReferenceEquals(this.WoNumberk__BackingFieldField, value) != true)) {
this.WoNumberk__BackingFieldField = value;
this.RaisePropertyChanged("WoNumberk__BackingField");
}
}
}
このk_BackingFieldパラメーターを検索したところ、このリンクが私の最良のリファレンスであることがわかりました。
シリアライザーに k__backingfield を置かないように命令する方法
どうやら、DataContractSerializerの代わりにXmlSerializerを使用したようです。
私が見つけられないように見えるのは、XmlSerializationを「元に戻す」方法とDataContractSerializerを有効にする方法です。
私のプロジェクトでは、プロジェクト全体で次の XML キーワードを検索しようとしましたが、それらはプルされていないようです。
- XmlSerializerFormat
- System.Xml.Serialization
- XmlSerialzer
XmlSerializationを削除してから、 DataContractSerializerを使用してサービス参照を再度追加する方法を知っている人はいますか?
または、WCF サービスを変更して、必要なシリアライザーを公開する必要がありますか?