如何重新发送“失败”邮件?WebRequest
本文关键字:邮件 WebRequest 失败 何重新 | 更新日期: 2023-09-27 18:02:38
我发送POST和GET WebRequest,应该支持较长时间的互联网关闭。这个想法是将失败(超时)的webrequest排队,并尝试定期重新发送它们,直到互联网再次启动,所有排队的webrequest都被发送。
然而,我似乎不能只是重用旧的WebRequest。我需要重新设置吗?
IAsyncResult result = request.BeginGetResponse (o => {
callCallback (o);
}, state);
设置请求时使用:
var request = HttpWebRequest.Create (String.Format (@"{0}/{1}", baseServiceUrl, path));
request.Method = "GET";
request.ContentType = "application/xml; charset=UTF-8";
request.Headers.Add ("Authority", account.Session);
return request;
可以正常工作。但是在超时(和request.Abort ();
)之后,在同一个webrequest上调用BeginGetResponse()
只是冻结。
不能在同一个HttpWebRequest
上多次调用BeginGetResponse()
。我不确定这是否支持。net,但这是不可能的与Mono的实现(并不是什么容易改变)。
参见我可以重用HttpWebRequest而不从服务器断开连接?-底层网络连接将被重用