首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Windows Mobile >

HttpWebRequest类(WP8)的缓存有关问题,求解

2014-01-22 
HttpWebRequest类(WP8)的缓存问题,求解~刚学WP编程不久,遇到HttpWebRequest的缓存问题,求大虾指点:如下这

HttpWebRequest类(WP8)的缓存问题,求解~
刚学WP编程不久,遇到HttpWebRequest的缓存问题,求大虾指点:

如下这个代码实现的是:点击一个button后,进行HTTP GET的操作,把获取到的信息显示到TextBlock里面。调试运行都OK,但问题是:第一次点击button时,网络抓包发现确实与192.168.1.102主机有HTTP通讯;但之后再点击button,网络抓包发现没有任何通讯,但程序还是正常运行的,包括显示出最后结果。

从上面的情况来看,我觉得HttpWebRequest是不是有一个缓存机制,以至于第二次及以后的操作都没有经过网络通讯?如果是这样的话,怎么样让HttpWebRequest不要缓存,每次都实实在在的通过网络访问去获取HTTP信息?求指点~

private void Button_Click(object sender, RoutedEventArgs e)
        {

           HttpWebRequest test_httprequest = (HttpWebRequest)HttpWebRequest.Create("http://192.168.1.102/System/time");
           string un = "admin";
           string pd = "12345";
           test_httprequest.Credentials = new NetworkCredential(un, pd);
           test_httprequest.BeginGetResponse(cbResponseCallback, test_httprequest);
        }

private void cbResponseCallback(IAsyncResult result)
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)result.AsyncState;//获取异步操作返回的的信息  
                WebResponse response = request.EndGetResponse(result);//结束对 Internet 资源的异步请求  
                using (Stream stream = response.GetResponseStream())
                using (StreamReader reader = new StreamReader(stream))
                {
                    string contents = reader.ReadToEnd();
                    //通过呼叫UI Thread来返回主线程  
                    Dispatcher.BeginInvoke(() =>  
                    {
                        txtblock1.Text = contents;
                    });
                }
            }
            catch (Exception e)
            {
                Dispatcher.BeginInvoke(() =>
                {
                    txtblock1.Text = e.Message;
                });
            }
        }

[解决办法]
http的url中加个随机数试试?
[解决办法]
在请求的url后面加多一个参数,值为随机。
如:原url为 string url = "http://www.xxx.com"; -> 
            string url = "http://www.xxx.com" + "?r=" + Guid.NewGuid().ToString();

热点排行