0

我想修剪入站 WCF 消息中的所有字符串,这样我就不必担心在所有操作中修剪它们。我可以通过IParameterInspector很多微妙的反射逻辑来实现这一点,但似乎必须有更好的方法。

我曾尝试使用IDataContractSurrogate,但GetDeserializedObject不会调用字符串反序列化。

是否有另一种方法可以连接到 DataContractSerializer 让我修改字符串而无需大量反射?

4

1 回答 1

0
  1. 您可以通过实现 IXMLSerializable 来做到这一点。通过这个问题。当然,您需要实现 ReadXml 操作。

  2. 是什么阻止您在检查参数时投射对象并更新它?

  3. 如果您认为该服务由特定的 .Net 消费者使用,您可以创建一个 wcf 服务客户端,将您的修剪逻辑添加到它并分发它(以便消费者可以直接使用客户端,而不是为您的服务创建代理)。这样做的一个副作用是,每当合同发生变化时,您都必须重新分发客户端 dll。

于 2011-03-05T11:25:06.067 回答