Erkennen-Buchse trennen Sie in der WCF
Wir bauen eine WCF-server (.NET 4.0). Verwenden Sie nur net.tcp-transport.
Wenn ein client schließt die TCP-Verbindung, der server bekommt nicht behandelte CommunicationException, und beendet.
Q1. Wie gehe ich mit CommunicationException, damit der server nicht beendet werden und weiterhin im Dienste von anderen Kunden?
Q2. In der Prozedur, wie bekomme ich die SessionId der session, dass abgebrochen wurde? Ich brauche dies zu tun, einige bereinigen session-spezifischen Daten.
Vielen Dank im Voraus!
P. S. Die Verbindung wird über das Internet, so dass der socket geschlossen werden kann jederzeit, unabhängig davon, ob der client die Verbindung trennt ordnungsgemäß, oder nicht.
InformationsquelleAutor der Frage Soonts | 2011-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alle WCF-Kanal implementiert ICommunicationObject , bietet Veranstaltungen für die Kanal-Lebensdauer.
Sollten Sie hören die Bemängelt Veranstaltung
Die sessionId kann auch Sie zugegriffen werden wie immer von der OperationContext.Aktuelle Eigenschaft.
Wenn Ihr client-öffnen Sie den Kanal (auf dem ersten Betrieb), registrieren, um adäquate Veranstaltungen:
und:
InformationsquelleAutor der Antwort Eilistraee
InformationsquelleAutor der Antwort Renan Moreira