gpt4 book ai didi

c# - 如何解决 "The operation has timed out"错误

转载 作者:行者123 更新时间:2023-11-30 18:05:05 25 4
gpt4 key购买 nike

我有一个问题,在下载数据时显示错误“操作已超时”。

我该怎么做才能解决这个错误?我正在使用 Win 表单 (C#) 这是我的代码,请检查并提出建议。我应该在哪里更改代码请帮助我...

  public void ProcessData()
{


try
{
string MessageTitle = "";
int pages = Convert.ToInt32(txtPages.Text);

for (int k = Count; k <= pages; k++)
{

string url = "http://www.yellowpages.com/" +StateName.ToLower()+ "/" + CategoryName + "?g=" + StateName + "&page=" + k + "&q=" + CategoryName + "";//txtYP.Text + k;
System.Net.HttpWebRequest httpRequest;
System.Net.HttpWebResponse httpResponse;
System.IO.StreamReader SReader;
string html;
httpRequest = (System.Net.HttpWebRequest)(System.Net.HttpWebRequest.Create(url));
httpRequest.Method = "GET";
httpResponse = (System.Net.HttpWebResponse)(httpRequest.GetResponse());
SReader = new StreamReader(httpResponse.GetResponseStream());
html = SReader.ReadToEnd();
string strDummy = html;
httpResponse.Close();

最佳答案

请求超时前多久?您能否从网络浏览器导航到该网址?

将 HttpWebRequest 上的 HttpWebRequest.ReadWriteTimeout 属性设置为比当前值高得多的值。默认值为 5 分钟。不确定为什么需要超过 5 分钟。

除了阻塞 getresponse,您还可以使用异步回调(BeginGetResponse/EndGetResponse)。

编辑

<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.HttpListener">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add
name="System.Net"
type="System.Diagnostics.TextWriterTraceListener"
initializeData="trace.log"
traceOutputOptions = "ProcessId, DateTime"
/>
</sharedListeners>
<switches>
<add name="System.Net"
value="Verbose" />
<add name="System.Net.Sockets"
value="Verbose" />
<add name="System.Net.Cache"
value="Verbose" />
<add name="System.Net.HttpListener"
value="Verbose" />
</switches>
</system.diagnostics>

在应用程序的 app.config 的 configuration 部分中添加此部分。添加以上内容后,重建解决方案并运行它。查看您应用程序 bin 目录中写入的 trace.log 以获取更多详细信息。

关于c# - 如何解决 "The operation has timed out"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5880020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com