2012-05-31 54 views
1

通常您使用if-then-throw模式或代碼合同檢查公共方法中的傳入參數。
我的問題是,我應該如何驗證在我的WCF服務中傳遞的參數?例如,我有以下的合同:
我應該如何驗證傳入我的WCF服務的參數?

[OperationContract] 
Stock GetStock(string symbol); 

我想確保symbol參數不null或空字符串。我應該在服務端使用相同的if-then-throw模式或代碼合同前提條件嗎?我是否應該將FaultContract屬性添加到GetStock方法並向客戶端返回錯誤? WCF服務的最佳參數驗證技術是什麼?

回答

3

企業庫Validation Application Block有一個專爲此設計的適配器integration with WCF

CodeProject Introduction是有點舊,但比MSDN鏈接給出更多的背景。

+0

'Data Annotaion'能做這份工作嗎? – Lijo

+0

您可以使用它進行驗證,但它可以使用與WCF不同的技術堆棧。 System.ComponentModel.DataAnnotations用於ASP.NET MVC和ASP.NET數據控件。 – ErnieL

+0

對於任何使用VAB和WCF獲取「operation.SyncMethod」錯誤的人,VAB似乎不支持** async **,或者查看[使用system.componentmodel.dataannotations驗證wcf服務操作](http:// www。 devtrends.co.uk/blog/validating-wcf-service-operations-using-system.componentmodel.dataannotations) – Schalk

相關問題