Azure Active Directory'ye sertifika tabanlı kimlik doğrulaması kullanmak için birkaç .NET uygulaması kurmaya çalışıyorum ve daha sonra Access'e erişim yetkisi vermek için Active Directory'yi kullanıyorum. Sql Azure DB.Yenileme Sql Bağlantısı Azure Uzun ömürlü Entity Framework Bağlamında AD erişim belirteci
İçine çalıştırıyorum sorun uygulamanın bazı bölümleri çok uzun biraz yaşayabilecek bir DBContext kullanmalarıdır. ADAL kitaplığı, sona erdikten sonra 5 dakika içinde girerseniz erişim belirtecini yenilemeye çalışır. Sorun şu ki, bazı DbContexts'larım 5 dakikadan uzun süre yaşayabilir. Bu nedenle, DbContext'in ömrü boyunca erişim belirteci artık iyi değil ve SaveChanges'i denediğimde bir veritabanı bağlantısı istisnası alıyorum.
dışında üstlenmeden benim DbContexts Bunu düzeltmek için yapabileceğim bir şey var, 5 dakikadan daha sık yaşamak yapılır? Denedim
tek şey süresi dolmuş erişim belirteci durum yakalamak ve daha sonra yeni bir erişim belirteci olan bir yeni oluşturulan bir geçerli bağlantı yerini alabilecek Entity Framework bazı kanca bulmaktı. EF'i özel bir bağlantı fabrikasından geçirmeyi ve ardından süresi dolmuş bir belirti istisnası aldığımda yeniden denemek üzere bir Yürütme Stratejisi kullanmayı denedim. Bu benim için çalışmıyor, çünkü mevcut bağlantıyı özel bir yürütme stratejisinden değiştiremiyorum veya yeniden oluşturamıyorum.
Herhangi bir fikir büyük takdir.
Teşekkürler! Eğer gücün varsa
Bu, kötü bir fikir gibi geliyor. Bir bağlam, bir iş birimi için yaşamak için tasarlanmıştır, 5 dakika, aynı bağlamda çok sayıda iş yaptığınız gibi geliyor. Bu, bir bağlamda çok fazla şey yaparsanız yüksek bellek ayak izi ve düşük performans gibi diğer sorunlara neden olur. Benim tavsiyem, kodunuzu yeniden düzenlemektir (bu sorundan bağımsız olarak) –
Kimlik belgenizi hangi EF sürümünü kullandığınızı kesinleştirebilir misiniz? – GaelSa
Erişim belirtecini DbContext'e nasıl geçiriyorsunuz? DbContext uzun yaşıyor olsa bile, temel DbConnection uzun yaşamıyor, her sql sorgusu için açılır ve kapatılır. –