- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试创建数据库中尚不存在的唯一激活码。我的问题是如何测试它?
我尝试使用断点,然后将数据库表更改为新结果,但它没有启动
private string CreateActivationCode()
{
string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
Random random = new Random();
string result = new string(
Enumerable.Repeat(chars, 4)
.Select(s => s[random.Next(s.Length)])
.ToArray());
IEnumerable<string> existingActivationKeys = _mobileDeviceService.GetAll().Select(x => x.UsageKey).ToList();
if (existingActivationKeys.Contains(result))
{
//USE GO TO????
CreateUsageKey();
}
return result;
}
最佳答案
正如 Dean Ward 在他的评论中建议的那样,您可以改为使用 GUID 作为激活 key 。
如何做到这一点的示例如下:
private string CreateActivationKey()
{
var activationKey = Guid.NewGuid().ToString();
var activationKeyAlreadyExists =
mobileDeviceService.GetActivationKeys().Any(key => key == activationKey);
if (activationKeyAlreadyExists)
{
activationKey = CreateActivationKey();
}
return activationKey;
}
我已使用“GetActivationKeys”使我的解决方案与您的“GetAll”方法保持一致;但是,我可能会实现一种方法来执行数据库查询以检查 key 是否存在(将所有激活 key 带回您的服务并不是最高效的解决方案)。
生成重复 GUID 的可能性非常很低。关于 GUID 的一篇不错的文章是 here .
关于c# - 如何创建唯一的激活码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22824210/
我不确定该问题的标题应该是什么,但我在这里寻求帮助。 我在一家公司工作,该公司在 CORE JAVA 平台上制作基于桌面的应用程序。我们提供激活码来激活我们的软件。激活的概念是—— User ente
这是我在登录时使用的代码: $q = $lacz->query("SELECT email, pass, activation_code
好游快爆的爆米花商店里的商品还是很丰富的,独家激活码,礼包码,体验账号等等,对于游戏玩家们来说是一个不错的福利,不过很多小伙伴在兑换的时候出现无法兑换,无法使用,提示礼包码/激活码错误或者已经被使用
Intellij IDEA 2019 激活码(注册码) EWNIIMPSS3-eyJsaWNlbnNlSWQiOiJFV05JSU1QU1MzIiwibGljZW5zZWVOYW1lIjoiSkIgY
前言 Visual Studio 2022 正式版来了。新版本带有 go-live 许可证,可供生产使用。在 Visual Studio 2019 的基础上,新版集成开发坏境提供了非常多的改进,包
intellij idea2021是一款java开发神器,功能丰富好用,本文提供其安装包、破解版、补丁、绿色版、激活码等下载,手把手教大家完美安全永久安装破解,亲测绝对可以永久激活。 此方法支持所有的
我是一名优秀的程序员,十分优秀!