【问题标题】:Service Fabric IServiceRemotingRequestMessageBody Iterate ParametersService Fabric IServiceRemotingRequestMessageBody 迭代参数
【发布时间】:2019-09-28 03:48:45
【问题描述】:

已编辑自定义类型的名称,而不是直接的服务结构接口。

我正在尝试编写一个能够询问传递给远程服务的参数的拦截器。一旦 IServiceRemotingRequestMessage 到达服务并能够提取参数,我就可以拦截它,但前提是我当时知道参数的位置和名称。 [伪] var someParam = IServiceRemotingRequestMessageBody.GetParameter(0, "request", serviceRequestInfo.RequestMessage.GetBody().GetType());

我需要的是一种简单地迭代参数并直接使用它们的方法(目前只是将它们序列化为一个字符串,这样我就可以记录一些正在传递的信息)。但是,IServiceRemotingRequestMessageBody 只公开了一个必须传递索引和名称的 GetParameter 方法……

考虑到方法名称和服务合同,我也许可以做一些反思工作,但我希望有一种更直接的方法可以直接得到它。

感谢您的任何提示, 会

【问题讨论】:

    标签: azure azure-service-fabric


    【解决方案1】:

    使用默认序列化可能有更简单的方法,但我目前解决它的方法是用 JSON 序列化替换 Service Fabric 序列化提供程序。然后,我的拦截器可以根据需要使用 JSON 数据。

    我假设有一种方法可以对默认序列化执行类似的操作,但如果是这样,则没有明确记录如何使用它。如果有人提出一个选项,我很乐意试一试。

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 2017-07-10
      • 2017-09-08
      • 2019-01-28
      • 2017-05-04
      • 2019-11-30
      • 2017-05-31
      • 2018-02-07
      • 2019-02-24
      相关资源
      最近更新 更多