मैंने एज़ूर डाटाबेस को लिखते समय घातीय बैकऑफ के साथ INSERT/UPDATE पुनः प्रयास तर्क को संभालने के लिए निम्न कोड लागू किया है।एसक्यूएल एज़ूर डाटाबेस रीट्री लॉजिक
static SqlConnection TryOpen(this SqlConnection connection)
{
int attempts = 0;
while (attempts < 5)
{
try
{
if (attempts > 0)
System.Threading.Thread.Sleep(((int)Math.Pow(3, attempts)) * 1000);
connection.Open();
return connection;
}
catch { }
attempts++;
}
throw new Exception("Unable to obtain a connection to SQL Server or SQL Azure.");
}
हालांकि मुझे अपने डेटाबेस के पढ़ने के लिए पुनः प्रयास तर्क लागू करने पर विचार करना चाहिए? या SqlCommand.CommandTimeout() विधि पर्याप्त होगा? मेरी के अधिकांश निम्नलिखित कोड का उपयोग कर की शुरूआत कर रहे हैं पढ़ता है:
Dim myDateAdapter As New SqlDataAdapter(mySqlCommand)
Dim ds As New DataSet
myDateAdapter.Fill(ds, "dtName")
यह जानना क्षणिक त्रुटियों किस तरह Azure इसलिए मैं अब जितना संभव हो उतना शमन करने के लिए कोशिश कर रहा हूँ के साथ एक उत्पादन वातावरण में हो जाएगा मुश्किल है।
अब मैं इसे देख रहा हूं। क्या टीएफएच ब्लॉक विस्तृत जानकारी प्रदान करेगा कि कनेक्शन क्यों गिरा दिया गया है? – QFDev