2

そのような単純なwcfサービスがあると仮定します

[DataContract]
public enum VMType : int
{
    [EnumMember]
    Unknown = 0,

    [EnumMember]
    Virtual = 1,

    [EnumMember]
    Physical = 2,
}

[DataContract]
public class ClientRequest
{
    [DataMember]
    public string Code { get; set; }

    [DataMember]
    public VMType VMType { get; set; }
}

[ServiceContract]
public interface IService
{
    [OperationContract]
    int GetStatus(ClientRequest request);
}

列挙型VMTypeを次のように変更した場合

public enum VMType : byte
{

これは重大な変更と見なされますか? 古い W​​CF クライアントは引き続き新しいサービス ホストに接続できますか?

データ コントラクトの列挙型に従って

通常、データ コントラクトには、数値ではなく、列挙メンバー名が含まれます

4

1 に答える 1

1

これは重大な変更と見なされますか?

はい。これによりシリアライゼーションが変更されますが、これは重大な変更になります。

古い W​​CF クライアントは引き続き新しいサービス ホストに接続できますか?

これは、接続のタイプに大きく依存します。特に、データのマッピングにどのシリアライザーが使用されているかによって異なります。使用されているバインディングによっては、これが機能する場合と機能しない場合があります。

于 2012-08-13T16:29:32.907 に答える