Problembehandlung für COM+ CRM

Im Folgenden finden Sie die häufigsten Probleme, die bei der Entwicklung und Verwendung von COM+ CRM auftreten:

  • Ereignisprotokollmeldungen. Wenn für die CRM-Serveranwendung ein schwerwiegender interner Fehler auftritt, tritt ein Fehler auf (beenden Sie den CRM-Serveranwendungsprozess), und es wird eine Meldung in das Windows Ereignisprotokoll geschrieben. Wenn Probleme auftreten, lesen Sie das Ereignisprotokoll.

  • Ausnahmen vom CRM-Kompensator. Die CRM-Infrastruktur erstellt den CRM-Kompensator und übergibt ihm die Transaktionsergebnisbenachrichtigungen und die vom CRM-Worker geschriebenen Protokolldatensätze. Wenn der CRM-Kompensator einen Fehler zurückgibt oder eine Ausnahme auslöst, wird er von der CRM-Infrastruktur abgefangen und verursacht ein Failfast. Eine Meldung im Ereignisprotokoll gibt an, dass eine Ausnahme vom CRM-Kompensator empfangen wurde. Es ist möglich, zu erzwingen, dass diese Ausnahmen ignoriert werden. (Siehe COM+ CRM Registry Einstellungen.) Ausnahmen vom CRM-Kompensator bedeuten höchstwahrscheinlich ein Problem in der jeweiligen CRM-Kompensatorkomponente und nicht in der CRM-Infrastruktur selbst.

  • Wiederherstellungsablaufverfolgung. Die Wiederherstellungsablaufverfolgung kann sehr nützlich sein, um Probleme während der Wiederherstellung zu ermitteln. Informationen zum Aktivieren der Wiederherstellungsablaufverfolgung finden Sie unter COM+ CRM Registry Einstellungen.

  • Der Versuch, mit dem CRM auszuführen, ist nicht aktiviert. Es reicht nicht aus, die CRM Worker- und CRM-Kompensatorkomponenten einfach in der COM+-Serveranwendung zu platzieren. Die Unterstützung für CRMs muss speziell für die spezifische COM+-Serveranwendung aktiviert werden, indem auf der Registerkarte Erweitert der Eigenschaftenseiten der COM+-Anwendung die Option Kompensierende Ressourcen-Manager aktivieren verwendet wird. (Weitere Informationen finden Sie unter Konfigurieren von COM+ CRM-Komponenten.) Wenn versucht wird, ein CRM in einer Serveranwendung zu verwenden, für die crm nicht aktiviert ist, wird ein Fehlercode an den CRM-Worker zurückgegeben.

  • Es wird versucht, CRMs in Clientprozessen auszuführen. CRMs werden nicht in Clientprozessen ausgeführt. Sie müssen in einem COM+-Serveranwendungsprozess ausgeführt werden. CRM-Komponenten können zur Verwendung durch mehrere COM+-Serveranwendungen in einem Bibliothekspaket platziert werden, sind aber nicht für die Verwendung in Clientprozessen verfügbar. Der Versuch, die CRM-Schnittstellen innerhalb eines Clientprozesses zu verwenden, gibt einen Fehlercode an den CRM-Worker zurück.

  • Wiederherstellung wird ausgeführt. Die Wiederherstellung wird gestartet, wenn eine CRM-Serveranwendung gestartet wird. Die Wiederherstellung erfolgt jedoch im Hintergrund während der normalen Verarbeitung der CRM-Serveranwendung. Der CRM-Worker kann vor Abschluss der Wiederherstellung erstellt werden. CRMs können erst in einem CRM-Serveranwendungsprozess verwendet werden, nachdem die Wiederherstellung erfolgreich abgeschlossen wurde. In diesem Fall erhält der CRM-Worker beim Versuch, den CRM-Kompensator zu registrieren, den Fehlercode "Wiederherstellung wird ausgeführt". Der CRM-Worker sollte abfragen oder anderweitig verzögern, bis die Wiederherstellung abgeschlossen ist. Die Wiederherstellungszeit ist für einen bestimmten CRM-Typ spezifisch, und dies sollte beim Entwerfen des CRM berücksichtigt werden. Wiederherstellungen mit langer Dauer sind nicht wünschenswert.

  • Sicherheit in der CRM-Protokolldatei. Wenn der Zugriff auf die CRM-Protokolldatei verweigert wird, finden Sie unter Überlegungen zur SICHERHEIT von COM+ CRM eine Beschreibung, wie die Sicherheit für die CRM-Protokolldatei festgelegt wird.

  • Unsichere Transaktionen. In seltenen Fällen kann eine DTC-Transaktion in den unsicheren Zustand übergehen. Das heißt, der DTC kann das Transaktionsergebnis nicht bestimmen. In diesen Fällen verwaltet das CRM während der Wiederherstellung die Protokolldatensätze für diese Transaktion in der CRM-Protokolldatei. Wenn die unsichere Transaktion vom DTC aufgelöst wurde, wird die Transaktion durch eine weitere CRM-Wiederherstellung abgeschlossen.

  • Erstellung und Veröffentlichung von CRM-Kompensatoren. Wenn ein CRM-Kompensator zum ersten Mal von einem CRM-Worker registriert wird, wird er von der CRM-Infrastruktur erstellt und abgefragt, um zu bestimmen, welche crm-Kompensatorschnittstellen unterstützt werden. Sie wird dann sofort freigegeben. CRM-Kompensatoren müssen die Fähigkeit unterstützen, erstellt und freigegeben zu werden, ohne dass dazwischen liegende Methodenaufrufe vorhanden waren. Wenn der CRM-Kompensator nicht ordnungsgemäß erstellt werden kann, möglicherweise aufgrund einer falschen COM-Registrierung, oder wenn er nicht mindestens eine der richtigen CRM-Kompensatorschnittstellen unterstützt, wird ein Fehlercode an den CRM-Worker zurückgegeben.

COM+ Compensating Resource Manager Concepts