Generar código único aleatorio
Necesito generar un código numérico de nueve dígitos (preferiblemente aleatorio) que sea único para un día determinado (el mismo número no puede generarse nuevamente el mismo día). Estaba pensando en usar HHMMSSmmm (horas, minutos, segundos y milisegundos) para generar el código único, pero no es realmente aleatorio. Se puede acceder a este método de generación de código mediante varios métodos al mismo tiempo, por lo que tendré que bloquear el método. ¿Pero esto garantizará que el número sea único ya que es posible que la generación del número pueda tomar menos de un milisegundo y que dos hilos obtengan el mismo número?
¿Existe una mejor manera de generar un código numérico único aleatorio que sea único para un día determinado? El número de dígitos puede ser de 6 a 9 dígitos.
Editar El número de números aleatorios que se generarán depende del número de transacciones. Inicialmente, el número podría ser menor, pero durante un período de tiempo puede llegar a ser muy alto (múltiples transacciones por segundo). Por lo tanto, no me gustaría comparar el número con una lista usada, ya que esto podría tener problemas de rendimiento.
e necesita @Randomness ya que este número será ingresado por el usuario en el teléfono. Este número es la única forma de vincular la transacción en línea con la transacción telefónica, por lo que no quiero que el usuario ingrese un número diferente por error.
La generación de números aleatorios debe realizarse en una aplicación ASP.NET MVC.