关于CInternetSession缓存问题

调用完一次之后,再次调用会出现不发送请求但会返回 HTTP_STATUS_OK 的现象。

需要加一句代码。听说是windows mobile 的一个BUG。

 

BOOL b = InternetSetOption (session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);

 

一段代码:

 

CInternetSession session(_T("HttpClient"),1, INTERNET_OPEN_TYPE_DIRECT );
 CString responseUtf8;
 DWORD dwStatusCode;
 CHttpFile* pfile; 

 try
 { 
  BOOL b = InternetSetOption(session,INTERNET_OPTION_RESET_URLCACHE_SESSION,NULL,0);
  pfile = (CHttpFile*)session.OpenURL(url);

  pfile->QueryInfoStatusCode(dwStatusCode);  
  if (dwStatusCode == HTTP_STATUS_OK)
  {
   CString strLine;
   while(pfile->ReadString(strLine))
   {
    responseUtf8 += strLine;
   }
  }

  pfile->Close();
  session.Close();

你可能感兴趣的:(工作问题)