我有一个将由> 1000个用户使用的silverlight应用程序。每两周一次,XAP都会升级。第二天早上,所有人都访问该页面,每个用户都会通过浏览器将Silverlight XAP(应用程序)的副本下载到本地计算机。由于用户数量较多,因此可能会有更多的网络流量。我想通过确保下载XAP的请求是队列并且每次处理每100个请求来对此进行流式处理。让我知道可能性。
由于
答案 0 :(得分:0)
我假设这是一个Out-of-Browser Silverlight应用程序?在这种情况下,它必须调用Application.CheckAndDownloadUpdateAsync。不要在应用程序启动期间执行此操作,而是设置DispatcherTimer,该DispatcherTimer会在某个随机时间(例如,0-60分钟后)触发以进行检查。
在调用CheckAndDownloadUpdateAsync时查找并将其替换为:
var timer = new DispatcherTimer();
timer.Interval = TimeSpan.FromMinutes(new Random().Next(60));
timer.Tick += (sender, args) =>
{
Application.Current.CheckAndDownloadUpdateAsync();
timer.Stop();
};
timer.Start();
(我省略了Application.Current.CheckAndDownloadUpdateCompleted的连接,但必须在启动计时器之前完成。)
答案 1 :(得分:0)
抱歉,我看到Silverlight应用程序在浏览器中。在这种情况下,这与Silverlight无关,只是关于Web服务器,HTML和HTTP。尝试重新构建问题并添加相关标签。
我认为你的策略是愚弄缓存控制指令,让一些客户端使用过时副本,而其他客户端则获得新副本。不知道如何做到这一点(也许javascript可以,或者你可能需要调整网络服务器),但如果资源是xap或jpg或其他什么都不重要。