Er is een time-out voordat de netwerkhardware de time-out van de verbinding meldt aan de netwerkstuurprogramma's, die op hun beurt de programma's op de hoogte stellen die wachten op netwerk-IO. U kunt time-outs van de transportlaag verifiëren via telnet-servernaam 1433 (ervan uitgaande dat uw sql-server luistert op poort 1433).
Maar 3 seconden is veel te kort voor een proces om de netwerk-API's te initialiseren (ervan uitgaande dat uw web-app zich in zijn eigen applicatiepool bevindt), een verzoek te verzenden en te wachten tot de hardware een time-out heeft. Het updaten van BIOS/firmware/driver zal de responstijd waarschijnlijk niet zo veel verkorten.
Het is beter om de verbinding asynchroon uit te voeren. ik raad niet aan om EndInvoke te gebruiken om de asynchrone oproep te beëindigen, omdat ongelukkige gebruikers mogelijk nog steeds 3 volle seconden moeten wachten om een reactie te zien wanneer de database niet beschikbaar is. Misschien is een telefoontje van Ajax beter. Als u veel gebruikers heeft die constant uw website bezoeken, wilt u misschien het resultaat van de verbindingscontrole in de cache opslaan en bijwerken op een manier die zinvol is voor uw gebruikers.