c# - 可以在没有数据库表的情况下生成序列号吗?

标签 c# asp.net

我正在为 ASP.NET 中的客户端编写一个简单的 Web 表单。表单提交后会发送一封电子邮件。要求之一是每封电子邮件都应有一个连续的票号。

我为实现此目的提出的两个选项包括将最后一个数字写入数据库,然后选择它并递增它,或者对文本文件执行类似的操作。

如果可能的话,我想避免外部依赖,并且为单个值创建数据库表似乎有点矫枉过正。不过,文本文件方法确实很老套,如果文本文件被删除或覆盖,很容易失败。

我还可以考虑其他选择吗?

最佳答案

我可能会使用带有标识(自动增量)列的数据库,主要是因为它负责同一应用程序的多个线程或分布式版本之间的锁定。它还可以从重新启动和其他系统事件中很好地恢复。

大多数数据库都提供在插入操作期间返回递增 ID 的方法,因此您不必选择返回记录来获取递增 ID。

关于c# - 可以在没有数据库表的情况下生成序列号吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5805398/

相关文章:

c# - XmlSerialize一个对象,可以是null、DbNull、int、bool。字符串或 double

c# - NLog - 如何解密日志文件

c# - 来自 C# 的 javascript unicode 属性

c# - 在 MVC 静态方法中将路径映射到图像的正确方法是什么

c# - Windows 事件查看器中未显示新的 Windows 日志

c# - 使用 "for loop"将哈希表中的数据传递到 C# 中的列表框

c# - XNA 处理按键组合

.net - 使用新技术时的安全问题

c# - 如何禁用我的 ASP.NET 应用程序的某些 API

c# - 如何使用 C# 中的类型创建通用委托(delegate)?