SOAP Request Timeout in Console App (.NET)
-
19-08-2019 - |
Frage
Ich habe eine SOAP-Web-Service zu einer Konsole App und jedes Mal, wenn ich eine bestimmte machen rufen Sie das Timing auf mich aus. Andere Anrufe funktionieren. Wie erhöhe ich die Timeout-Länge in einer Konsolenanwendung? Scheint, wie es zur Zeit etwa 90 Sekunden.
Danke.
Lösung
Sie können den Timeout-Web-Service-Client stellen Sie die Timeout Eigenschaft. Der Standardwert ist 100.000 Millisekunden (100 Sekunden).
Zum Beispiel:
MyWebServices.Webservice svc = new MyWebServices.Webservice();
// Set timeout to 200 seconds
svc.Timeout = 200000;
svc.DoWork();
Andere Tipps
Dies sollte Ihnen ermöglichen, den Timeout zu ändern, und dann überprüfen, ob es geändert wurde.
public int Timeout {get; einstellen; }
[Transaktion (Timeout = 30)] public class TransactionAttribute_Timeout: ServicedComponent { public void TimeoutExample () { // Holen Sie sich das Transaction auf die Klasse angewendet. Transaction attribute = (Transaction) Attribute.GetCustomAttribute ( this.GetType (), typeof (Transaction), false);
// Display the current value of the attribute's Timeout property.
Console.WriteLine("TransactionAttribute.Timeout: {0}",
attribute.Timeout);
// Set the Timeout property value of the attribute to sixty
// seconds.
attribute.Timeout = 60;
// Display the new value of the attribute's Timeout property.
Console.WriteLine("TransactionAttribute.Timeout: {0}",
attribute.Timeout);
}
}