Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将值从网页传递到c#应用程序_C#_Php_Asp.net_Webforms_Webview - Fatal编程技术网

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

将值从网页传递到c#应用程序,c#,php,asp.net,webforms,webview,C#,Php,Asp.net,Webforms,Webview,我有一个C#桌面应用程序,我希望通过从WebView控件中的URL调用网页(注册表)来使用许可证密钥进行注册 我可以以查询字符串的形式将值(机器id)传递给该网页,但在成功注册后,如何将许可证密钥和注册id从该网页传递回C#应用程序 应用程序的流程如下所示: 用户安装桌面应用程序并打开,该应用程序需要注册 注册表单托管在网站url上,该url通过在查询字符串中传递机器id在WebView控件中打开 用户填写详细信息和许可证密钥并点击提交 软件得到注册并生成一个注册id,该id应该返回给C#应用程

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

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

应用程序的流程如下所示:

  • 用户安装桌面应用程序并打开,该应用程序需要注册
  • 注册表单托管在网站url上,该url通过在查询字符串中传递机器id在WebView控件中打开
  • 用户填写详细信息和许可证密钥并点击提交
  • 软件得到注册并生成一个注册id,该id应该返回给C#应用程序,但如何

  • 创建应用程序可以与其通信的web服务

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


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

    有几种常见的基于web的许可方法:

  • 正如Allan所建议的,让您的桌面应用程序直接与网站/api通信以请求许可证

  • 从服务器下载可以加载到应用程序某处的许可证文件

    • 作为一个选项,让桌面应用程序注册文件扩展名(
      .myAppLicence
      ),这样用户就可以直接从浏览器或web浏览器的下载列表中打开文件
  • 让网站生成用户可以复制和粘贴的许可证代码。当然,这应该是安全的——HTTPS、nocache等

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


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

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

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

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

  • 要求用户将生成的注册Id复制并粘贴到应用程序的文本框中

  • 注册完成后,请用户继续下一步。单击“下一步”按钮后,向您的网站发送请求,并检查给定机器id的注册id


  • 请用户复制并粘贴注册ID!使用带有注释行参数的桌面应用程序。。。并调用桌面应用程序表单网页,该网页将注册id作为命令行参数传递。避免在web应用程序上放置字段。@seopower是否需要进一步解释?据我推断,他的意思是在应用程序中包含注册表单。然后将值从应用程序传输到网页(例如通过webservice或web请求),这正是Allan所说的。我想把登记表放在网上,而不是放在申请表上,只是为了控制字段和验证。因为它将用于10多种应用。