C# 我必须重置网络客户端吗?

C# 我必须重置网络客户端吗?,c#,windows-phone-7,xna,C#,Windows Phone 7,Xna,为了配合我的C#/XNA/WP7游戏,我用php/mysql制作了自己的高分“服务” 乍一看,它看起来很棒,但如果不关闭并启动应用程序,它就不会更新 我在做什么: 开始游戏,看高分,玩游戏,输入分数,看高分 在这个场景中,我看不到高分的变化,但是如果我重新开始游戏,我会看到。如果我不看高分直接玩游戏,我会看到新的高分:( 我在从服务器返回的数据上设置了一个断点,它返回了相同的结果。但是如果我重新启动游戏,我会得到新的高分列表 有人知道哪些内容被破坏了吗?我不知道这是否是您的问题,但我在web

为了配合我的C#/XNA/WP7游戏,我用php/mysql制作了自己的高分“服务”

乍一看,它看起来很棒,但如果不关闭并启动应用程序,它就不会更新

我在做什么:

  • 开始游戏,看高分,玩游戏,输入分数,看高分 在这个场景中,我看不到高分的变化,但是如果我重新开始游戏,我会看到。如果我不看高分直接玩游戏,我会看到新的高分:(
我在从服务器返回的数据上设置了一个断点,它返回了相同的结果。但是如果我重新启动游戏,我会得到新的高分列表


有人知道哪些内容被破坏了吗?

我不知道这是否是您的问题,但我在webclient中遇到了恼人的缓存问题。基本上,第一次缓存请求时,即使页面被更新,下一次我也会得到相同的内容。我找不到清除缓存的方法,所以我通过添加一个随机参数解决了问题在uri的末尾。例如:

http://www.example.com/yourPage.html?nocache=45646487


通过这种方式,您可以确保不会两次发送相同的请求。

这可能是缓存问题。请检查响应对象以查看IsFromCache属性是否为true。如果为true,则有几种不同的处理方法

在服务器端添加缓存控制头,如PHP站点上文章的示例2所述:

示例#2缓存指令

PHP脚本通常生成动态内容,这些内容不能由 客户端浏览器或服务器与服务器之间的任何代理缓存 客户端浏览器。可以强制禁用许多代理和客户端 使用以下选项进行缓存:

更改客户端上web请求的缓存策略:

// Set a default policy level for the "http:" and "https" schemes.
HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Default);
HttpWebRequest.DefaultCachePolicy = policy;
WebRequest request = WebRequest.Create(uri);
// Define a cache policy for this request only. 
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;

有关客户端方法的更多信息,请参阅MSDN文档。

能否显示用于调用web服务的类?
WebRequest request = WebRequest.Create(uri);
// Define a cache policy for this request only. 
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;