WCF-从接口继承的DataContract
我有一个datacontract作为我的WCF接口的一部分,它继承自IIdentity:WCF-从接口继承的DataContract,wcf,interface,datacontract,Wcf,Interface,Datacontract,我有一个datacontract作为我的WCF接口的一部分,它继承自IIdentity: [DataContract] public class AuthenticationIdentity : IIdentity { //implements IIdentity... } 服务返回我的AuthenticationIdentity对象很好。但是,当我尝试在客户机上执行明显的强制转换时: AuthenticationIdentity aId = client.GetID(); I
[DataContract]
public class AuthenticationIdentity : IIdentity
{
//implements IIdentity...
}
服务返回我的AuthenticationIdentity对象很好。但是,当我尝试在客户机上执行明显的强制转换时:
AuthenticationIdentity aId = client.GetID();
IIdentity id = aId;
我接到一个投诉说身份认证不能被转换成身份认证。我已尝试将ServiceKnownTypes添加到界面:
[ServiceKnownType(typeof(AuthenticationIdentity))]
[ServiceKnownType(typeof(IIdentity))]
但还是没有运气。有什么想法吗?如果您控制导线的两侧(因为您想强制转换为
IIdentity
),您可以从共享程序集中引用DataContract
。然后您可以在服务和消费者之间使用。或者,如果您想完全删除svcutil,您可以编写自己的代理来使用共享程序集