Ich habe einen Webjob, der eine lang laufende gespeicherte Prozedur aufruft, die das Timing aushält. Kann mir bitte jemand helfen?Azure - WebJob Timeout beim Aufruf der Stored Procedure
Der Web-Job wird mit dem folgenden Code aufgerufen:
static void Main()
{
ApplicationDbContext context = new ApplicationDbContext();
context.Database.CommandTimeout = 6000;
context.PopulateJobTypeDescendants();
}
Das Verfahren nach Kontext (ApplicationDbContext), unten gezeigt wird:
public void PopulateJobTypeDescendants()
{
Database.ExecuteSqlCommand("PopulateJobTypeDescendants");
}
Die folgende Ausnahme wird ausgelöst, wenn der Web-Job Lauf. Wir haben gelesen, dass es mit den Plan/DTUs auf dem Server in Verbindung gebracht werden könnte, also gingen wir von S1 -> S3, dies behob das Problem immer noch nicht und der Prozess bombardierte nach 45 Sekunden. Die seltsame Sache ist, dass, wenn ich Verbindung zu azur SQL-db von SSMS und rufen Sie die gespeicherte Prozedur funktioniert es gut.
[2016.07.11 22.25.02> e2cf50: ERR] Unbehandelte Ausnahme: System.Data.SqlClient.SqlException: Timeout abgelaufen. Die Zeitüberschreitung Zeitraum vor Abschluss der Operation abgelaufen oder der Server reagiert nicht auf . Dieser Fehler ist bei dem Versuch aufgetreten, eine Verbindung mit dem Routingziel herzustellen. Die Dauer beim Versuch, eine Verbindung zum ursprünglichen Server herzustellen, war - [Voranmeldung] Initialisierung = 14; Handshake = 26; [Login] Initialisierung = 0; Authentifizierung = 0; [Post-Login] abgeschlossen = 1; ---> System.ComponentModel.Win32Exception: Das Warten Operation timed out
Die Verbindungszeichenfolge ist unten dargestellt:
<add name="TempsContext" connectionString="Server=tcp:[XXX],1433;Database=temps_testing;User ID=[XXX];Password=[XXX];Trusted_Connection=False;Encrypt=True;Connection Timeout=600;" providerName="System.Data.SqlClient" />