HttpWebRequest的异步问题

chenguang79 2008-11-25 10:24:36
兄弟我做一个把IP转化为相应地址的程序。现在想做到异步功能,可是不知道如何处理,下面是我的代码,请问在什么地方修改变成异步呢。
我现在的代码是给了一个定的IP,因为我以后,要进行从数据库里,提取大量IP进行转化。所以要采用异步。下面是我的程序

string strIP = this.txtIP.Text.Trim();
string strAction = "2";
ASCIIEncoding encoding = new ASCIIEncoding();
string postData = "ip=" + strIP;
postData += "&action=" + strAction;
byte[] data = encoding.GetBytes(postData);

HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create("http://www.ip138.com/ips.asp");
myRequest.Method = "POST";
myRequest.ContentType = "application/x-www-form-urlencoded";
myRequest.ContentLength = data.Length;

Stream myStream = myRequest.GetRequestStream();
myStream.Write(data, 0, data.Length);
myStream.Close();

HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.Default);
string content = reader.ReadToEnd();
string con = content.Substring(content.IndexOf("本站主数据") + 6, content.IndexOf("</li><li>参考数据一") - content.IndexOf("本站主数据") - 1);

this.lblViewIP.Text = con;
...全文
268 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
brood108 2008-11-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chenguang79 的回复:]
因为害怕有的IP没有得到结果或是错误就进行不下去了。所以才要进行异步操作。有没有兄弟会啊。
[/Quote]

如果仅仅是这个原因 我的同步也完全能够实现
就是整体加一下try
catch的时候不进行任何操作直接继续就可以啦
chenguang79 2008-11-26
  • 打赏
  • 举报
回复
我要的功能不是让他显示出来,要的是把转化后地址存入数据库中。
brood108 2008-11-25
  • 打赏
  • 举报
回复
HttpWebResponse 我一直在用,
但是丛来还没有用过异步的,
所以帮不了你
但是我可以告诉你,
同步肯定也没问题啊,
我们就没有用异步,网站的访问量也很大的
NqIceCoffee 2008-11-25
  • 打赏
  • 举报
回复
我觉得问题可以简化

可以自己去网上DOWN一个IP库

然后操作库就行了
takako_mu 2008-11-25
  • 打赏
  • 举报
回复
再頂一下。
wo594261 2008-11-25
  • 打赏
  • 举报
回复
不理解 帮顶希望高手出现
chenguang79 2008-11-25
  • 打赏
  • 举报
回复
没有兄弟会吗
gengwanshanreally 2008-11-25
  • 打赏
  • 举报
回复
顶,关注!
icerain911 2008-11-25
  • 打赏
  • 举报
回复
可以采用 WAITANY的方法来实现,你去GOOGLE上查一下【 WAITANY】有很多例子的
chinaxc 2008-11-25
  • 打赏
  • 举报
回复
^
|
|
chenguang79 2008-11-25
  • 打赏
  • 举报
回复
顶起来
winner2050 2008-11-25
  • 打赏
  • 举报
回复
只能用xmlhttp了,在ajax里面调用这些代码,由ajax完成最后在网页上面显示。
jiang_jiajia10 2008-11-25
  • 打赏
  • 举报
回复
帮顶
wanbangxinji 2008-11-25
  • 打赏
  • 举报
回复
我顶
wanbangxinji 2008-11-25
  • 打赏
  • 举报
回复
呵呵
wanbangxinji 2008-11-25
  • 打赏
  • 举报
回复
顶起来
chenguang79 2008-11-25
  • 打赏
  • 举报
回复
没有兄弟会吗
游北亮 2008-11-25
  • 打赏
  • 举报
回复
用什么异步,多线程就可以了
Thread
chenguang79 2008-11-25
  • 打赏
  • 举报
回复
怎么实现啊。
新溪-gordon 2008-11-25
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chenguang79 的回复:]
因为害怕有的IP没有得到结果或是错误就进行不下去了。所以才要进行异步操作。有没有兄弟会啊。
[/Quote]

这个不用异步也能实现啊。
加载更多回复(2)

62,046

社区成员

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

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

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

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