如何在C#WPF应用程序

时间:2017-01-17 09:25:20

标签: c# wpf licensing license-key cryptolicensing

我在WPF C#中创建了一个应用程序,并通过Dotfuscator进行了模糊处理。现在我希望为我的供应商提供许可证密钥。我的应用程序中有四个菜单,每个菜单都有单独的成本。因此,我需要为每个菜单提供单独的许可证密钥以进行验证。

我在谷歌搜索过,但它只显示整个应用程序的单一许可证密钥。任何人都可以发送一些链接或想法。

2 个答案:

答案 0 :(得分:0)

您所谈论的内容并非任何应用程序的默认行为,因此您不会找到现成的解决方案。

这样做的现代方式是基于帐户,您有一个用户帐户,记录用户购买的内容,然后您的应用程序连接到您的服务器并下载其活动权限。

然后,您将使用许可证密钥确保每个帐户使用的应用程序副本数量超过许可证密钥

答案 1 :(得分:0)

您所谈论的内容通常被称为“功能许可”,您可以在其中许可应用程序的各个功能,而不是具有单个许可证的所有功能。每个用户都有一组与其用户帐户相关联的许可证;许可证集将取决于他们从您那里购买的功能。

在您的代码中,登录后,您可以验证每个用户的许可证,以确定允许和不允许使用哪些功能。例如,这里有一些伪代码:

features = {
  FEATURE_X: false,
  FEATURE_Y: false,
  FEATURE_Z: false
}

for license in licenses
  switch license.policy
  case 'FEATURE_X'
    features.FEATURE_X = license.is_valid()
  case 'FEATURE_Y'
    features.FEATURE_Y = license.is_valid()
  case 'FEATURE_Z'
    features.FEATURE_Y = license.is_valid()

# Later in your software:

if features.FEATURE_X
  # … let the user do X
else
  # … don't let them

我构建了a software licensing API,这使得这种类型的许可证模型比过去更容易管理。使用我的服务Keygen,您可以创建代表您的个人功能的不同许可证类型(策略),例如“功能X”,“菜单项Y”等

Keygen还提供用户管理功能,因此将多个许可证与单个用户相关联(例如此特定许可模式)是轻而易举的。