有一个使用硬件密钥检查许可证的功能。但是此函数被调用的次数太多,并且执行需要花费时间。因此,为了避免打太多电话,我想在一段时间后检查许可证。

bool CheckLicense()
{
    if(license checked in last 10 secconds)
    {
        return last status;
    }
    else
    {
        hardware access for license check
        return current status
    }
}


编辑:可能会删除硬件密钥,因此一次检查不是一个好习惯。另外,将调用许可证检查以启用和禁用不同的按钮状态。

最佳答案

总的来说,我认为您需要这样的东西。

private DateTime lastCheckTime = DateTime.Now.AddDays(-1);

bool CheckLicense()
{
    if (lastCheckTime.AddSeconds(10) < DateTime.Now)
    {
        return last status;
    }
    else
    {
        lastCheckTime = DateTime.Now;

        // hardware access for license check
        return current status
    }
}

关于c# - 如何停止过于频繁调用功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40714573/

10-11 13:42