Geçtiğimiz günlerde Entity Framework'ün SQL Azure'da bağlantıları esnek hale getirmenin çok kolay bir yolu olduğunu öğrendim. Dapper'da bunu başarmanın önerilen bir yolu var mı?SqlAzure için Dapper esnek nasıl yapılır?
cevap
C# konumundaki Azure'a bağlantı sorunlarına karşı korunmanın en hızlı yolu Microsoft Transient Fault Handling Block'dur. ,
var retryStrategy = new FixedInterval(3, TimeSpan.FromSeconds(1));
var retryPolicy =
new RetryPolicy<SqlDatabaseTransientErrorDetectionStrategy>(retryStrategy);
retryPolicy.ExecuteAction(() => myConnection.Open());
FixedInterval
geri çekil politikasıdır bunu böylece:
SqlDatabaseTransientErrorDetectionStrategy
basitçe atılan istisnayla ilgili bir kontrol gerçekleştirir, yeniden denenmesi gereken bir bağlantı istisnası durumunda, eylemi tekrar yürütmek için RetryPolicy
bildirir. Bağlantı bir istisna değilse, eylem yürütülmez ve özgün istisna normal olarak atılır.
Dapper ile ne zaman kullanacağınıza gelince; Bağlantıları açmayı güvenli bir şekilde yeniden deneyebilir ve işlemleri okuyabilir, ancak iki veya daha fazla satırı silme riskiyle karşılaştığından, yazma işlemlerini tekrar hatırlamanız veya yeniden denemeniz gerekebilir.
Daha fazla ayrıntı here, bu kütüphane NuGet Package here olarak bulunabilir Windows Azure için algılama stratejilerini içerir.
- 1. Esnek bir ürün nasıl yapılır esnek kabın yüksekliğini doldurmaz?
- 2. Esnek uygulama geliştirirken konsol için bazı günlükler nasıl çıkış yapılır?
- 3. DataTable için Dapper
- 4. Dapper
- 5. Dapper
- 6. Dapper
- 7. Dapper
- 8. Enum özelliklerini doldurmak için Dapper kullanma
- 9. Parametreli sorgular için Kötü Dapper performansı
- 10. Boş bir parametreyi Dapper
- 11. Dinamik Burada dapper
- 12. Dapper dinamik dönüş türleri
- 13. Dapper: ConnectionString özelliği başlatılmadı
- 14. Dapper ve In Koşul
- 15. esnek textarea
- 16. Dapper: Sorgudan Sözlük listesi nasıl okunur?
- 17. Esnek sütunlardaki eşit yükseklikteki esnek öğeler
- 18. Dapper: Bir dizgeyi enum'a dönüştürme
- 19. Dapper Çoklu harita sonraki seviye
- 20. Esnek uygulama için proje dosyası oluşturma
- 21. Windows'da esnek bulmak için CMake'i kullanmaya başlama
- 22. Nasıl yapılır: 'byte []' için 'System.Data.Linq.Binary'
- 23. Omnisharp sözdizimi sözdizimi denetleyicisini daha esnek olmak için nasıl yapılandırabilirim?
- 24. Öğeleri daha küçük ekranlar için esnek kutuya nasıl sarın?
- 25. Bir esnek kutu öğesinin içeriğini dikey olarak ortalamak için nasıl
- 26. Esnek: Metin Alanı Değiştirme
- 27. düzeni ve esnek düzen
- 28. Esnek 3: Zamanlayıcı Durmuyor
- 29. Esnek bir öğe sarıldığında esnek kutu algılanabilir mi?
- 30. Esnek kutunun daralmasını önleme
Dapper sadece ADO.NET; Ne * tam * burada "dirençli ..." demek istiyorsun? farklı olarak ne yapmak istersiniz? –
Azure'un neden olduğu küçük bulut sorunlarından kurtulmak için Dapper'da yaptığım tüm Execute and Query çağrılarını istiyorum. Bu bağlantıyı takiben http://blogs.msdn.com/b/dotnet/archive/2013/10/17/net-framework-4-5-1-rtm-gt-start-coding.aspx sadece yeni sürüme geçebileceğim anlamına geliyor SQL Azure ortam ağına 4.5.1 ve ADO.Net bağlantılarımın altyapısı otomatik olarak esnek olacak mı? –
Hayır @JakobLithner yeterli olmayacak. Bu bağlantı sadece bağlantı bağlantılarını tartışır. Ana endişe olan geçici hatalardan bahsetmez. –