我使用C#WebClient连接到Firebase REST API。示例:连接到Firebase的高负载WebClient错误rest api
using (WebClient webClient = new WebClient())
{
webClient.UploadString(restUrl, "PATCH", jsonDataString);
}
在它的伟大工程,但在某些时候,我开始得到这个错误(错误被立即抛出,没有延迟/超时)
System.Net.WebException: The underlying connection was closed:
A connection that was expected to be kept alive was closed by the server.
在许多要求中等负载在线服务器将出现此错误,但无法在测试环境中重现错误。 (同时存在实时错误)WebClient似乎正在使用保持活动连接,并在启动新请求时发现连接已关闭,并引发异常。
我该如何解决这个问题?
我可以尝试关闭保持活动,但这似乎效率低下。
可能会改变WebClient的某种超时(可能更短)修复它?它应该是什么样的价值?
添加异常处理重新尝试请求?
如果您共享代码的最小片段来重现问题,它会有所帮助。 – 2014-10-02 19:56:12
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-10-02 20:24:35
有很多原因会导致这种情况发生,比如服务器重新启动,服务器崩溃,网络暂时分区等等。您是否在问什么时候需要做什么? – 2014-10-02 20:27:07