如何解决当DataContracts具有继承层次结构时,向WCF服务发送JSON消息
|| 我有一个为JSON配置的wcf Web服务。但是我的数据合同具有继承链。我有一个称为RequestMessage的数据契约,还有两个其他的数据契约,例如Derived1和Derived2,它们是从RequestMessage派生的。我的服务合同中有一个服务操作,类似于此BaseResponse GetResult(BaseRequest request)。我正在用KnownTypes装饰服务合同。与basicHttpBinding(任何基于SOAP的绑定)一起使用时,这可以很好地工作。传递JSON消息时,这也行吗? 当我发送任何Derived1或Deerived2 JSON对象时,该服务是否能够识别对象的正确类型?解决方法
您显然正在使用多态类型。用于WCF的Microsoft的JSON使用非标准扩展名,它们在称为“ 0”的字段中添加类型信息。如果添加此字段,则可能会起作用。
有关必须在“ 0”键上输入什么值的详细信息,可以在此MSDN页面上的“高级信息”部分中找到。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。