在线等 要向网页提交大量数据,但是我写的执行效率太慢,前两次还可以,但是第三次就不能执行了
在线等 要向网页提交大量数据,但是我写的执行效率太慢,前两次还可以,但是第三次就不能执行了
代码如下
  private void SendMsg(string sendMsg,string PostUrl)
         {
             Encoding encode = System.Text.Encoding.GetEncoding("gb2312");
             byte[] arrB = encode.GetBytes(sendMsg)
              HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(PostUrl);
             myReq.Method = "POST";
             myReq.ContentType = "application/x-www-form-urlencoded";
             myReq.ContentLength = arrB.Length;
             Stream outStream = myReq.GetRequestStream();  //执行到这一步就卡住了
             outStream.Write(arrB, 0, arrB.Length);
             outStream.Close();
             outStream.Dispose();
         }
我是用timer组件实现循环的,但是老师卡住,望高手指点~
没有多少分了,但是尽量多给~
------解决方案--------------------少传点数据
------解决方案--------------------少传点数据
------解决方案--------------------timer时间间隔放长一些试试
------解决方案--------------------GetRequestStream 同步访问造成线程阻塞(等待返回结果) 当然会卡
------解决方案--------------------您可以使用Ajax技术.XMLHttpRequest对象啊!
------解决方案--------------------MARK
------解决方案--------------------这个本来就很卡……
要想不是太卡的话,我的办法是在一个独立的线程里面操作,然后设置它的优先级为较低
------解决方案--------------------问题恐怕不是数据数量多少的问题,而是你的程序有小错误:
你上传的数据是gb2312编码,但是,
你发送的时候写的却是myReq.ContentType = "application/x-www-form-urlencoded";
这两种是不同的编码,特别是出现汉字的时候。
你的服务器有可能会在编码上报错。