SOAP:不同的国家/地区 - 不同的状态枚举,相同的Web服务接口

时间:2014-08-22 05:58:57

标签: c# wcf soap enums internationalization

我正在开发一个允许客户更改地址的WCF SOAP Web服务。目前,我们拥有的属性可以根据一些简短的枚举定义国家和州。

目前只有澳大利亚各州包含州枚举,但现在我们打算允许来自美国的地址,这导致了比以前更多的州。 为了解决这个问题,我想出了以下三个解决方案,但它们似乎都不是那么棒,任何其他解决方案或至少一些优点/缺点都会受到赞赏:

1。将美国州添加到现有的枚举

我们可以将额外的50个美国州添加到现有的枚举中,并在检查所选州是否属于给定国家时添加一些验证。

2。为每个国家/地区的状态添加两个新的枚举:AUSStates / USStates

我们可以在界面中添加两个新属性,允许为每个国家/地区选择一个州(USState& AUSState),然后根据给定的国家/地区选择州。我们将保留现有的State属性,以便当前用户不必更新其接口。

第3。为美国添加新的接口/端点

我们可以添加一个新的US接口,而不是将现有接口弄脏,而是在State属性中提供US States枚举值。但是,这将不再允许在AUS界面中输入美国地址,反之亦然。

我们目前没有任何肥皂版本,我们将状态值存储为数据库中的双字母代码,无论它属于哪个国家/地区,都会进入同一列。

1 个答案:

答案 0 :(得分:0)

正如nvoigt在评论中所建议的,我将把它改成字符串。这导致界面更改不好,但由于针对服务发布的xml对于枚举或字符串保持不变,因此我们的大多数集成商都没有问题。