Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A kapcsolatkészlet blokkolási időszaka el lett távolítva az Azure SQL-adatbázisokkal való kapcsolatok esetében.
További leírás
A .NET-keretrendszer 4.6.1-s és korábbi verzióiban, amikor egy alkalmazás átmeneti csatlakozási hibát tapasztal egy adatbázishoz való csatlakozáskor, a kapcsolati kísérlet nem próbálkozható meg gyorsan, mert a kapcsolatkészlet gyorsítótárazza a hibát, és 5 másodperctől 1 percig újra eldobja. További információ: SQL Server-kapcsolatkészletezés (ADO.NET). Ez a viselkedés problémás az Azure SQL-adatbázisokkal való kapcsolatok esetében, amelyek gyakran átmeneti hibákkal meghiúsulnak, amelyek általában néhány másodpercen belül helyreállnak. A kapcsolatkészlet blokkolási funkciója azt jelenti, hogy az alkalmazás hosszú ideig nem tud csatlakozni az adatbázishoz, annak ellenére, hogy az adatbázis elérhető. Ez a viselkedés különösen problémás az Azure SQL-adatbázisokhoz csatlakozó és néhány másodpercen belül renderelendő webalkalmazások esetében.
A .NET-keretrendszer 4.6.2-től kezdődően az ismert Azure SQL-adatbázisokhoz (*.database.windows.net, *.database.chinacloudapi.cn, *.database.usgovcloudapi.net, *.database.cloudapi.de) irányuló kapcsolatmegnyitási kérelmek esetében a rendszer nem gyorsítótárazza a kapcsolatmegnyitási hibákat. Minden más csatlakozási kísérlet esetén a kapcsolatkészlet blokkolási időszaka továbbra is érvényben marad.
Hatás
Ez a módosítás lehetővé teszi, hogy a kapcsolatmegnyitási kísérletek azonnal újrapróbálkozzanak az Azure SQL-adatbázisok esetében, ezáltal javítva a felhőalapú alkalmazások teljesítményét.
Kockázatcsökkentés
A változás által hátrányosan érintett alkalmazások esetében a kapcsolatkészlet blokkolási időszaka az új SqlConnectionStringBuilder.PoolBlockingPeriod tulajdonság beállításával konfigurálható. A tulajdonság értéke az enumerálás egyik System.Data.SqlClient.PoolBlockingPeriod tagja, amely három érték valamelyikét veheti fel:
Az előző viselkedés visszaállítható a PoolBlockingPeriod tulajdonság PoolBlockingPeriod.AlwaysBlockbeállításával.