Frage

Ich hatte einen Test -Windows -Host (50 MB), der meine ASP.NET -Web -App servierte. Es funktionierte fast in Ordnung, aber nachdem sie auf 100 MB aktualisiert worden war, bekam ich häufige SQL -Server -Zeitüberschreitungsfehler, als ich versuchte, den SQL -Server aus Visual aus der Ferne zu verbinden Studio (dh in der lokalen Entwicklung meiner Website) habe ich versucht, die SQL -Befehle -Timeout manuell zu erhöhen, und ich denke, es war irgendwie gelöst, aber ich denke, meine Aktion ist nicht richtig, natürlich haben meine Site -Zuschauer kein Problem, die Seiten als Seiten anzusehen Alles funktioniert gut für endgültige Benutzer. Ich hatte nur Probleme, während ich die Website entwickelte und über VS2010 auf meine Remote -Datenbank zugegriffen habe. Sollte ich wirklich in Betracht ziehen, die Zeitüberschreitung zu erhöhen? Wie kann ich die Zeitüberschreitung global erhöhen? Sollte ich die Befehlszeit -Eigenschaft für jeden SQL -Befehl festlegen? Ist es möglich, es in Verbindungszeichenfolge zu erhöhen? Da ich derzeit einen gemeinsam genutzten Host verwende, kann ich die SQL Server Management Studio -Einstellungen nicht ändern

Bitte führen Sie mich zu diesem Problem, da ich in Bezug auf die Zeitüberschreitungseigenschaft kein gutes Gefühl habe! Danke

War es hilfreich?

Lösung

Ich glaube nicht, dass es eine einfache Möglichkeit gibt, dies global festzulegen - z. B. in der Verbindungszeichenfolge oder so.

Was Sie tun könnten (aber dies erfordert, dass Ihr Code auf diese Weise funktioniert), ist, dass Ihr Befehls -Timeout in die Konfiguration einbezieht:

<configuration>
   <appSettings>
      <add name="CommandTimeout" value="120" />
   </appSettings>
</configuration>

Und dann in Ihrem Code diesen Wert aus der Konfiguration lesen und für Ihre verwenden SqlCommand Klassen:

int commandTimeout = Convert.ToInt32(ConfigurationManager.AppSettings["CommandTimeout"]);

using(SqlCommand cmd = new SqlCommand(..(your SQL statement)..., connection))
{
    cmd.CommandTimeout = commandTimeout;
}

Damit können Sie die Auszeit zumindest optimieren, ohne Ihren Code ändern zu müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top