2014-10-27 31 views
0

我有一個應用程序,我通過許可證密鑰啓用/禁用功能。某些功能默認啓用。我所有的當前客戶都可以訪問我的應用程序的所有功能。現在我想將我的應用程序分爲Silver,Gold和Platinum Edition。在這裏,我想在默認功能中包含我的許可證密鑰。具有挑戰性的部分是,我不想發送新的許可證密鑰給我的老客戶,也希望他們訪問這些功能。此限制僅適用於新客戶。如何將新功能添加到現有的許可功能,這不會影響現有的客戶端?

這背後的全部想法包括許可證密鑰中的所有功能,並基於版本,讓用戶使用功能。早些時候,我提供了一些免費的功能,我希望爲新客戶停下來。

舉一個例子(請參閱鏈接查看更多細節),

http://imgur.com/JGnwF0S

代碼:

目前我使用下面的代碼:

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

我的問題是,如果我使用Silver Edition權限創建密鑰併發送新版本比我的老客戶端只有兩個我想要避免的功能。我該如何處理這種情況?

請讓我知道,如果我不能直接給出否定評論之前清楚解釋清楚。

回答

0

你需要識別你的舊clinets。
如果你的邏輯將是這樣的:

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

...然後你會冒着讓新客戶沒有許可證的所有特權 - 你不wan't做。

相關問題