将值从网页传递到 C# 应用程序

本文关键字:应用程序 网页 | 更新日期: 2023-09-27 18:36:25

我有一个 C# 桌面应用程序,我想通过从 WebView 控件中的 URL 调用网页(注册表单)来使用许可证密钥进行注册。

我可以以查询字符串形式将值(机器 ID)传递到该网页,但在成功注册后,如何将许可证密钥和注册 ID 从该网页传递回 C# 应用程序?

申请流程如下:

  1. 用户安装桌面应用程序并打开,该应用程序 aks 进行注册
  2. 注册表单托管在网站 URL 上,该网站通过在查询字符串中传递计算机 ID 在 WebView 控件中打开
  3. 用户填写详细信息和许可证密钥并点击提交
  4. 软件注册并生成一个注册 ID,该 ID 应返回到 C# 应用程序,但如何返回????

将值从网页传递到 C# 应用程序

创建一个应用程序可以与之通信的 Web 服务。

使桌面应用程序在您的网站上请求注册 ID 的 URL

让用户在应用程序中手动输入网站提供的密钥。

几种常见的方法可以执行基于 Web 的许可:

  1. 正如 Allan 建议的那样,让您的桌面应用程序直接与网站/API 通信以请求许可证。

  2. 从服务器下载许可证文件,该文件可以加载到应用程序中的某个位置。

    • 作为一种选择,让您的桌面应用程序注册文件扩展名(例如.myAppLicence),以便您的用户可以直接从资源管理器或 Web 浏览器的下载列表中打开该文件。
  3. 让网站生成可由用户复制和粘贴的许可证代码。 当然,这应该安全地交付 - HTTPS,nocache等。

在这三者中,让应用程序直接连接到许可服务可能是最安全且最难规避的。 应用程序可以生成某种唯一标识计算机的指纹代码,并且该代码可用作密钥生成的一部分,以确保密钥仅在该计算机上工作。 您可以使用指纹作为加密密钥生成的盐

当然,您也可以有一个指纹代码,供用户在注册时复制粘贴到网站中。

已经解释了不同的选项。您可以采取以下任一路线。

  1. 在您的桌面应用程序中编写一个 Web 服务,该服务在注册后接收来自您网站的回调。您可以在初始请求期间将回调 URL 传递给网站。

  2. 成功完成注册后解析网站返回的网页。为了便于解析,您可以确保将所需的确认代码/注册 ID 编码在一些已知的分隔符文本中。

  3. 要求用户将生成的注册 ID 复制并粘贴到应用程序的文本框中。

  4. 完成注册后,要求用户继续下一步。单击"下一步"按钮后,向您的网站发送请求并检查给定机器 ID 的注册 ID。