gpt4 book ai didi

WCF 接口(interface)和派生类

转载 作者:行者123 更新时间:2023-12-04 21:38:21 25 4
gpt4 key购买 nike

我有一个 WCF 服务,并且必须将接口(interface)公开为数据契约(Contract)。该接口(interface)有两个派生类。
WCF 服务将返回派生类型的对象。客户端必须将其转换为派生类。在客户端这可能吗?我应该采取什么方法。

最佳答案

如果您有派生类,则需要在数据契约(Contract)上“宣传”这些类:

[DataContract]
[KnownType(typeof(DerivedType1))]
[KnownType(typeof(DerivedType2))]
public class BaseType
{
......
}

或者您也可以在服务契约(Contract)上指定这些类型的关系:
[ServiceKnownType(typeof(DerivedType1))]
[ServiceKnownType(typeof(DerivedType2))]
[ServiceContract()]
public interface IService
{
[OperationContract]
BaseType GetItems();
}

查看 Data Contract Known Types 上的 MSDN 文档或 Service Known Types了解更多背景信息。

关于WCF 接口(interface)和派生类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com