Мне нужно сгенерировать девятизначный числовой код (предпочтительно случайный), который является уникальным для данного дня (такое же число не может быть сгенерировано снова в тот же день).Я думал об использовании HHMMSSmmm (часы, минуты, секунды и миллисекунды) для генерации уникального кода, но на самом деле это не случайно.Доступ к этому методу генерации кода может осуществляться несколькими методами одновременно, поэтому мне придется заблокировать метод.Но будет ли это гарантировать, что число уникально, так как возможно, что генерация номера может занять менее миллисекунды, и два потока получат одно и то же число?
Есть ли лучший способ генерировать случайный уникальный числовой код, которыйуникален для данного дня?Количество цифр может быть от 6 до 9 цифр.
Редактировать: Количество генерируемых случайных чисел зависит от количества транзакций.Первоначально число может быть ниже, но в течение определенного периода времени оно может стать очень высоким (несколько транзакций в секунду).Следовательно, я не хотел бы сравнивать число с используемым списком, поскольку это может иметь проблемы с производительностью.
Случайность необходима, поскольку этот номер будет введен пользователем на телефоне.Этот номер является единственным способом связать онлайн-транзакцию с телефонной транзакцией, поэтому я не хочу, чтобы пользователь вводил другой номер по ошибке.
Генерация случайного числа должна выполняться в ASP.NET MVC.применение.