我使用Validation Application Block - Enterprise Library來驗證發送到我的WCF服務操作的參數。例如,某些操作需要的參數,要麼是1或6,像這樣:WCF ValidationFault
[OperationContract(Name="GetEmployeesByRegion")]
[FaultContract(typeof(ValidationFault))]
List<Employees> GetEmployeesByRegion([DomainValidator(1,6)]int regionId);
但即確認故障發生時,當服務客戶機調用這一切正常,一個通用的系統.ServiceModel.FaultException被拋出。該消息指示:「此故障的創建者未指定原因。」
現在,我可以在服務cal之前自己檢查參數,並引發自定義錯誤,但似乎使用驗證應用程序塊阻止了基於屬性的參數驗證目的。無論如何要定製驗證錯誤返回的錯誤?我也有可能做一些完全錯誤的事情。我只是希望調用者知道他/她應該在異常消息中傳遞1或6。這可能嗎?
我有同樣的問題,你有沒有找到解決辦法? – Iron 2014-07-02 11:59:29