0

WCF サービス クライアントの型の名前を変更する方法はありますか?

たとえば、2 つのバージョン (V1 と V2) のサービスがあります。バージョンごとに同じモデル (Model1 と Model2) がありますが、バージョンが変更されています (そのため、Model1V1、Model1V2 などに名前を変更しました)。

両方のサービスのクライアントで、モデル タイプを Model1 と Model2 として扱いたいと考えています。

操作契約の名前を変更できることはわかっています。

[ServiceContract]
public interface ServiceV1
{
    [OperationContract]
    Model1V1 SomeOp(Model2V1 arg);
}

[ServiceContract]
public interface ServiceV2
{
    [OperationContract]
    Model1V2 SomeOp(Model2V2 arg);
}

[DataContract]
public class Model1V1
{
    ...
}
[DataContract]
public class Model2V1
{
    ...
}
[DataContract]
public class Model1V2
{
    ...
}
[DataContract]
public class Model2V2
{
    ...
}
4

1 に答える 1

1

クライアントがWSDL/MEXから生成される場合、これは次のように単純である必要があります。

[DataContract(Name = "Model1")]
public class Model1V1
{ ...

クライアントがアセンブリ共有を使用している場合、それは実行できません、AFAIK。

于 2012-09-24T06:34:27.797 に答える