1

我在 C# 中使用 Web 浏览器在 localhost 服务器上执行 PHP 文件。这个 PHP 脚本实际上是从另一个网站获取信息并对其进行解析。

在我的装有 Windows 8 和 Internet Explorer 版本 10 的个人笔记本电脑上,这个 PHP 脚本在 Internet Explorer、Firefox 以及我的 C# 应用程序的 Web 浏览器中执行得很好。

在我朋友的电脑上,有 Windows 7 和 Internet Explorer 版本 10,相同的 PHP 脚本在 Firefox 中执行得很好。但是,在 Internet Explorer 和我的 C# 应用程序 Web 浏览器中,我都得到“无法显示此页面”。

剥离有问题的 PHP 脚本(连接到网页并回显“hello”而不等待来自远程服务器的响应并且不解析该响应)它工作得很好。

这让我相信在我的朋友 Internet Explorer/C# Web 浏览器组件中一定有一个等待时间较短的超时。这是我能想到的唯一解释。

我可以在 C# 中手动将 Web 浏览器超时设置为不同的值吗?

如果有人怀疑这不是问题所在,我会非常重视您的意见。

4

1 回答 1

0

除了正常的 TCP/IP 堆栈连接和接收超时之外,WebBrowser 没有任何超时。在 Windows 中是硬连线的,没有 api 可以更改它们。您可以添加注册表项来覆盖超时,但这只会让它们变长。否则,由于 TCP/IP 的工作方式,您永远无法预测连接尝试将花费多长时间,因为没有简单的方法可以发现机器的位置以及路由器跳数或将使用哪些路由器来获取那里。

你需要寻找另一个原因。

于 2013-10-18T17:59:23.580 回答