2009-05-28 4 views
1

Ich muss einige Datenbankaktualisierungen durchführen, von denen ein Teil eine COM + -Komponente (die für Transaktionen aktiviert wird) und andere durch Standard LINQ to SQL gehen, und ich möchte beide Updates zu einem Teil einer Transaktion.EnterpriseServicesInteropOption für .NET zu COM + Anruf

Ich beabsichtige, ein TransactionScope zu verwenden, um .NET- und COM + -Transaktionen zu synchronisieren. Nachdem ich jedoch die Dokumentation zu EnterpriseServicesInteropOption gelesen habe, bin ich immer noch unsicher bezüglich der Unterschiede zwischen Automatic und Full.

Kann ich Automatic in meinem Fall verwenden?

Ich spüre, kann ich eine RTFM Antwort bekommen, aber ich habe diesen Artikel unklar: http://msdn.microsoft.com/en-us/library/ms229974(VS.80).aspx

noch klarer Ressourcen Leute haben auch

Antwort

1

Der Unterschied würde geschätzt ist, dass Voll immer erstellen Ein COM + Transaktionskontext und Automatisch wird bei Bedarf einen erstellen.
Also, in einem Fall, dass ein COM + Transac benötigt wird, ist der primäre Unterschied, wenn der App, die Leistungseinbußen zu Beginn des Transac (mit Full) nehmen, oder in dem Moment benötigt wird (mit Automatik)

Wenn Sie sicher sind, dass Sie eine COM + Transaktion benötigen, gehen Sie auf Full, aber ... glauben Sie mir nicht:
Test! viel!!

+0

Automatic's Fähigkeit, "wenn nötig" zu erstellen, ist Teil dessen, was mir jedoch nicht klar ist. Willst du damit sagen, dass dies geschehen wird, sobald ich mein COM + -Objekt anrufe? Wird .NET bemerken, dass dies ein Transaction-fähiges COM + -Objekt ist und dass es eine aktive Transaktion gibt, und sagen "Ah! Eine EnterpriseServices-Transaktion wird jetzt benötigt", oder muss die aktuelle Methode, die ich im COM + -Objekt anrufe, erstellt werden eine eigene Transaktion, um für beide eine gemeinsame Transaktion zu realisieren. – MattH

+0

AFAIK, Wenn das COM + -Objekt als Need gekennzeichnet ist oder die Option "Bestehende Transaktion verwenden" verwendet, wird die Transaktion erstellt, sobald Sie das Objekt aufrufen. Ich kenne das genaue Timing nicht, aber, wie ich Ihnen sage, testen Sie es selbst –

+0

OK, danke :) Ich werde es natürlich testen, aber leider ist die COM + -Komponente noch nicht geliefert worden, daher mein Problem. – MattH

Verwandte Themen