如何为现有许可功能添加新功能,这些功能不会影响现有客户?

时间:2014-10-27 17:38:35

标签: c# silverlight

我有一个应用程序,我通过许可证密钥启用/禁用功能。默认情况下启用某些功能。我当前的所有客户都可以访问我的应用程序的所有功能。现在我想将我的应用程序分为Silver,Gold和Platinum Edition。在这里,我想在我的许可证密钥中包含默认功能。具有挑战性的部分是,我不想向我的旧客户发送新的许可证密钥,也希望他们访问这些功能。此限制仅适用于新客户。

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

有关示例(请参阅链接以获取更多详细信息),

http://imgur.com/JGnwF0S

代码:

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

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

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

如果在直接发表否定评论之前我无法解释清楚,请告诉我。

1 个答案:

答案 0 :(得分:0)

你需要以某种方式识别你的老式机柜 如果你的逻辑是这样的:

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

...然后,您将冒险让新客户无需许可即享有所有权限 - 您不会做的事情。