3 Stimmen

Erhöhen der Zeitüberschreitung für den Aufruf von LINQ to SQL Stored Procedure

Ich rufe eine gespeicherte Prozedur über Linq-to-SQL auf. Diese gespeicherte Prozedur verarbeitet einfach Daten, die ich bereits in eine andere Tabelle eingefügt habe. Bei großen Datensätzen erhalte ich eine Timeout-Ausnahme:

"Timeout expired. The timeout period elapsed prior to completion of the operation
 or the server is not responding."

Ich kann nichts tun, um die gespeicherte Prozedur zu beschleunigen - sie verschiebt nur Daten von einer Tabelle in eine andere. Ich möchte nicht unbedingt die Zeitüberschreitung in der Datenbankverbindungszeichenfolge erhöhen - dies ist das Einzige, was lange dauert.

Es handelt sich nicht um eine Webanwendung; die gespeicherte Prozedur wird von einem Hintergrund-Thread in einem normalen Windows-Dienst aufgerufen. Der Hintergrund-Thread wird durch einen WCF-Aufruf ausgelöst, und der Client fragt regelmäßig das Ergebnis des Hintergrund-Threads ab.

Leider dauert die gespeicherte Prozedur zu lange, und die GetDataContext().spRunStoredProcedure() Aufruf löst eine TimeoutException obwohl die gespeicherte Prozedur einwandfrei zu laufen scheint.

Kann ich die Zeitüberschreitung nur für den Aufruf dieser gespeicherten Prozedur erhöhen? Oder gibt es eine Möglichkeit, die gespeicherte Prozedur dazu zu bringen, "Ich bin noch nicht tot" zurückzugeben, um die Verbindung vor dem Timeout zu bewahren?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X