您的位置:首页 > 理论基础 > 计算机网络

httpwebresponse 异步: request.BeginGetRequestStream 报错! 无法发送具有此谓词类型的内容正文。

2008-11-07 10:12 921 查看
request.BeginGetRequestStream 报错! 无法发送具有此谓词类型的内容正文。

注意此方法:

//////request.Method = "GET"; //若不为异步,则调用此方法。

request.Method = "POST"; //若为异步,则调用此方法。

try
{
request = WebRequest.Create(string.Format(getUri, webURI, betInfor.Row.PlayID, uID, pType, gNum)) as HttpWebRequest;

//////request.Method = "GET"; //若不为异步,则调用此方法。

request.Method = "POST"; //若为异步,则调用此方法。
request.KeepAlive = true;
request.Timeout = 400;
if (betInfor.PlayMode == PlayMode.走)
request.Referer = string.Format("{0}app/member/BK_browse/body_browse.php?uid={1}&rtype=re&langx=zh-cn&mtype=3&delay=", webURI, uID);
else if (betInfor.PlayMode == PlayMode.单)
request.Referer = string.Format("{0}app/member/BK_browse/body_browse.php?uid={1}&rtype=r&langx=zh-cn&mtype=3&delay=", webURI, uID);
request.UserAgent = "MSIE 6.0";

//******************************************异步调用
request.BeginGetRequestStream(new AsyncCallback(RequestCallBack), request);
allDone.WaitOne();

response = (HttpWebResponse)request.GetResponse();
stream = response.GetResponseStream();
Thread.Sleep(1);
StreamReader streamRead = new StreamReader(stream, big5);
result = streamRead.ReadToEnd();
stream.Close();
streamRead.Close();
//**********************************************************
//////response = request.GetResponse() as HttpWebResponse;
//////stream = response.GetResponseStream();
//////StreamReader sr = null;
//////sr = new StreamReader(stream, big5);
//////while ((count = sr.Read(leftBuffer, 0, leftBuffer.Length)) > 0)
//////{
////// String str = new String(leftBuffer, 0, count);
////// leftSb.Append(str);
//////}
//////sr.Close();

#region 提取数据
//////result = leftSb.ToString();
if (result.IndexOf("中") != -1 || betInfor.PlayMode == PlayMode.单)
{

}
#endregion
}
catch (Exception e) { throw new Exception("获取左边出现异常" + result + e.Message + "," + e.TargetSite + "," + e.InnerException); }
finally
{
if (response != null) response.Close();
if (request != null) request.Abort();

leftSb.Remove(0, leftSb.Length);
}
if (!string.IsNullOrEmpty(gmin_single) && ((int)((betInfor.Odds + 0.0001) * 1000)) % 10 == 0)//小数第3位有数字为会取消的单
{

}
else betInfor.Odds = 0;
time2 = Environment.TickCount;
betInfor.GetTime = time2 - time1;
return result;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐