gpt4 book ai didi

WCF - 从接口(interface)继承的 DataContract

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

我有一个数据契约(Contract)作为我的 WCF 接口(interface)的一部分,它继承自 IIdentity:

 [DataContract]
public class AuthenticationIdentity : IIdentity
{
//implements IIdentity...
}

该服务返回我的 AuthenticationIdentity 对象就好了。但是,当我尝试对客户端进行明显的转换时:
AuthenticationIdentity aId = client.GetID();
IIdentity id = aId;

我收到一条投诉,称 AuthenticationIdentity 无法转换为 IIdentity。我尝试将 ServiceKnownTypes 添加到界面:
[ServiceKnownType(typeof(AuthenticationIdentity))]
[ServiceKnownType(typeof(IIdentity))]

但仍然没有运气。有任何想法吗?

最佳答案

如果您控制电线的两侧(因为您想转换为 IIdentity ,所以看起来像您这样做),您可以引用您的 DataContract来自共享程序集。然后你可以使用 svcutil to share the DataContracts在服务和消费者之间。或者,如果您想完全删除 svcutil,您可以编写自己的代理来使用共享程序集。

关于WCF - 从接口(interface)继承的 DataContract,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958838/

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