Ich möchte eine Datenbankverbindung zu meinem SQL Server schnell ausfallen lassen. Wie kann ich das Zeitlimit verringern? Ich habe versucht, Connection Timeout=1
in meine Verbindungszeichenfolge hinzuzufügen, aber dies scheint keinen Unterschied zu machen.Wie kann ich das Verbindungstimeout mit Entity Framework verringern?
Mit Connection Timeout=500
dauert es etwa 8 Minuten 30 Sekunden bis zum Timeout. Dies wird erwartet. Mit Connection Timeout=1
dauert es etwa 40 Sekunden bis zum Timeout, was viel länger ist als erwartet.
Ich fand die EntityConnection.ConnectionTimeout
Eigenschaft, aber es ist nur lesbar. Kann ich noch etwas tun, um diese Zeitüberschreitung zu verringern? Ist das ein Problem mit Entity?
UPDATE: Hier ist meine Verbindungszeichenfolge. Es dauert immer noch ~ 40 Sekunden bis zum Timeout.
<add name="KofaxAdminToolsEntities" connectionString="metadata=res://*/DB.Model.KofaxAdminTools.csdl|res://*/DB.Model.KofaxAdminTools.ssdl|res://*/DB.Model.KofaxAdminTools.msl;provider=System.Data.SqlClient;provider connection string="data source=MY_DATASOURCE;initial catalog=MY_CATALOG;persist security info=True;user id=MY_USER;password=MY_PASSWORD;MultipleActiveResultSets=True;App=EntityFramework;Connection Timeout=1"" providerName="System.Data.EntityClient" />
UPDATE 2: So entdeckte ich, dass das Timeout war ein tcp Timeout, kein SQL Connect Timeout. Wenn mein Rechner den Host erreichen könnte, hätte @marc_s Lösung funktioniert, da ich den Host nicht erreichen kann, kommt das TCP-Timeout ins Spiel. Kann jemand das Tcp-Timeout für eine SqlConnection
verringern?
Sie könnten es im Verbindungsstring angeben –
Könnten Sie bitte Ihre Verbindungszeichenfolge posten? – IronMan84
Ihr Update 2 ist korrekt. Auf meinem lokalen Entwickler habe ich einen Alias definiert (mit TCP). Timeout für Verbindungszeichenfolgen funktioniert, dauert aber länger als das, was Sie in der Verbindungszeichenfolge festgelegt haben, wenn ich den Server unter Verwendung von Alias anwähle. Wenn ich den Namen der Datenquelle in den tatsächlichen Namen (nicht den Alias) ändere, funktioniert Connection Timeout = 1 wie erwartet. Vielen Dank. –