0

我们正在为一个项目定义一些 WCF 合同。

在一种情况下,我们希望发送一个状态字段。我们只是将其作为文本发送。

  • 我们可以在 WCF 合同中指定只允许这些 x 字符串值吗?
  • 使用枚举会更好吗?

我们将与 java web 服务进行互操作。

4

1 回答 1

4

不,您不能,但是您可以使用枚举,然后将其转换为与受限制的字符串列表等效的架构。这对非 WCF 客户端也很有帮助,因为他们可以轻松查看允许的字符串值的范围。

不幸的是,当涉及到版本控制时,枚举在 WCF 中带有一些不幸的包袱。具体来说,您不能只添加一个新的枚举而不破坏现有的 WCF 客户端。所以添加一个新的枚举被认为是一个重大的改变。

您需要权衡这两个选项并决定哪个最适合您。如果您选择“纯”字符串,那么您需要自己验证这些值。这通常可以通过编写一个IParameterInspector可以连接到所有可能使用您有兴趣约束的数据合约的服务来完成。

于 2011-05-16T14:17:39.503 回答