我目前正在运行一个 SL3 项目,我们处于高度迭代的开发模式,大约有 25 个活跃的测试客户。我正在以每天大约 4 个新构建的剪辑进行小的更改。重要的是要知道这个应用程序是这 25 个人的关键业务线,它是他们整天使用的工具来完成他们的工作,所以他们经常使用它并且经常在早上启动他们的浏览器和应用程序并且从不关闭它直到一天结束。
挑战在于,当我对应用程序进行更新时,我没有干净的方式来通知用户,在大多数情况下,这是可以的,因为我很少引入数据契约(Contract)更改或一些经典的“破坏性”更改到应用程序/服务。用户不断插入,下次刷新时将获得更改。
现在我们已经通过给每个人发送电子邮件并告诉他们强制刷新或关闭浏览器并重新登录。
当然还有更好的方法...
现在我的思路是在服务器上有一个方法来比较客户端 xap 版本并确定正在使用的客户端是否是最新的,如果是,我会通知用户并让他们更新。
你做了什么来解决这个问题?
最佳答案
一种方法是使用推送机制(我使用了 Kaazing Websoocket Gateway,但任何一种都可以)。当新版本的 XAP 发布时,将向所有客户端发送一条消息(由管理员手动输入系统或由 XAP 文件更改事件自动触发)。在最简单的场景中,将向用户显示一些通知(告诉他发布了新版本并且应用程序需要刷新),然后应用程序将刷新(通过简单地重新加载页面)在必要时保存用户的状态。
关于silverlight - 更新正在积极使用的 Silverlight 部署的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2285634/