我用XMLHTTP来访问一个页面:                            Dim objXMLHttp As New MSXML2.XMLHTTPClass
                            objXMLHttp.open("GET", strUrl, False)
                            objXMLHttp.send()
                            objXMLHttp = Nothing奇怪的是。第一次执行的时候,可以正常访问到那个页面(通过断点监视到了请求)。但是以后再执行的时候就不能访问到那个页面了。没有出错。但是断点不再触发了。把w3svc服务重新启动之后又可以访问到一次。之后仍然不能访问。请高手指教。

解决方案 »

  1.   

    在服务器端使用XMLHTTP是有问题的,参考Frequently asked questions about ServerXMLHTTP
    http://support.microsoft.com/default.aspx?scid=KB;en-us;q290761INFO: WinInet Not Supported for Use in Services
    http://support.microsoft.com/kb/238425/
    建议别用XMLHTTP,而用System.Net.HttpWebRequest/HttpWebResponse,参考Retrieving HTTP content in .NET
    http://www.west-wind.com/presentations/dotnetWebRequest/dotnetWebRequest.htm
      

  2.   

    多谢指教。用HTTPRequest和HTTPResponse解决了问题。
    不过还是不是很清楚为什么XMLHTTP会有这种问题。
      

  3.   

    xmlhttp 其实是自己维护状态了..它跟IE一样了.会读取缓存而不会去服务器读数据
      

  4.   

    怪不得它只会请求一次。只有在重新启动w3svc之后才会重新请求。
    看来,用xmlhttp一样可以解决问题,只需要把objXMLHttp.open("GET", strUrl, False)改成objXMLHttp.open("GET", strUrl+"?Time="+DateTime.Now.ToString, False)就可以了。