Domanda

Avevo un host di Windows di prova (50 MB) che serviva la mia app Web ASP.NET, ha funzionato quasi bene, ma dopo che è stato aggiornato a 100 MB, ho ottenuto frequenti errori di timeout del server SQL quando ho provato a connettere in remoto SQL da Visual Studio (cioè nello sviluppo locale del mio sito), ho cercato di aumentare manualmente il timeout dei comandi SQL e penso che sia stato in qualche modo risolto, ma penso che la mia azione non sia giusta, ovviamente i miei spettatori del sito non hanno problemi a visualizzare le pagine come Tutto funziona bene per gli utenti finali, ho avuto problemi solo durante lo sviluppo del sito e l'accesso al mio database remoto tramite VS2010, dovrei davvero prendere in considerazione l'aumento del timeout? Come posso aumentare a livello globale il timeout? Devo impostare la proprietà CommandTimeout per ogni comando SQL? È possibile aumentarlo nella stringa di connessione? Naturalmente dato che sto attualmente utilizzando un host condiviso non posso modificare le impostazioni dello studio di gestione del server SQL

Per favore guidami su questo problema perché non ho una buona sensazione per quanto riguarda la proprietà timeout! Grazie

È stato utile?

Soluzione

Non credo che ci sia un modo semplice per impostarlo a livello globale, ad esempio nella stringa di connessione o qualcosa del genere.

Quello che potresti fare (ma questo richiede che il tuo codice funzioni in quel modo) è mettere il timeout di comando nella configurazione:

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

E poi nel codice, leggi quel valore dalla configurazione e usalo per il tuo SqlCommand classi:

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

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

Con questo, potresti almeno modificare il timeout senza dover cambiare il codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top