110,539
社区成员
发帖
与我相关
我的任务
分享
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = _webCookieContainer;
request.Timeout = 30000;
request.ReadWriteTimeout = 30000;
request.UserAgent = _userAgent;
request.Referer = _referer;
if (proxy != null) request.Proxy = proxy;
if (!_keepAlive)
{
request.KeepAlive = false;
request.ProtocolVersion = HttpVersion.Version11;
}
var response = (HttpWebResponse)request.GetResponse();
var recvStream=response.GetResponseStream();
if (recvStream != null)
{
var reader = new StreamReader(recvStream, enc);
result = reader.ReadToEnd();
}
_lastUrl = response.ResponseUri.ToString();
response.Close();
request.Abort();
}
catch (Exception ex)
{
result = ex.Message;
}
[quote=引用 楼主 skywshing 的回复:] 应用场景: 应用程序提交订单至供货商api接口,出现了提交订单请求执行一次,供货商服务端收到2笔相同订单的情况. 经过查阅相关资料,猜测为TCP重传导致.这是应用程序无法控制的.
经过查阅相关资料,猜测为TCP重传导致.这是应用程序无法控制的.
这个时候http底层会自动重发请求(注意是http底层,所以应用程序不知道发送了多少次请求)
应用场景: 应用程序提交订单至供货商api接口,出现了提交订单请求执行一次,供货商服务端收到2笔相同订单的情况. 经过查阅相关资料,猜测为TCP重传导致.这是应用程序无法控制的.