Web Service返回唯一的自动递增的人类可读ID号

Nei*_*eil 6 web-services increment uniqueidentifier

我正在寻找创建一个简单的Web服务,当轮询返回一个唯一的ID.ID必须是人类可读的(即不是guid,可能以000023的形式),并且每次调用时只增加1.

现在我需要考虑它可能同时被两个不同的应用程序调用,我不希望它为每个应用程序返回相同的数字.

除了使用数据库存储当前号码之外还有其他选择吗?

当然这已经完成了,任何人都可以指出我的一些源代码,如果它.

谢谢,

尼尔

slu*_*ter 1

使用关键部分代码片段一次控制一段代码中的流程。您可以使用该lock语句或通过稍微更硬核并直接使用互斥体来完成此操作。这样做将确保您向每个呼叫者返回不同的号码。

至于存储它,使用数据库返回自动递增数字有点过分 - 尽管 SQLServer 和 Oracle(很可能还有其他数据库,但我不能代表它们)都提供自动递增键功能,因此您可以将 Web 服务称为,在数据库表中生成一个新条目,返回密钥,调用者可以使用该数字作为返回该记录的密钥(如果您在初始调用后稍后保存更多数据)。这样,您还可以让数据库担心唯一编号的生成,而不必担心它的细节 - 尽管如果您还没有数据库,这不是一个好的选择。

另一种选择是将其存储在本地文件中,尽管读取文件、增加数字并将其写回的成本很高,所有这些都在关键部分内进行。