自动修剪入站WCF消息中的字符串

时间:2011-03-04 22:14:38

标签: .net wcf deserialization

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

我尝试过使用IDataContractSurrogate,但GetDeserializedObject没有调用字符串反序列化。

是否有另一种方法可以挂钩DataContractSerializer,这样我就可以修改字符串而无需大量反射?

1 个答案:

答案 0 :(得分:0)

  1. 您可以通过实现IXMLSerializable来实现此目的。完成此question。当然,您需要实现ReadXml操作。

  2. 什么阻止你在检查参数的同时施放物体并更新它?

  3. 如果您认为特定的.Net消费者使用该服务,您可以创建一个wcf服务客户端,向其添加修剪逻辑并进行分发(以便消费者可以直接使用客户端而不是创建代理您的服务)。一方面影响是你必须在合同发生变化时重新分配客户端dll。