Ist SoapHttpClientProtocol Thread sicher?

8

Ich habe einen Web-Service-Proxy mit der Funktion "Web-Referenz hinzufügen" von VS 2008 (c #) erstellt.

Die generierte Klasse wird von SoapHttpClientProtocol

abgeleitet

Kann ich nur eine Instanz meines Proxy in einem Singleton speichern? Ist es threadsicher? Gibt es einen Status zwischen Anrufen, der mich daran hindern würde, dies zu tun?

    
Mike Gleason jr Couturier 17.12.2009, 14:40
quelle

4 Antworten

2

Nein. Es ist nicht threadsicher. Der Client muss sich im Status "Offen" befinden, um Anrufe zu ermöglichen. Ein einfaches Szenario, in dem ein Thread client.Close () ausführt, während ein anderer versucht, eine Methode aufzurufen, schlägt fehl.

    
Adrian Zanescu 18.12.2009, 16:35
quelle
10

MSDN sagt, dass SoapHttpClientProtocol ist threadsicher:

  

Threadsicherheit

     

Dieser Typ ist threadsicher.

Für eine andere Klasse wie System.Windows .Forms , die nicht Thread-sicher sind, sagt MSDN,

  

Threadsicherheit

     

Alle öffentlichen statischen Member (Shared in Visual Basic) dieses Typs sind   fadensicher. Es ist nicht garantiert, dass alle Instanzmitglieder Thread sind   sicher.

Hier ist ein Microsoft / MSDN-Mitarbeiter sagt (ohne Gewähr), dass es Thread-sicher ist:

  

Hallo Max,

     

Für den Webservice-Proxy sollte es meiner Meinung nach threadsicher sein wie .NET   generierte Proxy-Klasse wird vom "SoapHttpClientProtocol" abgeleitet   Klasse, die im Dokument als Thread-sicher markiert ist:

     

SoapHttpClientProtocol-Klasse

     

Ссылка

     

Daher sollte es sicher sein, es so lange im Multithread-Kontext zu verwenden   Da Sie manuell kein kontextsensitives Element in der hinzufügen   abgeleitete Proxy-Klasse. Denkst du das?

     

Mit freundlichen Grüßen

     

Steven Cheng

     

Microsoft MSDN Online-Supportleiter

     

Dieser Beitrag wird "WIE BESEHEN" ohne Gewährleistungen zur Verfügung gestellt   Rechte.

    
ChrisW 09.01.2014 21:15
quelle
1

Pro diesen Link: Ссылка

an der Unterseite unter "Thread-Sicherheit" heißt es, dass dieser Typ Thread-sicher ist. Ich weiß jedoch nicht, dass die Verwendung als Singleton Thread sicher ist.

    
Tony The Lion 17.12.2009 14:44
quelle
1

MSDN erwähnt nicht , dass es Thread-sicher ist:

  

Threadsicherheit

     

Dieser Typ ist threadsicher.

Die Klasse ist sicher, keine Erwähnung des Objekts.

Aber es ist sicher zu sagen, dass es nicht threadsicher ist - kein Objekt in der .NET-Bibliothek ist Thread-sicher.

(Wenigstens habe ich noch nie einen gesehen)

    
Ian Boyd 17.12.2009 14:46
quelle