WCF Verbindung zw. Service und GUI in C#

OP #4841144
Hallo zusammen,
hab einen Windows-Service und eine GUI-Application.

Die Gui baut beim Start eine Verbindung zum Service auf.

Der Service aktualisiert die GUI, bzw. Stößt ein Polling an.

Dies passiert alle 1000ms und läuft so weit.

Igrendwann wird die GUI nicht mehr aktualisiert, klickt man auf die GUI 
ist diese langsam und reagiert nicht mehr richtig.

Weiß jemand wie man die WCF-Verbindung überwachen kann und im Fall eines 
Verbindungsabbruchs die Verbindung neu aufbauen kann?

Sprich die GUI merkt das keine Daten mehr vom Service kommen und 
initialisert eine neue Verbindung.
Gast #4843096
Hallo Sven

Hast du schon mal den Speicherverbrauch deiner beiden Komponenten 
angeschaut? Vielleicht ist der Arbeitsspeicher nach einer Zeit am Ende?

Mfg Sven
OP #4843622
Hi,
nein der Speicher scheint nicht das Problem zu sein...

Bin da leider noch nicht wirklich weiter gekommen.

Wie gesagt die ganze Verbindung gescheit zu überwachen geht irgendwie 
auch nicht, die entsprechenden Ereignisse lösen nicht aus.

Das ganze geht schon los, das ich auf Clientseite nicht warten kann, bis 
der Server da ist.

client = new MyContractClient(this, new NetNamedPipeBinding(), new 
EndpointAddress("net.pipe://localhost/MyApp/ServicePipe"));
            client.InnerChannel.Faulted += Channel_Faulted;
            client.InnerDuplexChannel.Faulted += Channel_Faulted;
            pipeProxy = client.ChannelFactory.CreateChannel();

Die Objekte sind immer im State Created, egal ob einen Verbindung zum 
Server besteht oder nicht.

Das Einzige was ich herausgefunden habe, ist das vom Service irgendwann 
keine Callbacks mehr an die GUI mehr zu gehen scheinen. Warum das meine 
GUI allerdings unbenutzbar macht, keine Ahnung.

Beende ich den Service, dann hängt die GUI nicht, obwohl die Verbindung 
zum Servce ja auch weg ist.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.