【问题标题】:What is the best way to have a program "check in" to a webserver?将程序“签入”到网络服务器的最佳方式是什么?
【发布时间】:2011-12-19 04:03:07
【问题描述】:

我编写了一个免费分发的程序,我正试图找出最好的方法来了解有多少人正在启动我的程序(不是下载)以及来自哪个 IP 地址。从理论上讲,这将给我一个大致的从公司启动我的程序的人数(假设该公司有一个面向外部的 IP)。

程序成功启动后,它将在单独的线程中启动此进程。我希望它很简单,只需检查将捕获外部地址的服务器。理想情况下,从我的 Linux 网络主机上做会很好。应该花费很少的时间。

扩展一下也不错。如果发生错误,它也可以快速将错误发送到服务器。提前致谢!

编辑:发送版本的能力也是可取的。

【问题讨论】:

  • 难道没有一种方法可以根据访问您网站的人数来捕获计数吗?您可以查询的 HitCount..到目前为止您有什么..这是您正在工作的东西..还是类似于家庭作业的东西..?
  • 为什么不让你的程序向你的服务器发出一个 HttpRequest(只是让它加载一个空白页面或其他东西)并稍后检查你的服务器日志?
  • 告诉您的用户该程序将尝试“打电话回家”,如果他们不喜欢这种行为,请让他们选择“退出”!
  • 没有作业。我自学了 C#。如果大量用户使用这个程序,那么我想大幅扩展它。我真的什么都没有。我写了一个小脚本,它访问了我的网络服务器,但没有告诉我版本。
  • @DJKRAZE 尤里卡!你给了我一个想法,我可以让它为该应用程序的每个版本打开不同的页面,甚至在出错时点击不同的页面。这有什么缺点吗?

标签: c# winforms


【解决方案1】:

为什么不简单地使用“ClickOnce”部署。见:C# Deploying my application - clickonce from web only

这样,程序不仅每次启动时都会“打电话回家”,它还可以检查是否有可用的更新,并为用户提供获取最新版本的选项。

您想要的所有信息都将在服务器的网络日志中。用户获胜是因为他获得了更新,而您获得了额外的好处,即查看谁选择下载更新。

【讨论】:

  • 不幸的是,ClickOnce 不适合我的应用程序。用户不应该只有网络管理员才能自己更新应用程序。为此,该应用程序包括自更新逻辑。不过感谢您的意见,我不知道您可以从 ClickOnce 检索启动统计信息。
  • Jesse:您说 - “用户不应该只有网络管理员才能自己更新应用程序。为此,应用程序包括自我更新逻辑。”您是说您的应用程序会自行更新吗?如果有,网络管理员的角色是什么?
  • 将最新的可执行文件放入存储库并授权更新。
  • Jessie:您说管理员将“将最新的可执行文件放入存储库并授权更新”。我相信我们真的在谈论同一个概念。 “存储库”是网站,只有管理员可以将新副本放在那里。到达那里后,所有用户将在下次运行程序时收到新版本可用的通知。这就是“ClickOnce”的用途。
  • 也许我需要对 click once 做进一步的研究。
猜你喜欢
  • 2020-11-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2010-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多