c# – 如何在WCF中访问继承的对象属性?
发布时间:2020-12-15 21:22:32 所属栏目:百科 来源:网络整理
导读:案例是: [ServiceContract]public interface IInfo{ [DataMember] int Id{get;set;}}[DataContract][KnownType(typeof(Legal))]public class Info{ [DataMember] public int Id { get; set; }}[DataContract]public class Legal : Info{ [DataMember] publi
案例是:
[ServiceContract] public interface IInfo { [DataMember] int Id{get;set;} } [DataContract] [KnownType(typeof(Legal))] public class Info { [DataMember] public int Id { get; set; } } [DataContract] public class Legal : Info { [DataMember] public string ManagerName { get; set; } } [ServiceContract] [ServiceKnownType(typeof(Legal))] public interface IMyService { [OperationContract] int DoWork(Info dto); } [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class MyService : IMyService { public int DoWork(Info dto) { string name; if (dto is Legal) name = (dto as Legal).ManagerName; return dto.Id; } } 是否可以将dto视为Legal类型并且可以访问子属性? 我想存储dto,我不想为每个信息子项提供很多服务. 将泛型传递给服务不起作用,wsdl错误, 解决方法
我将json作为dto传递给MyService.
如果我添加“__type”:“Legal:#Dto”,MyService会将dto识别为Legal. 然后(dto as Legal).ManagerName有价值 这个解决方案正在工作,实际上传递__type并不方便.我会感谢您提出更好的建议. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |