【发布时间】:2017-07-17 18:45:18
【问题描述】:
我有一个 ClickOnce 应用程序,我在其中覆盖标准 ClickOnce 更新系统并使用此页面上的代码在应用程序中创建我自己的系统。
应用程序使用登录到我控制的 Web 服务。需要保护安装文件不被没有 Web 服务帐户的任何人下载。我正在使用以下方法来尝试这样做:
一旦用户登录到应用程序,就会生成一个随机 Guid 作为用户信息的一部分(早在此问题出现之前,这就是系统的一部分)。它存储在数据库和应用程序中。登录后,应用程序调用 Web 服务上的一个函数,该函数记录用户名、guid、客户端 IP 地址和过期时间,即当前时间加上五分钟。之后,应用程序联系下载网站以检索清单。它包含生成的 guid 作为查询字符串参数。网站拦截请求并验证 IP 地址和过期时间,如果匹配,则将请求的文件流反馈给应用程序。
我的问题是,在查询字符串中包含 guid 使其成为安装 URL 的一部分,而 ClickOnce 预计下次更新应用程序时它会保持不变。
有没有办法让查询字符串包含在调用中,但不让它成为安装 URL 的一部分?或者有没有其他方法可以解决这个问题?
【问题讨论】:
标签: c# wcf installation clickonce