微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – WCF事件顺序

我需要在WCF中以略微不寻常的方式挂钩事件.

我将模型从客户端传递到服务器,我需要访问该模型:

>模型创建后但是
>在将传入数据实际反序列化为该模型之前

原因是我实际上有条件的反序列​​化事件,理想情况下我希望条件本身是对象的属性;因此,我有这样的模式:

create object->set property->deserialize the rest of the object based
on that property

WCF中是否有可以为此事件挂钩的事件?我有一个属性设置挂钩到“IOperationBehavior”和“IParameterInspector”设置,但那些(据我所知)不具有挂钩在创建和反序列化事件之间的动作.

或者,如果我可以保证它将是第一个反序列化的属性,那么我可以通过一种方式修改来自网络的数据并明确地将该属性添加到传入数据中.

有任何想法吗?

[编辑]
请注意,我在这里使用JSON作为数据传输,而不是真正对最终解决方案产生影响.

解决方法

理论上,您可以实现嵌套包络,其中传递给WCF服务的实际数据包含一个类(包络),该类具有确定如何反序列化所需的数据以及包含序列化格式的实际数据的字节数组.然后,您可以手动管理字节数组的反序列化.

似乎可能有更好的方法,但我做过类似的事情而且工作正常.

编辑:也许一个IDispatchMessageInspector是正确的地方挂钩?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐