Hallo zusammen,
Ich habe folgendes Problem:
Ich habe einen kleine COM+ Anwendung auf der Grundlage von ServicedComponent's entwickelt. In dieser Anwendung ist neben den DataAccess Components (wie beispielsweise "CustomerServices", ProductServices, etc) außerdem noch eine Session Komponente enthalten. Diese Session Komponente ist abgeleitet von ServicedComponent und IDBConnection. Stelle ich nun eine Verbindung mit Hilfe der Session Komponente her, klappt alles wunderbar. Ich kann also auf alle Components in der COM+ Anwendung zugreifen und damit Daten von der entsprechenden Datenbank abrufen, speichern oder aktualisieren.
Nun habe ich mir aber in den Kopf gesetzt, die Komponenten in der COM+ Anwendung in entsprechend kategorische Anwendungen aufzuteilen. Also z.B. werden die Components (SessionServices, AccountServices, etc) in die COM+ Anwendung "Identity and Access Management (IAM)" abgelegt; die Components (CustomerServices, ContactPersonServices, etc) in die COM+ Anwendung "Stakeholder Relationship Management (SRM), usw.
Folgendes geschieht nun seit dieser Änderung:
Ergo habe ich im Server einen TcpServerChannel und in der BusinessLogic einen TcpClientChannel eingebaut.
Nach dieser Änderung wird kein Fehler mehr ausgegeben, aber die Funktion beibt genau an der stelle stehen, andem ein IDbCommand mit der IDbConnection aus der Session einer anderen COM+ Anwendung erstellt wird.
Ich hoffe ich habs einigermaßen verständlich erklärt...
Hallo specialwork,
warum schreibst Du ServicedComponents?
Verteilte Transaktionen bekommst Du über System.Transactions und reinem Remoting genauso gut hin. Du kannst die Transaktionen dann sogar viel besser steuern.
ServicedComponents sind wegen der Notwendigkeit der Verteilung vom COM+ Proxy-Paketen problematisch.
Wo siehst Du die Vorteile von ServicedComponents für Dein Projekt?