2011-03-04 62 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。