首页 新闻 搜索 专区 学院

silverlight4 在服务器上循环下载读取xml

0
悬赏园豆:50 [已解决问题] 解决于 2013-12-05 14:05

   在silverlight程序中我每隔3秒就去读取一次服务器上的xml文件.xml文件是实时更新的,但是我发现就第一次读取的时候好用,之后再读取的时候就像不是最新的xml文件了.我试过了,我手动的在浏览器地址打出xml地址刷新之后.silverlight才能正确的读取到新的xml内容

蜡笔小辛的主页 蜡笔小辛 | 初学一级 | 园豆:10
提问于:2013-12-05 11:03
< >
分享
最佳答案
0

静态文件被缓存了。你应该通过设置 HTTP 标头,强制读取文件,而不是从缓存获取。

收获园豆:50
Launcher | 高人七级 |园豆:45045 | 2013-12-05 11:51

怎么设置啊。或者怎么写

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 13:23

@Launcher: 关键是,我的silverlight代码里面写嘛?  我是uri new 了一个绝对地址的xml

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 13:38

@Launcher: 还有我的xml  是在后台代码生成的

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 13:42

@蜡笔小辛: 关键是我不知道你用的什么类来实现的 http 请求。

Launcher | 园豆:45045 (高人七级) | 2013-12-05 13:48

@Launcher:这是silverlight 代码 

WebClient client = new WebClient();
             Uri uri = new Uri("http://192.168.1.1/FilesServer/config.xml", UriKind.Absolute);
             client.DownloadStringAsync(uri);
            client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 13:51

@Launcher: 很悲剧的发现,我的silverlight4 里面的 webclient.headers  没有.add。所有。。。又卡主了

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 14:03

@蜡笔小辛: 但是你给了我一个好思路,谢谢啦,哥们

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 14:05

@蜡笔小辛: http://msdn.microsoft.com/zh-cn/library/system.net.webclient.headers(v=vs.95).aspx

http://msdn.microsoft.com/zh-cn/library/system.net.webheadercollection(v=vs.95).aspx

http://msdn.microsoft.com/zh-cn/library/cc189978(v=vs.95).aspx

有这么奇怪吗?

怎么我就照着页面提示一步一步的点击进去,就找到了同 .Net Framework 4.5 中的方法等同的方法呢?

Launcher | 园豆:45045 (高人七级) | 2013-12-05 14:07

@Launcher: 关键不知道咋往里面写。我死笨死笨的

蜡笔小辛 | 园豆:10 (初学一级) | 2013-12-05 14:18
其他回答(1)
0

楼上正解,有些文件是会被缓存,你可以 设置Http Header中的Cache 设置为No 默认不从缓存中读取

Zery | 园豆:6069 (大侠五级) | 2013-12-05 12:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册