远程主机强迫关闭了一个现有的连接???

Kovan-Tan 2011-10-11 11:18:42
我在本地一写了一个测试的页面

protected void btn_Click(object sender, EventArgs e)
{
Response.Write(GetXML(txt.Text.Trim()));
}
public string GetXML(string url)
{
WebRequest wq = WebRequest.Create(url);
WebResponse ws = wq.GetResponse();
try
{
using (Stream sr = ws.GetResponseStream())
{
using (StreamReader str = new StreamReader(sr))
{
return str.ReadToEnd();
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
ws.Close();
}

}


这个测试的页面在本地上是没有问题的,但我把这个放到 虚拟主机上就有问题了,如果请求的数据量大的页面就会提示 System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接。,如果我访问的页面是www.baidu.com这就没问题
请高手帮帮忙啊,急啊!!!
...全文
1301 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
ilooknow 2011-10-12
  • 打赏
  • 举报
回复
确实是超时引起的,可以换个方法:WebRequest.getString
CalvinR 2011-10-12
  • 打赏
  • 举报
回复
楼主你就哭吧
帮哭的来了
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 y_124882511 的回复:]

有可能是你的那个虚拟主机访问不了这个网站引起的。短暂的网络中断也会引起这个问题。
[/Quote]

[Quote=引用 16 楼 liuchaolin 的回复:]

有可能你的虚拟服务器没有访问外网的权限,把防火墙给停了试试
[/Quote]

我联系客服叫他们试试先
md5e 2011-10-12
  • 打赏
  • 举报
回复
有可能你的虚拟服务器没有访问外网的权限,把防火墙给停了试试
skey123123 2011-10-12
  • 打赏
  • 举报
回复
有可能是你的那个虚拟主机访问不了这个网站引起的。短暂的网络中断也会引起这个问题。
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 liuchaolin 的回复:]

C# code

string GetResStr(string url)
{
WebRequest WReq;
WebResponse WResp;
StreamReader sr;
WReq = WebRequest.Create(url);
……
[/Quote]

这代码是可以,但放到虚拟主机上就不可以了,估计是设置的问题,现在就是不知道哪里的设置问题,要修改什么设置??
md5e 2011-10-12
  • 打赏
  • 举报
回复

string GetResStr(string url)
{
WebRequest WReq;
WebResponse WResp;
StreamReader sr;
WReq = WebRequest.Create(url);
WResp = WReq.GetResponse();
sr = new StreamReader(WResp.GetResponseStream(), Encoding.GetEncoding("gb2312"));
string retValue = sr.ReadToEnd();
sr.Close();
return retValue;
}


没有问题,可以抓取
string text= GetResStr("http://www.baidu.com");

url用"http://"
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
怎么没人回复啊
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
高手帮帮忙啊,还没有找到解决的办法啊!!!!
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 chen_ya_ping 的回复:]

会不会是虚拟主机上有每一次请求处理数据量大小的限制啊
[/Quote]

这个我试过,如果我访问的是本主机的页面,也通过WebRequest来访问的话是没有问题的,本主机上的网页的数据量也比较大,但还是可以
chen_ya_ping 2011-10-12
  • 打赏
  • 举报
回复
会不会是虚拟主机上有每一次请求处理数据量大小的限制啊
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 longlong881129 的回复:]

你放服务器上面就可以了 放虚拟主机干嘛
[/Quote]

我是租了个虚拟主机,不是租服务器
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 net_lover 的回复:]

wq.Timeout=99999;试试
[/Quote]

这个试过了,还是一样抛错!!
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 belldandy11 的回复:]

TCP连接中断了
你的虚拟主机网络不稳定或者是你的主机设置超时了
[/Quote]

是不是在iis的应用程序池里做设置?? 能告诉下我怎样设置吗?
枪牌 2011-10-12
  • 打赏
  • 举报
回复
服务器端问题
酷儿 2011-10-12
  • 打赏
  • 举报
回复
你放服务器上面就可以了 放虚拟主机干嘛
孟子E章 2011-10-12
  • 打赏
  • 举报
回复
wq.Timeout=99999;试试
骑猪看海 2011-10-12
  • 打赏
  • 举报
回复
这问题是网络突然中断了
belldandy11 2011-10-12
  • 打赏
  • 举报
回复
TCP连接中断了
你的虚拟主机网络不稳定或者是你的主机设置超时了
Kovan-Tan 2011-10-12
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 ilooknow 的回复:]

确实是超时引起的,可以换个方法:WebRequest.getString
[/Quote]

肯定程序没有问题,我在放到公司的服务器里一点问题都没有
加载更多回复(1)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧