如何在不影响现有客户端的现有许可功能中添加新功能?



我有一个应用程序,通过许可证密钥启用/禁用功能。某些功能在默认情况下处于启用状态。我目前的所有客户都可以访问我的应用程序的所有功能。现在我想将我的应用程序分为银版、金版和白金版。在这里,我想在我的许可证密钥中包括默认功能。具有挑战性的部分是,我不想向我的老客户发送新的许可证密钥,也不希望他们访问这些功能。此限制仅适用于新客户。

这背后的整个想法是包括许可证密钥中的所有功能,并基于版本,让用户使用该功能。早些时候,我免费提供了一些功能,我想为新客户停止这些功能。

例如(请参阅链接了解更多详细信息),

https://i.stack.imgur.com/AjyhN.jpg

代码:

目前我正在使用以下代码:

if (licKeyDO.Features.ContainsKey("Feature A"))
    FeatureA.IsEnabled = true;
else
    FeatureA.IsEnabled = false; 

我的问题是,如果我使用Silver Edition权限制作密钥并发送新版本,那么我的旧客户端将只有两个我想避免的功能。我该如何处理这种情况?

如果我不能在直接发表负面言论之前解释清楚,请告诉我。

您需要以某种方式识别您的旧诊所
如果你的逻辑是这样的:

if (licKeyDO == null)
{
    //enable all features
}

那么你将冒着让新客户在没有许可证的情况下拥有所有特权的风险-这是你不想做的。

最新更新