2011-03-04 42 views
0

我希望修改入站WCF消息中的所有字符串,以便我不必担心在我的所有操作中修剪它们。我可以用IParameterInspector和许多微妙的反射逻辑来完成这个工作,但似乎必须有更好的方法。自动修剪入站WCF消息中的字符串

我已经使用IDataContractSurrogate试过,但GetDeserializedObject不会被调用字符串反序列化。

是否有另一种方法挂钩到DataContractSerializer中,让我可以修改字符串而不进行大量反射?

+0

从维护的角度来看声音很危险。但这听起来很有趣,我喜欢过着危险的生活。 – Amy 2011-03-04 22:31:54

回答

0
  1. 您可以通过实现IXMLSerializable来实现。通过这个question。当然,你需要实现ReadXml操作。

  2. 什么阻止你在检查参数时抛出对象并更新它?

  3. 如果您认为该服务被特定的.Net客户使用,您可以创建一个wcf服务客户端,为其添加修剪逻辑并分发它(以便客户可以直接使用客户端而不是创建代理到您的服务)。一方面会影响到这一点,只要合同发生变化,您就必须重新分配客户端DLL。