【问题标题】:Will any Application Pool Settings cause failure in Silverlight OOB CheckAndDownloadUpdateAsync update?任何应用程序池设置是否会导致 Silverlight OOB CheckAndDownloadUpdateAsync 更新失败?
【发布时间】:2012-11-26 09:58:24
【问题描述】:

我们在负载平衡的生产环境中部署了 Silverlight 应用程序。此应用程序使用“CheckAndDownloadUpdateAsync”方法自动检查和下载更新。

此方法运行良好,并且下载了最新版本的应用程序,没有任何问题。

App.Current.CheckAndDownloadUpdateCompleted += new CheckAndDownloadUpdateCompletedEventHandler(App_CheckAndDownloadUpdateCompleted);

但是,这个方法突然开始表现得很奇怪。即使生产服务器上没有新的部署,它也会继续下载应用程序。 即使它本身下载了最新的应用程序,我也会一直得到 e.UpdateAvailable = true。

【问题讨论】:

    标签: silverlight iis-7 load-balancing application-pool auto-update


    【解决方案1】:

    好的。我们终于找到了问题(4 个月后:( ),幸运的是它与任何 ISS 相关(应用程序池)设置无关。

    原因:- 每个文件的创建日期和修改日期。所以,我们的 XAP 文件。 我们曾经通过压缩应用程序并将此 ZIP 文件复制到我们的服务器上来部署应用程序,然后解压缩到所需的文件夹。

    所有压缩软件的提取逻辑都存在问题(包括 WinZip、Windows 服务器默认的“全部提取...”、7 Zip 等...)。 当 XAP 文件被提取时,它应该根据服务器的本地时间转换其修改日期。由于我们的服务器处于 CST 时间,因此它应该已将时间转换为 CST。但是,它没有,并将其保留为本地 IST 时间。 例如如果在 IST 机器上的构建时间是 12.30 PM (IST),则压缩和提取它用于将时间显示为“12.30 PM (CST)”,它应该将其转换为 -6.00 UMT 并显示为“1.00 AM (CST)” .

    因此,每当 silverlight 发送“检查更新”请求时,该请求是在本地 IST 时间,该时间曾经比 XAP 文件上的“修改开启”时间更早,因此它会一次又一次地下载应用程序,直到 IST日期/时间匹配或超过 CST 时间意味着问题在接下来的 11.30 小时内发生。

    如果您在使用上述 CheckAndUpdateAsync() 方法时也遇到“自动升级”问题,请不要忘记关注 XAP 文件的创建日期和修改日期。希望这可以帮助!谢谢。

    【讨论】:

      猜你喜欢
      • 2023-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      相关资源
      最近更新 更多