WCF経由でネットワーククライアントにデータを提供し、データベースといくつかの特定のタスクへの接続を処理するバックエンドサービス(Windowsサービス)を作成しました。WCFサービス参照を更新していません
いつもDTO-Objectsで何かが変更されたとき、私はサービス参照を更新するときにクライアント側で正しく変更が加えられました。
ただし、Update-Processでは、WCFサービスの正しいプロキシが作成されません。 いくつかのDTOオブジェクトを追加すると、新しいDTOがクライアントに正しく更新されますが、既存のDTOオブジェクトにいくつかのPropertiesを追加すると、Update-Servicereference関数には新しいPropertiesが含まれません。 私はすでに完全に新しいアプリケーションを作成し、このテストシナリオ内でサービスリファレンスを追加しようとしましたが、この場合も新しいプロパティはプロキシクラスには表示されません。
初めてこの現象が私の "File.cs" DTOに新しいプロパティを作成しようとしていたことがわかりました。私はこのエラーを作成する名前 "ファイル"(クラス定義が同じ名前を持っている)と思った。だから、私は "ファイル" DTOクラスの名前をAttachmentFileに変更することに決めました。新しいプロパティはプロキシ上に正しく作成されます。
しかし、今度は、クラスのDeviceStayTypeとProcessStateTypeにPropertiesを追加しようとしましたが、同じ動作です。エラーは表示されず、Gitは私がUpdate Service-Referencesを押したときにプロキシが変わったと言っていますが、依然としてクライアント側にはプロパティがありません。
古いDeviceStayTypeクラス:
[DataContract]
public class DeviceStayType : TypesBase
{
}
新しいDeviceStayTypeクラス:
[DataContract]
public class DeviceStayType : TypesBase
{
[DataMember(Name = "TableName")]
[MaxLength(200)]
public string TableName { get; set; }
}
DeviceStayType
用に生成されたプロキシ[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "4.0.0.0")]
[System.Runtime.Serialization.DataContractAttribute(Name="DeviceStayType", Namespace="http://schemas.datacontract.org/2004/07/ProductLifecycle.Backend.Models.DTO")]
[System.SerializableAttribute()]
public partial class DeviceStayType : ProductLifecycle.Frontend.CommunicationService.TypesBase {
}
ここ
は、いくつかのスニペットです
誰も助けてくれることを願っています。( ありがとう、 マイケル
サービス参照をもう一度削除して再作成 – Rahul
これは私がこの問題を解決するための最初の試みの1つでした。どのように私は悲しい:私はすべての新しいアプリケーションを作成し、同じサービスに参照を追加する場合propertysも欠けている。新しいDTOクラスを作成したときだけ、MEXは新しいオブジェクトをクライアントに配信します – Michael