加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – WCF事件顺序

发布时间:2020-12-15 21:22:56 所属栏目:百科 来源:网络整理
导读:我需要在WCF中以略微不寻常的方式挂钩事件. 我将模型从客户端传递到服务器,我需要访问该模型: 模型创建后但是 在将传入数据实际反序列化为该模型之前 原因是我实际上有条件的反序列??化事件,理想情况下我希望条件本身是对象的属性;因此,我有这样的模式: cr
我需要在WCF中以略微不寻常的方式挂钩事件.

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

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

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

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

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

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

有任何想法吗?

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

解决方法

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读