C# 应用程序正在断开与Salesforce的连接,是否有任何方法在出现异常时重试?
我编写了一个应用程序,通过API连接到Salesforce.com,查询并更新数据。有时,像下面这样的方法将无法连接并导致整个应用程序停止运行: getMoreResults()中的异常: System.Net.WebException:基础连接已关闭:连接意外关闭。 失败时重试C# 应用程序正在断开与Salesforce的连接,是否有任何方法在出现异常时重试?,c#,.net,exception,exception-handling,C#,.net,Exception,Exception Handling,我编写了一个应用程序,通过API连接到Salesforce.com,查询并更新数据。有时,像下面这样的方法将无法连接并导致整个应用程序停止运行: getMoreResults()中的异常: System.Net.WebException:基础连接已关闭:连接意外关闭。 失败时重试qr=sfservice.queryMore(qr.Locator)执行的最佳方法是什么?理想情况下,在记录失败并停止程序执行之前,我想尝试三次。下面是一些伪代码,尽管我不确定它是否可行。非常感谢您的帮助 public
qr=sfservice.queryMore(qr.Locator)
执行的最佳方法是什么?理想情况下,在记录失败并停止程序执行之前,我想尝试三次。下面是一些伪代码,尽管我不确定它是否可行。非常感谢您的帮助
public QueryResult getMoreResults(QueryResult qr)
{
try
{
qr = sfservice.queryMore(qr.queryLocator);
}
catch (WebException ex)
{
bool success = false;
//Todo retry this query until it is either successful or has failed three times
for (int i = 0; i <= 3; i++)
{
//somehow set success boolean here
if(success == false)
{
qr = sfservice.queryMore(qr.queryLocator);
//log error and error attempt
}
else
{
//exit this method and return to normal flow?
}
}
}
catch(Exception ex)
{
//log the error
AppSettings.log.Error(ex.Message.ToString());
}
return qr;
}
公共查询结果getMoreResults(查询结果qr)
{
尝试
{
qr=sfservice.queryMore(qr.queryLocator);
}
捕获(WebException ex)
{
布尔成功=假;
//Todo重试此查询,直到查询成功或失败三次
对于(int i=0;i请尝试以下伪代码:
For i as Integer = 1 To 3
Try
qr = sfservice.queryMore(qr.queryLocator)
Exit For
Catch ex as Exception
End Try
Next i