www.IT-Visions.de-Diskussionsforen (Version 2.1)
(Diese Seite wurde noch nicht auf das neue Layout umgestellt!)


Diese Foren stehen den Lesern unserer Bücher und allen anderen registrieren Benutzern dieser Website zur Verfügung. Wir würden uns freuen, wenn viele Nutzer dieser Website hier nicht nur Fragen stellen, sondern auch die Fragen anderer Nutzer beantworten. Diese Foren sind ein ehrenamtlicher, nicht-kommerzieller, unmoderierter Community-Dienst von www.IT-Visions.de. Wenn Sie kommerzielle Unterstützung für .NET/Scripting/PowerShell suchen, schauen Sie bitte auf unser Support-Angebot und unsere Schulungsangebote für Scripting und Schulungsangebote für .NET.



WCF Kommunikation mit deatlock
Autor:  Riecke
E-mail:  Antworten bitte nur in das Forum!
Datum:  11.08.2008 17:22:04
Subject:  WCF Kommunikation mit deatlock
Bezug zum Buch: 
Message:  Wir sind ein Unternehmen das Messsysteme entwickelt, die durch Software gesteuert und überwacht wird. Seit einiger Zeit Entwickelt wir ein neue Softwaregeneration die in .Net Programmiert wird und aus verschiedenen Komponenten (EXEen) besteht. Die Kommunikation zwischen diesen Komponenten soll per WCF erfolgen, wobei die Kommunikation bidirektional, asynchron und zum Teil Eventbasiert erfolgen soll. Das heißt konkret, wir haben ein Server und mehrere Clients. Die Clients melden sich beim Server an und abonnieren einige Daten, das bedeutet wenn sich die Daten ändern sollten, bekommen sie automatisch von Server die aktuellen zugeschickt aber sie können auch selbst die abonnierten Daten verändern. So sind alle Clients über die aktuelle Datenlage im Bilde. Soweit die Theorie.
Bei der Umsetzung stoßen wir auf ein deatlock, das durch folgende Konstellation entsteht. Wir verwenden einen Address-Kanal (net.tcp://localhost:8000/LayTec.EpiNet/DataHub) über den sich die Clients am Server anmelden und kommunizieren können. Um den Rückkanal zu erhalten implementierten wir ein CallbackContract. In beiden Interfaces (Server und Client) gibt es Funktionen mit dem Attribut „IsOnWay“ aber auch andere Funktionen die einen Rückgabewert liefern. Mit den zuletzt genannten Funktionen tritt die Blockierung auf, d.h., OnWay-Funktionen machen keine Probleme, bei einer Server-Client Kommunikation erste wenn eine „normale“ Funktion mit Rückgabewert aufgerufen wird. Im Buch lassen wir das die Verwendung des Attributs CallbackBehavior mit dem ConcurrencyMode Reentrant bzw. Multiple auf der Client-Seite helfen sollte, leider löste es nicht unser Problem. Wer und Was könnte uns hier helfen? Für jeden weiterführenden Hinweis sind wir dankbar.   

Antworten

  Zurück zum Forum



 .NET Framework-Programmierung -- C#, VB.NET, ASP.NET, u.a.
 WCF Kommunikation mit deatlock von Riecke  am 11.8.2008 5:22:04 PM


www.IT-Visions.de - Dr. Holger Schwichtenberg / 1998-2023