winform程序中httpwebrequest请求在第三次请求的时候离奇timeout

reejayyang 2010-01-04 02:33:53
我把一段xml通过http post给一个服务器,在前两次post的时候都会成功,也会返回正确的结果,但是每到第三次post的时候就会出错,说是timeout了,第三次的发送的内容格式和前两次都是一样,不明白为什么偏偏第三次就失败。请高手解答,下面是我的代码:

public HttpWebResponse HttpPost(XmlDocument postInfo)
{
HttpWebRequest objHttpWebRequest;
HttpWebResponse objHttpWebResponse = null;
Stream objRequestStream = null;
//Creates an HttpWebRequest for the specified URL.
objHttpWebRequest = (HttpWebRequest)WebRequest.Create(mEndPoint);

try
{
//---------- Start HttpRequest
objHttpWebRequest.Method = "POST";
objHttpWebRequest.ContentType = "application/xml; encoding=utf-8 ";
objHttpWebRequest.KeepAlive = true;
objHttpWebRequest.Accept = "application/xml";
//objHttpWebRequest.AutomaticDecompression = DecompressionMethods.;
objHttpWebRequest.Headers.Add(RestConnection.SESSION_ID, mSessionId);
objHttpWebRequest.Timeout = mTimeout;//Timeout.Infinite;
//Set HttpWebRequest properties
if (postInfo != null)
{
byte[] bytes;
bytes = System.Text.Encoding.ASCII.GetBytes(postInfo.InnerXml);
objHttpWebRequest.ContentLength = bytes.Length;
objRequestStream = objHttpWebRequest.GetRequestStream();//第三次就会在这里抛错说是timeout了

//Writes a sequence of bytes to the current stream
objRequestStream.Write(bytes, 0, bytes.Length);
//Close stream
objRequestStream.Close();
}

objHttpWebResponse = (HttpWebResponse)objHttpWebRequest.GetResponse();

//---------- Start HttpResponse
if (objHttpWebResponse.StatusCode != HttpStatusCode.BadRequest)
{
return objHttpWebResponse;
}
}
catch (WebException we)
{
//TODO: Add custom exception handling
throw new Exception(we.Message);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
objRequestStream.Close();
objRequestStream = null;
objHttpWebRequest = null;
}
return null;
}
...全文
275 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
彖爻之辞 2011-11-08
  • 打赏
  • 举报
回复
objHttpWebRequest.Headers.Add(RestConnection.SESSION_ID, mSessionId);
中的值是什么意思,如何获取
reejayyang 2010-01-05
  • 打赏
  • 举报
回复
我找到解决的方法了,在上一次调用请求之后,调用httpwebrequesta.abort()就好使了。
内容概要:本文围绕VSG构网型逆变器与跟网型逆变器之间的双向平滑切换控制策略展开深入研究,系统探讨了GFL(跟网型)与GFM(构网型)逆变器在并网与孤岛运行模式下的切换机制。基于Simulink平台构建仿真模型,详细实现了切换过程的控制逻辑设计、系统稳定性保障及动态响应性能优化等关键技术环节,重点解决模式切换过程可能出现的电流冲击、频率电压波动等问题,确保微电网在不同运行工况下的连续稳定运行。研究还融合事件触发机制与分布式二次控制策略,实现频率和电压的无差调节,并提升通信资源受限或遭受DoS攻击等异常情况下的系统弹性与协同控制能力,适用于高比例新能源接入场景下的微电网灵活运行需求。; 适合人群:具备电力电子、自动控制、微电网与新能源系统等相关专业背景,从事电力系统仿真、分布式能源控制研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①深入理解构网型与跟网型逆变器的运行机理及切换控制原理;②设计并仿真验证GFL/GFM模式间的双向平滑切换策略;③应用于微电网分层控制、孤岛检测与无缝切换、二次频率电压恢复等实际工程场景;④支撑IEEE Transactions等顶级期刊论文的复现、科研项目开发及创新性课题研究。; 阅读建议:建议结合提供的Simulink仿真模型同步学习,重点关注模式切换判据、控制架构切换逻辑、事件触发条件设定及控制器参数整定方法,配合网盘的完整代码与模型资源进行仿真调试,以深入掌握其实现细节并开展进一步的优化与拓展研究。
内容概要:本文提出了一种基于自适应无迹卡尔曼滤波(AUKF)的三相配电网动态状态估计方法,旨在解决三相不平衡配电网在量测噪声统计特性未知或时变情况下的状态估计难题。通过构建三相动态状态估计模型,结合无迹变换处理系统非线性,利用新息序列在线修正过程与观测噪声协方差矩阵,有效提升了状态估计的鲁棒性与精度。研究完整实现了算法的Matlab代码,涵盖系统建模、滤波迭代、噪声自适应调整等关键环节,为复杂配电系统提供了可靠的实时状态感知手段。; 适合人群:具备电力系统分析、现代控制理论基础及Matlab编程能力的研究生、科研人员以及从事智能配电网、状态估计相关工作的电力行业技术人员。; 使用场景及目标:①应用于主动配电网、高比例分布式能源接入等复杂运行环境下的实时动态状态监控;②为故障诊断、电压调控、负荷预测等高级应用提供高精度状态数据支撑;③作为科研与教学非线性滤波算法开发、状态估计仿真实践的参考范例。; 阅读建议:建议读者结合文提供的Matlab代码,逐模块分析算法实现流程,重点理解无迹变换机制与噪声协方差自适应更新策略,并可通过改变网络拓扑、噪声水平等参数进行仿真实验,深入掌握AUKF在实际工程的性能表现与优化方向。
内容概要:本文研究基于分布式模型预测控制(DMPC)的多个固定翼无人机一致性控制问题,通过构建固定翼无人机的非线性动力学模型,结合分布式控制架构实现多无人机系统在复杂环境下的状态一致性与协同飞行。文系统阐述了模型预测控制算法的设计流程,引入一致性协议以确保编队稳定性,并充分考虑固定翼无人机的强非线性、姿态耦合特性以及通信延迟、局部信息交互受限等实际约束条件。通过Matlab进行仿真验证,展示了多无人机在不同初始条件下实现轨迹协同、速度同步与队形保持的有效性。研究重点在于提升控制系统的鲁棒性、可扩展性与实时性,为复杂动力学系统下的多智能体协同控制提供了可行的技术路径。; 适合人群:具备自动控制理论、飞行器动力学、多智能体系统或优化控制基础的研究生、科研人员及从事无人机系统开发的工程技术人员。; 使用场景及目标:①应用于多无人机协同编队飞行、区域覆盖监测、灾害救援与军事侦察等实际任务场景;②为分布式控制算法在非线性、受限通信条件下的多智能体系统提供算法设计与仿真实现参考;③推动DMPC理论在航空航天领域的一致性控制与自主协同方向的发展; 阅读建议:建议读者结合提供的Matlab代码深入理解系统建模、代价函数构建、分布式优化求解及一致性协议集成等关键环节,重点关注算法在非线性系统的收敛性与鲁棒性表现,可进一步拓展至异构无人机协同、动态避障或通信拓扑时变等更具挑战性的研究方向。

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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