2011-05-16 27 views
0

我們正在爲一個項目定義一些WCF合同。WCF合同限制字符串值

在一種情況下,我們希望通過狀態字段發送。我們雖然只是將其作爲文本發送。

  • 我們可以在WCF合約中指定只允許使用這些x字符串值嗎?
  • 使用枚舉會更好嗎?

我們將與java web服務進行互操作。

回答

4

不,您可以使用枚舉,然後將其轉換爲受限制的字符串列表的模式。這對非WCF客戶端也很有幫助,因爲他們可以很容易地看到允許的字符串值的範圍。

不幸的是,枚舉在WCF中涉及到版本控制時會帶來一些不幸的負擔。具體來說,你不能只添加一個新的枚舉而不能打破現有的WCF客戶端。因此添加一個新的枚舉被認爲是一個突破性的改變。

您需要權衡這兩個選項並決定哪一個最適合您。如果你選擇「純」字符串,那麼你將需要自己驗證這些值。這可以通過編寫一個IParameterInspector來完成,您可以將其掛接到可能使用您感興趣約束的數據合約的所有服務。

+0

+1:完美的迴應! – 2011-05-16 14:25:51