Hallo,
ich habe derzeit ein Problem mit dem erstellen eines Objektes.
Die Klasse (AXLAPIService) wurde aus einem WSDL generiert. Der Code der Datei ist ca 10MB groß und umfasst 281665 Zeilen generierten codes.
Im Anhang findet ihr die Klasse um euch ein Bild machen zu können.
Das Problem: Das Erstellen eines Objektes dauert ~1 Minute. Nachdem es sich hier um ein Programm für User handelt habe ich einstweil die Erstellung des Objektes in einen neuen Thread verschoben und lasse einen Splashscreen anzeigen bis dieser Prozess fertig ist.
Der Konstruktor der Klasse ist in eine 2te Datei ausgelagert aus Übersichtsgründen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| public partial class AXLAPIService {
public AXLAPIService(string ccmIp, string user, string password) { this.Url = "https://" + ccmIp + ":443/axl/"; this.Credentials = new System.Net.NetworkCredential(user, password); }
public AXLAPIService() { } } |
Wie ihr hier sehen könnt macht der Konstruktor (in beiden Varianten) nichts rechentintensives. Es ist wirklich das eigentliche erstellen des Objektes was so eine lange Ladezeit verursacht.
So jetzt zu meiner Frage.
Kann man die Erstellung der Klasse irgendwie Beschleunigen?
Ich hätte dazu momentan nur folgende Idee:
die Klasse in mehrere Klassen aufteilen die Alle von System.Web.Services.Protocols.SoapHttpClientProtocol erben und diese dann jeweils als eigene Objekte in einem eigenen Thread erstellen. Allerdings weiß ich nicht ob das mit dem XMLSerializer und der SOAP API dann noch hin haut.
//edit
Thread Titel überarbeitet